Faire tourner ma macro en boucle jusqu'à cellule vide

Résolu
jrmsky - 21 nov. 2012 à 11:08
 jrmsky - 21 nov. 2012 à 15:32
bonjour le forum

habituellement je trouve des réponses que j'adapte ensuite à mon problème,
mais cette fois ci je bloque sur quelque chose qui me parait pourtant simple.
oui je suis débutant en macro

je souhaite que ma macro tourne en boucle jusqu'à ce que la cellule selectionnée ("b3") est vide
       
For i = 1 To n

If Range("b3") <> "" Then
    Range("B3:B5").Select
    Selection.Copy
    Sheets("Feuil2").Select
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown
    Sheets("Feuil1").Select
    Rows("3:7").Select
    Selection.Delete Shift:=xlUp
    
Next i
Else
End If
End Sub


merci d'avance à ceux qui auront prit le temps de lire ce sujet et à ceux qui pourront m'aider à solutionner mon petit problème

et avec quelques explications ce serait parfait pour mon instruction.


bonne journée à tous

6 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 nov. 2012 à 12:56
Salut

Ton code manque de commentaires.
On ne sait pas trop par quel miracle B3 va devenir vide.
Remplace ta boucle For-Next et le test de B3 vide par un Do-Loop :
Do While Range("B3").Value <> ""
    ' Ton code
    DoEvents ' nécessaire dans toutes les boucles
Loop
Le DoEvents permet de garder la maitrise de Excel si jamais la boucle ne se terminait jamais; en cas d'erreur de programme par exemple; et ça arrive fréquemment, je te le garantis.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3