Bonjour,
J'ai quelques problemes avec le range/cells select.
J'ai un tableau à 7 colonnes et et une dizaine de lignes. Je dois comparer les lignes 2 par 2 et mettre en couleur les différences.
Exemple
Montant / Valeur / date
a/b/c
a/b/c
d/e/f
d/e/g
Mon but est de comparer les deux premières lignes entre elles (pas d'erreurs) et les deux suivantes entre elles (et mettre f et g en couleur).
Pour ce faire, j'ai ce code :
Mon h représente le numéro de ligne, glissant donc de 2 en 2
i est le numéro de colonne glissant colonne par colonne
Nb_ligne_reporting est le nombre de ligne du tableau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 h = 3 i = 2 Nb_ligne_reporting = Application.WorksheetFunction.CountA(Workbooks("Reporting").Worksheets("Rapport").Range("B2:B1000"))+1 Do While h <= Nb_ligne_reporting For i = 2 To 12 If Cells(h - 1, i) <> Cells(h, i) Then Cells(h - 1, i).Select With Selection.Interior .Color = 255 End With Cells(h, i).Select With Selection.Interior .Color = 255 End With End If Next i h=h+2 loop
----> Mon problème est que, quand je teste, je reçois :
Erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet
Quand je fais F8, je vois que le probleme vient de Cells.select
Étonnement, quand je retire ce code de ma procédure et que je la met dans une autre, elle fonctionne ! Mais dès que je l'appelle par un call dans la première, ça ne marche plus !!!
Avez vous une idée ?
Partager