Remplir automatiquement données textbox userform

Bonjour à tous,

J'aimerais que des données s'ajoutent automatiquement dans plusieurs TextBoxs d'un UserForm lorsque:

1) Je choisis dans un ComboBox du même UserForm une feuille du classeur

ET

2) J'inscris une donnée particulière (un numéro de commande dans mon cas) dans un TextBox.

Il faut que des données se rajoutent automatiquement dans plusieurs TextBoxs lorsque cette donnée particulière (numéro de commande) existe déjà / ait été préalablement renseignée.

Ces données sont présentes dans des feuilles différentes.

J'ai retourné le problème dans tous les sens mais je n'y arrive pas, petit débutant VBA que je suis ...

Merci à vous

Voici mon code initial permettant de renseigner via un userform que j'active via un bouton, plusieurs tables dans des feuilles différentes:

Private Sub Label6_Click()

End Sub

'Procédure permettant l'initialisation du formulaire de

' charger dans la liste déroulante du formulaire

' les noms des feuilles des différentes catégories de prestations

Private Sub UserForm_Initialize()

Dim feuille As Worksheet

'Nous parcourons toutes les feuilles du classeur

For Each feuille In Worksheets

Select Case feuille.CodeName 'Codename étant le nom de code de la feuille

'On retire dans la combobox les feuilles 1,2,3,4,5,6,8

Case "Feuil1", "Feuil2", "Feuil3", "Feuil4", "Feuil5", "Feuil6", "Feuil8"

'et on prend toutes les autres

Case Else

'On charge les noms des feuilles dans la liste déroulante

Me.cboNomFeuille.AddItem feuille.Nam

End Select

Next feuille

End Sub

'procédure permettant d'ajouter sur la feuille sélectionnée le

' nouvel enregistrement à la fin de la table

Private Sub btnValiderCommande_Click()

Dim nbControle As Integer

Dim NouvelleLigne As Range

Dim MaFeuille As String

'On récupère le nom de la feuille de la liste déroulante

MaFeuille = cboNomFeuille.Value

'On test qu'il y ait bien le nom d'une feuille de sélectionnée

If Me.cboNomFeuille.Value = "" Then

MsgBox "La catégorie de prestation n'a pas été choisie", vbOKOnly + vbInformation, ""

Exit Sub

End If

'On test qu'il y ait bien le N° de commande renseigné

If Me.TextBox1.Value = "" Then

MsgBox "Le N° de commande n'a pas été renseigné", vbOKOnly + vbInformation, ""

Exit Sub

End If

'On test qu'il y ait bien le type de prestation non renseigné

If Me.TextBox2.Value = "" Then

MsgBox "Le type de prestation n'a pas été renseigné", vbOKOnly + vbInformation, ""

Exit Sub

End If

'On test qu'il y ait bien le nom du titulaire renseigné

If Me.TextBox3.Value = "" Then

MsgBox "Le titulaire n'a pas été renseigné", vbOKOnly + vbInformation, ""

Exit Sub

End If

'On test qu'il y ait bien le Responsable RATP renseigné

If Me.TextBox4.Value = "" Then

MsgBox "Le responsable RATP n'a pas été renseigné", vbOKOnly + vbInformation, ""

Exit Sub

End If

'On test qu'il y ait bien le N° du BER renseigné

If Me.TextBox5.Value = "" Then

MsgBox "Le N° du BER n'a pas été renseigné", vbOKOnly + vbInformation, ""

Exit Sub

End If

'On test qu'il y ait bien la date de réception renseigné

If Me.TextBox6.Value = "" Then

MsgBox "La date de reception n'a pas été renseigné", vbOKOnly + vbInformation, ""

Exit Sub

End If

'On test qu'il y ait bien ce qui a été renseigné

If Me.TextBox7.Value = "" Then

MsgBox "Ce qui a été receptionné n'a pas été renseigné", vbOKOnly + vbInformation, ""

Exit Sub

End If

'On test qu'il y ait bien le lien du fichier renseigné

If Me.TextBox8.Value = "" Then

MsgBox "Le lien du fichier n'a pas été renseigné", vbOKOnly + vbInformation, ""

Exit Sub

End If

'On test qu'il y ait bien le montant du BER renseigné

If Me.TextBox9.Value = "" Then

MsgBox "Le montant du BER n'a pas été renseigné", vbOKOnly + vbInformation, ""

Exit Sub

End If

'On test qu'il y ait bien le montant mis à disposition de renseigné

If Me.TextBox10.Value = "" Then

MsgBox "Le montant mis à disposition n'a pas été renseigné", vbOKOnly + vbInformation, ""

Exit Sub

End If

If MsgBox("Confirmez-vous l'ajout de cette commande ?", vbYesNo, "") = vbYes Then

'On récupère le nombre de contrôle dans le Userform

nbControle = 10 'Changer le numéro si vous ajouté de nouveaux contrôles

'On se positionne sur la dernière ligne vide de la table de données

Set NouvelleLigne = Sheets(MaFeuille).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)

For x = 1 To nbControle

NouvelleLigne = Me.Controls("TextBox" & x).Value

'Me.Cont1.Value = Format(Me.Cont1.Value, "JJ/MM/AAAA")

Set NouvelleLigne = NouvelleLigne.Offset(0, 1)

Next x

cboNomFeuille.Value = ""

'On affiche un message confirmant la nouvelle saisie dans la table

MsgBox "La commande a bien été ajoutée sur : " & MaFeuille, vbOKOnly + vbInformation, "VALIDATION"

'on réinitialise les champs du formulaire à vide

For x = 1 To nbControle

Me.Controls("Textbox" & x).Value = ""

Next x

End If

Unload Me

End Sub

Bonjour

Tu devrais joindre ton fichier...

Bye !

Salut, il ets bien trop lourd et il y a des données confidentielles malheureusement.

Je vais essayer de faire une copie sans rien dans la journée.

Voilà le bébé

Bonjour,

je ne vois qu'un seul userform. .. celui qui sert à Valider une commande.

Tu comptes utiliser le même userform pour un mode "interrogation - modification" ?

Bonjour

Bonjour à tous

Un essai à tester. Te convient-il ?

Trop rapide pour moi Gmb

Salut gmb et xmenpl !

Je compte au final faire un seul et même userform avec les fonctions suivantes :

  • Ajouter
  • Modifier
  • Supprimer

Je travaille dessus mais si vous avez des tips je suis preneur.

Cette fonction de remplir des textbox automatiquement si le numéro de commande a déjà été renseigné me facilitera la vie, car j'aurai plusieurs centaines de commandes à rajouter avec le même numéro.

Je regarde ton code dans la soirée, l'entreprise dans laquelle je travaille bloque la vue de macro / codes quand je suis sur le réseau.

Merci à vous 2

Trop rapide pour moi Gmb

Va pour cette fois mais ce n'est pas toujours le cas !

Bye !

Rechercher des sujets similaires à "remplir automatiquement donnees textbox userform"