Si + Interior.ColorIndex
Résolu
mathou
-
mathou -
mathou -
Bonjour,
Sous VBA, je voudrais comparer deux colonnes et si les valeurs ne sont pas identiques alors colorier les cases d'une des 2 colonnes.
Voici ce que j'ai écrit mais XL me renvoie un message "erreur 91" et je ne comprends pas d'où est-ce que l'erreur vient...
Voici le code :
Sub FournLVD()
Dim CodeFourn As Range
Dim CodeFournLVD As Range
CodeFourn = Range("CodeFournisseur")
CodeFournLVD = Range("CodeFournisseurLVD")
For Each CodeFournLVD In Range("CodeFournisseurLVD")
If Not IsEmpty(CodeFourn) And CodeFournLVD <> CodeFourn Then
CodeFournLVD.Interior.ColorIndex = 6
End If
Next
End Sub
Merci d'avance pour votre aide !
P.S. je suis novice dans VBA !!
Sous VBA, je voudrais comparer deux colonnes et si les valeurs ne sont pas identiques alors colorier les cases d'une des 2 colonnes.
Voici ce que j'ai écrit mais XL me renvoie un message "erreur 91" et je ne comprends pas d'où est-ce que l'erreur vient...
Voici le code :
Sub FournLVD()
Dim CodeFourn As Range
Dim CodeFournLVD As Range
CodeFourn = Range("CodeFournisseur")
CodeFournLVD = Range("CodeFournisseurLVD")
For Each CodeFournLVD In Range("CodeFournisseurLVD")
If Not IsEmpty(CodeFourn) And CodeFournLVD <> CodeFourn Then
CodeFournLVD.Interior.ColorIndex = 6
End If
Next
End Sub
Merci d'avance pour votre aide !
P.S. je suis novice dans VBA !!
2 réponses
Bonjour,
c'est ici que ca coince
Vous declarez ces deux variables en Range, donc pour les affecter
Mais la suite ne va pas du tout
Deux facons de faire:
A dispo pour plus d'explications
c'est ici que ca coince
CodeFourn = Range("CodeFournisseur") CodeFournLVD = Range("CodeFournisseurLVD")
Vous declarez ces deux variables en Range, donc pour les affecter
Set CodeFourn = Range("CodeFournisseur") Set CodeFournLVD = Range("CodeFournisseurLVD")
Mais la suite ne va pas du tout
Deux facons de faire:
Sub FournLVD() Dim CodeFourn As Range Dim CodeFournLVD As Range Set CodeFourn = Range("CodeFournisseur") Set CodeFournLVD = Range("CodeFournisseurLVD") Nb = CodeFourn.Rows.Count For n = 1 To Nb If Not IsEmpty(CodeFourn(n, 1)) And CodeFournLVD(n, 1) <> CodeFourn(n, 1) Then CodeFournLVD(n, 1).Interior.ColorIndex = 6 Else CodeFournLVD(n, 1).Interior.Pattern = xlNone End If Next n End Sub Sub FournLVD_1() With Worksheets("feuil1") Nb = .Range("CodeFournisseur").Rows.Count For n = 1 To Nb If Not IsEmpty(.Range("CodeFournisseur").Cells(n, 1)) And .Range("CodeFournisseurLVD").Cells(n, 1) <> .Range("CodeFournisseur").Cells(n, 1) Then .Range("CodeFournisseurLVD").Cells(n, 1).Interior.ColorIndex = 6 'jaune Else .Range("CodeFournisseurLVD").Cells(n, 1).Interior.Pattern = xlNone 'pas de couleur End If Next n End With End Sub
A dispo pour plus d'explications
Bonjour
essaies
CodeFourn = set Range("CodeFournisseur")
CodeFournLVD = set Range("CodeFournisseurLVD")
a l"avenir lorsque tu post des codes, merci de la mette entre balises

essaies
CodeFourn = set Range("CodeFournisseur")
CodeFournLVD = set Range("CodeFournisseurLVD")
a l"avenir lorsque tu post des codes, merci de la mette entre balises

Sauf erreur de ma part, le set se trouve en début de ligne, pas après le =, en VBA/VB6.
Et j'ai ajouté la coloration du code dans la question :
Et j'ai ajouté la coloration du code dans la question :
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
Ca marche, c'est super merci beaucoup!!!