Code VBA ou formule pour copier des cellules avec mise forme

Bonjour le forum,

J'ai un classeur Excel composé de plusieurs onglets : Notice, Sortie, Partenaires, Arcachon, Gujan, Pessac.

Dans l'onglet Partenaires, j'ai un ensemble de cellules (DM115:P134) avec des valeurs et une mise en forme (couleur de remplissage de cellule, qui peut être de couleur différente, pour chacune de ces cellules).

Le contenu des ces cellules est copié dans les autres onglets (sauf Notice et Sortie), dans les cellules (N2:Q21).

Quand j'applique la formule "=DM115" dans la cellule N2, de l'onglet Arcachon, j'ai la valeur, mais je n'ai pas la mise en forme.

Je recherche donc une macro ou une formule, qui me permettrait de copier les cellules avec la mise en forme.

Si quelqu'un pouvait m'aider.

Merci beaucoup

39exemple.zip (3.76 Ko)

bonjour

faire simple : une mise en forme sous condition se fait par "mise en forme conditionnelle"

quelle est la condition initiale pour être en rose ? ou vert ?

nota : à quoi sert de "recopier" des données d'un onglet à un autre ?

Bonjour jmd,

Merci de t’intéresser à ma demande.

La condition initiale, est pour différencier des participants à un parcours de golf : avec golfette 18 trous, avec golfette 9 trous et simplement 9 trous. Il n'y a donc pas de critères automatiques, si je peux m'exprimer ainsi.

Si je recopie, c'est uniquement pour le pas avoir à jongler d'un onglet à l'autre.

Si c'est trop compliqué, je peux effectivement faire un copier/coller, mais c'était juste pour avoir quelque chose qui se fasse automatiquement.

Bonjour, Salut jmd !

Sub Copier()
    ActiveSheet.Range("DM105:DP134").Copy Worksheets("Arcachon").Range("N2")
End Sub

Tu affectes cette macro à un bouton sur ta feuille Partenaires, et elle fera la copie...

Mais il semble, je rejoindrai jmd sur ce point, que ton projet soit insuffisamment élaboré, et ajouter au coup par coup des mini-manipulations de ce type ne permet pas d'aboutir à un ensemble parfaitement fonctionnel.

Cordialement.

Bonjour MFerrand,

Merci beaucoup pour ton aide.

A partir d'un bouton de commande, dans l'onglet Arcachon, pour effacer la copie des cellules (N2:Q21) avec la suppression de la couleur du fond et faire une RAZ de la feuille, j'ai écris le code suivant :

Sub RAZ_Grille_Arcachon()

    Range("C18:I76, N2:Q21").Select
    Selection.ClearContents.Interior.ColorIndex = xlColorIndexNone
    Range("24:78").EntireRow.Hidden = False
    Range("C18").Select

End Sub

Mais j'ai un message d'erreur : Erreur d'exécution '424' : Objet requis

Pourrais-tu corriger le code pour que ça fonctionne.

Il me semble que ça vient de l'instruction :

    Interior.ColorIndex = xlColorIndexNone

Parce que sans cette instruction ça fonctionne très bien.

Merci encore pour ton aide

Bonsoir,

Je crois avoir fourni un code faisant ce que tu demandais, en une ligne de code, pas en 5 comme l'aurait fait l'enregistreur !

Alors tu commences par oublier l'enregistreur, et éliminer tous les Select et Selection de ton code.

Ensuite tu analyses la ligne qui n'a pas été enregistrée

Quand tu enchaînes des mots clés (séparés par des points), il faut être conscient que tous sont des propriétés ou méthodes d'un objet. Celui qui débute l'expression (sans point devant) est toujours rattaché implicitement, c'est comme si tu écrivais en fait :

Application.Selection

Selection est une propriété de l'objet Application, qui renvoie un objet, sélectionné dans l'élément actif de l'application.

Tous les objets possèdent des méthodes permettant d'agir sur l'objet, des propriétés, constituant des caractéristiques de l'objet ou renvoyant un objet enfant.

Quand après le premier mot, tu en mets un autre relié au précédent par un point, il convient que ce soit une propriété ou une méthode de l'objet renvoyé par le premier. S'il s'agit d'une propriété renvoyant un objet, tu peux enchaîner par une propriété ou méthode de ce dernier objet. Si ce n'est pas le cas, c'est que as écris n'importe quoi sans tenir compte de la hiérarchie des objets Excel (on dit Modèle d'objets...).

Donc en analysant cette ligne tu verras vite où ça dérape... !

Cordialement.

Bonjour Mferrand,

Merci beaucoup pour ton aide et ces explications qui m'ont permis de résoudre mon problème.

Très bonne journée.

Rechercher des sujets similaires à "code vba formule copier mise forme"