Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

boucle for avec VBA

3 réponses
Avatar
daiman
bonjour,
je bloque sur le code suivant.
Range("a5").Select
ActiveCell.End(xlDown)(1).Select
lignes = ActiveCell.Row
Range("a1").Select
For l = 4 To "lignes" 'pour la ligne de 1 à 1000
For c = 1 To 15 ' pour la colone de 1 à 15

en effet, le code suivant ne fonctionne en particulier "for L=4 to "ligne".
ligne est la dernière ligne.
sachant que le nombres de ligne est varriable je le connais pas à l'avance.
comment puis-je faire pour que ma boucle fonctionne .
merci d'avance

3 réponses

Avatar
j
pas de guillemets à lignes
lignes est une variable numériques

si tu dis For l = 4 To "lignes"
vba essaie d'aller de 1 à un texte, et il ne sais pas faire ça
comme si tu essayais de faire résoudre un pb de robinets à un agrégé de
littérature grecque...

http://jacxl.free.fr


"daiman" a écrit dans le message de news:

bonjour,
je bloque sur le code suivant.
Range("a5").Select
ActiveCell.End(xlDown)(1).Select
lignes = ActiveCell.Row
Range("a1").Select
For l = 4 To "lignes" 'pour la ligne de 1 à 1000
For c = 1 To 15 ' pour la colone de 1 à 15

en effet, le code suivant ne fonctionne en particulier "for L=4 to
"ligne".

ligne est la dernière ligne.
sachant que le nombres de ligne est varriable je le connais pas à
l'avance.

comment puis-je faire pour que ma boucle fonctionne .
merci d'avance




Avatar
LSteph
Bonjour,


Une ou deux choses qui peuvent t'aider, outre les guillemets,
d'une part oublie le .Select sauf exceptions, du moins pour des cellules,
c'est totalement inutile!
En l'occurence:

Dim l as long, c as byte,lignes as long
lignes=[a5].End(xlDown)(1).row
For l = 4 To lignes
'......

Si tu n'as pas de données ou d'autres tableaux en dessous
il est possible de faire ainsi (tu peux mêmes avoir des cellules
vides dans ta colonne ce sera vraiment la dernière cellule.

lignes=[a65536].End(xlUp).row

Cordialement.

--
lSteph

bonjour,
je bloque sur le code suivant.
Range("a5").Select
ActiveCell.End(xlDown)(1).Select
lignes = ActiveCell.Row
Range("a1").Select
For l = 4 To "lignes" 'pour la ligne de 1 à 1000
For c = 1 To 15 ' pour la colone de 1 à 15

en effet, le code suivant ne fonctionne en particulier "for L=4 to "ligne".
ligne est la dernière ligne.
sachant que le nombres de ligne est varriable je le connais pas à l'avance.
comment puis-je faire pour que ma boucle fonctionne .
merci d'avance




Avatar
daiman
grand merci à vous. sa fonctionne
"daiman" a écrit dans le message de news:

bonjour,
je bloque sur le code suivant.
Range("a5").Select
ActiveCell.End(xlDown)(1).Select
lignes = ActiveCell.Row
Range("a1").Select
For l = 4 To "lignes" 'pour la ligne de 1 à 1000
For c = 1 To 15 ' pour la colone de 1 à 15

en effet, le code suivant ne fonctionne en particulier "for L=4 to
"ligne". ligne est la dernière ligne.
sachant que le nombres de ligne est varriable je le connais pas à
l'avance.
comment puis-je faire pour que ma boucle fonctionne .
merci d'avance