Vba alimentation de textbox par une référence

Résolu
Bonjour,
j'ai un formulaire(Useform) avec plusieurs textbox : textbox_référence, texbox1, texbox2 et textbox3.
j'ai un tableau avec dans la colonne A des n° de référence, dans la colonne B,C et D du texte.
jai besoin que lorsque je tape un numéro de reférence dans "textbox_référence" une macro alimente texbox1, texbox2 et textbox3 avec les données de la même ligne que le n° de référence.
Exemple : je tape n° de référence : 123456 situé en ligne A23, alors B23, C23, et D23 alimente mes texbox1, texbox2 et textbox3.

Voilà j'esspere que cest assez clair merci de m'aider a bientot.

8 réponses

  1. oula non non je suis amateur j'ai commencé le VBA il y a 2 ou 3 mois mais à force de gratter et de fréquenter CCM . . . on progresse ;)
    0
    1. Oui effectivement, très pratique! merci pour l'astuce ! ya des pros ici.
      0
      1. ah petite astuce au lieu d'une textbox pour ta réference utilise une combobox avec la propriété ROWSOURCE tu tape A1:A1000 par exemple et grace à ça quand tu commencera à taper une référence il ecrira la suite automatiquement et tu aura une liste déroulante. . . . .
        0
        1. et bé de rien ça m'as fait plaisir
          0
          1. merci beaucoup informatifien ca fonctione tres bien !
            0
            1. Bon si je n'ai point fait d'erreur tu as juste à copier ce code dans ton USF et ça doit marcher si tu as synthaxé les nom de tes textbox comme il faut sinon tu ajustera au besoin. . . .

              Private Sub NomDeTonBoutton_Click()

              Dim a As Long 'je declare mes variables en long
              Dim b As Long

              a = 2 ‘je commence ma boucle à partir de la ligne 2
              b = textbox_référence

              Do
              a = a + 1
              If a = 550 Then 'si j'arrive à 550 je lance msgbx
              NomDeTonUSF.Hide
              MsgBox “LeTexteQueTuVeuxEnCasdErreur”
              Exit Do
              End If
              Loop Until Application.Cells(a, 1) = b 'je boucle jusqu'à la ligne egale à b

              Application.Cells(a, 1).Select ‘ je selectione la cellule correspondante à la réf tapée

              'je remplis mes TxtBx

              Textbox1 = ActiveCell.Offset(0, 1) ‘ 0 par ce que c’est sur la meme ligne et 1 car c’est une cellule après celle qui est activeTextbox2 = ActiveCell.Offset(0, 2)
              Textbox3 = ActiveCell.Offset(0, 3)

              End Sub


              En gras tu as les commentaire il te reste à ajuster le nom du Sub selon le nom de ton USF et aussi à la ligne If a = 550 tu doit mettre le nombre de ligne max non pas qui existe mais le max pouvant existergenre si tu en à 300 et que tu risque pas d'en avoir beaucoup plus ben 550 c'est bon, j'espere que ça vas marcher si tu as des questions. . . . .
              1
              1. ca serait sympa de bien vouloir faire la boucle, je comprends pas bien comment les utiliser.merci !
                0
                1. Salut tu sais faire les boucles pour selectionner la réf que tu cherche? auquel cas apres pour alimenter les TxtBx c'est pas bien dure ou faut-il te faire la boucle aussi?
                  0