Bonjour,

Je débute en VBA, j'essaye de faire une macro dans laquelle j'ai besoin de comparer deux cellules d'une même colonne pour vérifier si elles sont identiques. Voici mon code:

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
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub fusion_doubles_vertical()
Dim l As Long       ' ligne
Dim d As Long       ' doubles
Dim l2 As Long      ' fin_ligne
Dim case_1 As Long  ' contenu ligne haut
Dim case_2 As Long  ' contenu ligne bas
Dim c As Integer    ' colonne
Const minl = 2      ' début ligne
Const maxl = 200    ' fin ligne
Const minc = 1      ' début colonne
Const maxc = 24      ' fin colonne
Application.ScreenUpdating = False
Application.DisplayAlerts = False
 
c = 1
For l = minl To maxl
    For d = l + 1 To maxl
        case_1 = Cells(d, c)
        case_2 = Cells(l, c)
        If (case_1 <> case_2) Then
            Exit For
        End If
    Next d
    If d > l + 1 Then
        For c = minc To maxc
            [...]
        Next c
        c = 1
    End If
Next l
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Bref, la première commande "Cells" ne me retourne rien alors que les variables "d" et "c" ont des valeurs correctes (ex: d=2 et c=1). Par contre la ligne en dessous (Cells(l, c)) retourne toujours le contenu de la cellule. Le pb semble lié à ma variable "d" mais je ne comprend pas pourquoi. Vous pouvez m'aider?

PS: j'ai Excel2000 mais la macro a le même comportement sur Excel2007

EDIT: Finalement, mes essais ne se déroulait pas sur le bon fichier, les cases étant déjà fusionnée elle ne retournait rien.