Salut Arno,
Pas facile à répondre ta question de cours...
Do While ActiveCell <> "" 'Fais jusqu'à ce ke la cell active soit différent de 0
1/c'est l'inverse: fais tant que ( et non jusqu'à) activecell est différent de ""
2/ "" est du texte qui veut dire: texte vide
0 est un nombre (0, c'est pas rien! comme dir Raymond Devos)
ActiveCell.Offset(20, 0).Range("A1").Select
offset est un décalage de 20 lignes et 0 colonne et range "A1" est la cellule en haut et à gauche: on pourrait se passer de ce range(A1)...
Mais cette macro est très mauvaise (exemple de ce qu'il ne faut pas faire et que j'ai très souvent fait) car très lente.
Déjà comme l'a écrit Talere, la ligne suivante:
Application.screenupdating=false
fige le défilement de l'écran ==> gain de temps
Ensuite, utiliser une boucle avec "select" à chaque coup ralentit considérablement ta macro. Pour cela, je te suggère d'aller faire un tour sur le site Laurent Longre (www.longre.free.fr ou lien dans le bas de ce forum du coté du nom du Webmestre David)
tu pourrais arriver à ceci (ou mieux):
dim lig, col as long
Application.screenupdating=false
lig=activecell.row
col= activecell.column
while cells(lig,col)<>""
lig=lig+20
wend
cells(lig,col).select
Bon courage
Michel (c'est l'heure de retourner at home)