[vba] besoin d'un coup de main pour une macro

Fermé
youkao - 2 nov. 2006 à 09:54
 Pedro - 14 nov. 2006 à 14:37
salut tout le monde, pb de macro !

alors c'est simple, je voudrai que si dans une plage de donnée, j'ai des cellules qui contiennent la même valeur que ma cellule de référence, alors la macro applique sur ces cellules le même format que sur la cellule de ref (fond rose, police en blanc par ex)

je sais qu'on peut y arriver avec la mise en forme conditionelle, mais c'est limité à 3 conditions.... perso j'ai une trentaine de cellules de référence avec mise en forme spécifique pour chacune.

pour l'instant j'ai ca : [avec une cellule de ref où il y a écrit 120 et mise en forme : fond rose pale et police en blanc]

Sub Rose ()
For Each c In Range("A8:BW30")
If c.Value = "120" Then
c.Interior.ColorIndex = 39
c.Font.ColorIndex = 2
Else
c.Interior.ColorIndex = c.Interior.ColorIndex
c.Font.ColorIndex = c.Font.ColorIndex
End If
Next c

End Sub

je suis sure qu'il y a un moyen plus simple pour que la macro détecte toute seule le format d'origine de la cellule ref pour ensuite l'appliquer aux cellules qui correspondent à ma condition... mais je suis ultra débutant en VBA et je n'y arrive pas

THANK YOU for YOUR Help !
A voir également:

1 réponse

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
5 nov. 2006 à 23:37
Bonsoir,

une autre façon de faire : par un copier/collage spécial format de la cellule modèle sur toutes celles ayant sa valeur.
cellule modèle : H1
zone de travail : F13:L30
Range("H1").Select
Selection.Copy
For Each vcell In Range("f13:L30")
    If vcell = [h1] Then
    vcell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    End If
Next
cordialement
0
Bonjour JvDo,

J'ai pu voir que sur plusieurs post vous maitrisiez bien les fusion ou concatenations des cellules.
0