marianne84
Messages postés9Date d'inscriptionmardi 29 septembre 2009StatutMembreDernière intervention21 octobre 2009
-
12 oct. 2009 à 18:24
Bonjour,
Je voudrais savoir comment écrire la procédure VBA qui permet de trouver une valeur inscrite en double voire en triple dans une colonne.
Le but c'est d'abord de trouver la même valeur plusieurs fois puis de mettre en gris les lignes correspondante
Le code ci dessous marche lorsque je choisis une valeur précise en double( ex: valeur de la cellule A4) il met en gris les lignes où il a répéré deux fois la même valeur
Le problème c'est que l'intégration à une boucle ne marche pas, il me met "Erreur d'exécution 91 _variable objet ou variable de bloc with non définie"
C'est la partie en gras qui buggue
Ya t-il une possibilité de déclarer les variable autre que Variant pour des lignes? Sil ya une autre méthode je suis preneuse.
CODE
sub test
Dim ligne1 As Variant
Dim ligne2 As Variant
nb_lig = Range(Range("A3"), Range("A3").End(xlDown)).Rows.Count 'les valeurs commencent dans la cell A3
Columns("A:A").Select
For i = 3 To nb_lig
ligne1 = Selection.Find(What:=Cells(i, 1).Value, After:=ActiveCell, LookIn _ 'cè là kil y a 1 bug
:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False).Row
ligne2 = Selection.FindNext(After:=ActiveCell).Row
If ligne1 <> ligne2 Then Range("A" & i).EntireRow.Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
Rows(ligne2).Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid