[VBA] Problème de Loop

Résolu
Mus30 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
Mus30 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   55
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   55
 
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
cyril
 
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   Statut Membre Dernière intervention   1
 
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