Bonjour à tous,


Je développe quelques macro VBA-excel pour les besoins de mon taff.

Le problème est le suivant :
Pour un range donné, j'itère sur chaque cellule et je souhaite ajouter des "borders" à ces cellules.
Pour cela, j'ai une procédure classique qui dans la boucle while en appelle une autre... et c'est la que l'exécution se stope avec un code d'erreur 424.

Voici la code de la procédure "principale" :
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
 
sub modifiy()
 
Set ColName = Worksheets("Stats").Range("N4")
i = 10
 
 
While (i >= 1)
 
 
      format (ColName)
      Set ColName = ColName.Offset(1, 0)                        
      i = i - 1
 
Wend
 
End sub
Voici la procédure "format" :

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 format(r As Range)
 
    r.Borders(xlDiagonalDown).LineStyle = xlNone
    r.Borders(xlDiagonalUp).LineStyle = xlNone
    With r.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
  ' With r.Borders(xlEdgeTop)
   '     .LineStyle = xlContinuous
   '     .ColorIndex = 0
   '     .TintAndShade = 0
   '     .Weight = xlMedium
   ' End With
    With r.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With r.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    r.Borders(xlInsideVertical).LineStyle = xlNone
    r.Borders(xlInsideHorizontal).LineStyle = xlNone
 
End Sub
Je suppose que l'erreur saute aux yeux pour un codeurs VBA confirmé mais la j'avoue que je sèche. Pourriez vous m'aider svp ?