marie5858
Messages postés8Date d'inscriptionlundi 20 septembre 2010StatutMembreDernière intervention16 septembre 2022
-
20 sept. 2010 à 11:34
foliv57
Messages postés420Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention15 juillet 2014
-
20 sept. 2010 à 13:55
Bonjour à tous,
Je suis novice dans la programmation de VBA pour excel. Toutefois, j'ai besoin d'un code pour mettre en forme des données en fonction de la première colonne
j'ai un talbeau ayant pour première colonne le code article, je peux avoir plusieurs lignes avec le meme code article. le tableau est trié sur cette colonne.
Et en fait je veux alterner 2 couleurs.
711640101F2
761035201FR
01473
01473
01473
01473
410277120DE
410277120DE
410277120DE
410277120DE
410277120DE
410277120DE
12182
12182
44055
44055
44055
44054
44054
J'ai trouvé comment mettre une ligne sur 2 en couleurs mais pas ce que je veux faire.
je vous remercie par avance de votre aide
merci
A voir également:
CODE VBA POUR CHANGER LA COULEUR D UNE LIGNE EN FONCTION DE LA VALEUR DE LA 1ERE
foliv57
Messages postés420Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention15 juillet 20149 20 sept. 2010 à 13:55
Bonjour,
Voici une solution possible.
Placez cette sub dans "ThisWorkbook" ou dans un module :
Public Sub ColorLine(FirstCode As Range, columnCount As Long)
'Couleur principale
Dim couleurPrimaire As Long: couleurPrimaire = 34
'Couleur alternative
Dim couleurSecondaire As Long: couleurSecondaire = 35
Dim couleurCourante As Long: couleurCourante = couleurPrimaire
Dim colonneDroite As Long: colonneDroite = FirstCode.Column + columnCount - 1
Dim l As Long: l = FirstCode.Row
With FirstCode.Worksheet
While (.Cells(l, FirstCode.Column).Value <> "")
'Mise en place de la couleur de ligne
.Range(.Cells(l, FirstCode.Column), .Cells(l, colonneDroite)).Interior.ColorIndex = couleurCourante
'Inverse la couleur si le code suivant est différent
If (.Cells(l, FirstCode.Column).Value <> _
.Cells(l + 1, FirstCode.Column).Value) Then
couleurCourante IIf(couleurCourante couleurPrimaire, couleurSecondaire, couleurPrimaire)
End If
l = l + 1
Wend
End With
End Sub
Si par exemple votre liste commence à la ligne 2 colonne 1 et que votre liste est constituée de 4 colonnes, appelez la sub de cette manière :