Bonjour a tous,
Dans une procedure, a un moment j'ai une boucle: i=66 to 70
Je souhaites que dans le code a l'interieur de cette boucle utiliser une sous procedure pour que mon 66 devienne 1, mon 67 -> 22, 68 -> 25, 69 -> 29 et 70 devienne 41.
J'ai donc cree une sous procedure toute simple qui est la suivante:
puis je teste en faisant:
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 conversion(ByRef x as Integer) Select Case x Case is = 66 x = 1 Case is = 67 x = 22 Case is = 68 x = 25 Case is = 69 x = 29 Case is = 70 x = 41 Case Else End Select end sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 sub testconversion() Dim i as Integer For i = 66 to 70 conversion i Debug.Print Cells(i,1).value 'car le but est de recuperer des valeurs de cellule Next i End Sub
J'ai l'erreur 1004 Application-defined or object-defined qui apparait a ma ligne ou il y a debug.print (j'ai essaye avec MsgBox et idem ca ne marche pas)
Mais si je fais:
Bah la ca marche! Pourquoi? Je ne comprends pas pourquoi le fait d'utiliser une boucle m'empeche de convertir correctement. Comment puis-je trouver une methode/astuce pour obtenir ce que je veux?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 sub testconversion() Dim i as Integer i = 66 'puis ensuite je change manuellement jusqu'a 70 conversion i Debug.Print Cells(i,1).value End Sub
Merci de votre aide
vanhoa
Partager