Incrémentation d'une colonne dans VBA Excel
Bonjour
Comme l'indique le titre je veux que mon programme VBA puisse changer de colonne automatiquement.
L,objectif est de changer une valeur A1 en 1, A2 en 2, etc... et placer la valeur numérique dans une case plus loin à droite
J'utilise les valeurs Ascii pour ce faire
Voici ce que j'ai fait jusqu'à maintenant (je sais que mon code n'est pas élégant):
Code:
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| Dim A As Integer
Dim B As Variant
Dim C As Variant
Dim W As Integer
Dim X As Integer
Private Sub CommandButton1_Click()
A = 3
W = 66
X = 79
For i = 1 To 12
B = Chr(W)
C = Chr(X)
If Feuil3.Range(B & A).Value = "A1" Then
Feuil3.Range(C & A).Value = 1
ElseIf Feuil3.Range(B & A).Value = "A2" Then
Feuil3.Range(C & A).Value = 2
ElseIf Feuil3.Range(B & A).Value = "A3" Then
Feuil3.Range(C & A).Value = 3
ElseIf Feuil3.Range(B & A).Value = "A4" Then
Feuil3.Range(C & A).Value = 4
ElseIf Feuil3.Range(B & A).Value = "A5" Then
Feuil3.Range(C & A).Value = 5
ElseIf Feuil3.Range(B & A).Value = "A6" Then
Feuil3.Range(C & A).Value = 6
ElseIf Feuil3.Range(B & A).Value = "A7" Then
Feuil3.Range(C & A).Value = 7
ElseIf Feuil3.Range(B & A).Value = "A8" Then
Feuil3.Range(C & A).Value = 8
ElseIf Feuil3.Range(B & A).Value = "A9" Then
Feuil3.Range(C & A).Value = 9
ElseIf Feuil3.Range(B & A).Value = "A10" Then
Feuil3.Range(C & A).Value = 10
ElseIf Feuil3.Range(B & A).Value = "A11" Then
Feuil3.Range(C & A).Value = 11
ElseIf Feuil3.Range(B & A).Value = "A12" Then
Feuil3.Range(C & A).Value = 12
ElseIf Feuil3.Range(B & A).Value = "A13" Then
Feuil3.Range(C & A).Value = 13
ElseIf Feuil3.Range(B & A).Value = "A14" Then
Feuil3.Range(C & A).Value = 14
ElseIf Feuil3.Range(B & A).Value = "A15" Then
Feuil3.Range(C & A).Value = 15
ElseIf Feuil3.Range(B & A).Value = "A16" Then
Feuil3.Range(C & A).Value = 16
ElseIf Feuil3.Range(B & A).Value = "A17" Then
Feuil3.Range(C & A).Value = 17
ElseIf Feuil3.Range(B & A).Value = "A18" Then
Feuil3.Range(C & A).Value = 18
End If
W = W + 1
X = X + 1
Next
End Sub |
Mon programme fonctionne une seule fois, mais refuse d'effectuer la boucle pour recommencer avec les valeurs incrémentées.
Qu'il y a t'il?
Merci