[VBA] Problème de Loop

Résolu/Fermé
Mus30 Messages postés 5 Date d'inscription mardi 13 juin 2006 Statut Membre Dernière intervention 15 juin 2006 - 14 juin 2006 à 15:15
Mus30 Messages postés 5 Date d'inscription mardi 13 juin 2006 Statut Membre Dernière intervention 15 juin 2006 - 15 juin 2006 à 11:25
Bonjour à tous, j'ai un autre petit problème à vous soumettre.

J'ai un tableau avec plusieurs colonnes et lignes remplies.
L'idée est de créer une userform ou l'on rentrera un code.
Ensuite, la macro inserrera en A une colonne avec un titre prédéfini. Le but de la manoeuvre est de remplir chaque case de cette colonne jusqu'à la dernière ligne remplie.

Je débute, donc soyez gentil dans vos explications, merci :)

Private Sub Validation_Click()

VarNumérapport = Numérapport
VarNumébat = Numébat

    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Numéro de rapport"
   
Dim A As Integer
Dim cellule1 As String
Dim cellule2 As String

A = 2
cellule1 = "H" & A
cellule2 = "A" & A

Do Until IsEmpty(Sheets("Test").Range(cellule1).Value = "")
    Range(cellule2) = VarNumérapport
    A = A + 1
Loop

Renseignement.Hide
    
End Sub

4 réponses

Pool Orion Messages postés 124 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 15 juin 2007 55
14 juin 2006 à 15:35
Salut Mus30,

Si le titre de ton message est correct, tu as juste un problème de boucle ?
Si je suis dans le bon, j'ai pas analysé tout ton code car pour moi il y a déjà un problème dans la condition d'exécution de la boucle :
<
Do Until IsEmpty(Sheets("Test").Range(cellule1).Value = "")
Range(cellule2) = VarNumérapport
A = A + 1
Loop
>

Tu réalise un test 'IsEmpty' sur une valeur qui vaut forcément 'Vrai' ou 'Faux' :-)
1
Mus30 Messages postés 5 Date d'inscription mardi 13 juin 2006 Statut Membre Dernière intervention 15 juin 2006 1
14 juin 2006 à 15:51
Je ne comprend pas trop ce que tu viens de me dire.

Tout ce que je veux, c'est que si il y a quelque chose dans la cellule H2, il me mette ce que j'ai tappé auparavant dans la userform dans la cellule A2 et ainsi de suite jusqua ce qu'il tombe sur la cellule H20 par exemple qui elle sera vide et marquera la fin de la boucle.

Actuellement avec ce que j'ai fait, excel bugge et semble faire une boucle infini.
1
Pool Orion Messages postés 124 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 15 juin 2007 55
14 juin 2006 à 16:30
C'est bien ce que je dis. Ton test se résume à :
UNTIL IsEmpty(vrai) ou UNTIL IsEmpty(faux).
Tu as donc une boucle infinie:-)
0
Bonjour !
Ne maitrisant pas excel je voudrais bien avoir de l'aide.
Mon problème est le suivant:
j'ai créé un ligne avec des formules et des saisies!
je voudrais que les formules soit automatiquement dans leurs cellules respectives lorsque l'on rentre un nouvel enregistrement.
Merci pour votre aide
0
Mus30 Messages postés 5 Date d'inscription mardi 13 juin 2006 Statut Membre Dernière intervention 15 juin 2006 1
15 juin 2006 à 11:25
Bon, à force d'efforts et de sueurs, j'ai fini par arriver à mes fins. Je sais pas si c'est la solution la plus "propre", mais elle fonctionne.
Je poste la réponse pour ceux que ça interesse :

Dim A As Integer
Dim B As Integer

A = 1

Do
If Cells(A, "H") = "" Then Exit Do
A = A + 1
Loop Until A = 3000

A = A - 1

For B = 2 To A
Cells(B, "A") = Numérapport
Next B


Merci pour l'aide de Pool Orion.
0