XL 2010 Boucle for

ricorico

XLDnaute Nouveau
Bonjour,

J'ai besoin d'aide pour un code car je n'arrive pas à trouver la solution sur les autres discussions.

Je m'explique, je dispose d'un grand tableau excel dans lequel j'ajoute des lignes quotidiennement en dessous de la 5ème ligne. Pour chaque ligne je dois vérifier la présence d'un fichier sur une DB en fonction d'un numéro de BT, j'ai donc créer une macro qui me permet de copier le N°BT afin de la coller directement dans ma DB. Après cela un user form apparait avec les différentes réponses à remplir et insère ces réponses (FP dans le fichier Excel) dans la cellule se situant à coté (donc même ligne). Pour chaque ligne j'appuie sur un bouton pour recopier le numéro, écrire la réponse dans la bonne colonne et ensuite remonter d'une ligne.

Le problème est que j'aimerai créer une boucle qui part de ma cellule active pour aller jusqu'à la ligne 5 (la première ligne de mon tableau) mais je n'y arrive pas, je dois avoir un problème au niveau de mes variables. Avez vous une solution ?

De plus j'aimerai que le numéro de BT soit affiché et actualisé à chaque apparition du UserForm, par exemple dans une phrase comme "donnez la réponse pour le BT n° …..". Est-ce possible ?

VB:
Sub Test()

Dim i, Bas
    
    Bas = ActiveCell.Row
    

    For i = Bas To 6
        Selection.Copy
        ActiveCell.Offset(0, 5).Select
        UserForm1.Show
        ActiveCell.Offset(-1, -5).Select
    Next

End Sub
 

Pièces jointes

  • Test.xlsm
    17.2 KB · Affichages: 15

fanch55

XLDnaute Barbatruc
Bonjour,

Je ne vois pas à quelle question vous répondez, de même pour le A5.select, ou le placer ? Développer svp
1629716166070.png

Je ne vois pas du tout ce que le userform va mettre à jour sinon la cellule active ?

[A5].select --> on sélectionne la cellule A5, on est donc sur la ligne 5. Vous le placez là où vous en avez besoin .
 

ricorico

XLDnaute Nouveau
Regarde la pièce jointe 1113812
Je ne vois pas du tout ce que le userform va mettre à jour sinon la cellule active ?

[A5].select --> on sélectionne la cellule A5, on est donc sur la ligne 5. Vous le placez là où vous en avez besoin .
Ce n'est pas le propos de ma question, cela fonctionne comme ça et ne dois pas être changé, enlevez la partie UserForm si vous préférez.

J'aimerais simplement savoir comment faire une boucle for qui commence au niveau de la cellule active pour remonter jusqu'à la ligne 5 et s'il est possible de rajouter une variable dans la phrase Insérer dans le UserForm
 

fanch55

XLDnaute Barbatruc
VB:
Sub test()
    If ActiveCell.Row > 5 Then
        For L = ActiveCell.Row To 5 Step -1
            With UserForm1
                .Label1.WordWrap = False
                .Label1.AutoSize = True
                .Label1.Caption = " Quelle est la CARAC demandée pour Bt=" & Cells(L, "C") & " ?"
                .Show
            End With
        Next
    End If
End Sub
 

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16