Bonjour,
Je souhaite utiliser un Userform pour remplir les données d'un tableau.
Sur ce Userform, je voudrais pouvoir reprendre des informations saisies une seule fois mais le répliquer sur plusieurs lignes.
Sur l'exemple,
Je voudrais remplir sur chaque ligne du tableau excel Action Matiere Qté en reprenant le nom du client et le tel saisis sur la première ligne du formulaire sur chacune des lignes concernées.
Pour le moment mon code donne ça
Merci.
Je souhaite utiliser un Userform pour remplir les données d'un tableau.
Sur ce Userform, je voudrais pouvoir reprendre des informations saisies une seule fois mais le répliquer sur plusieurs lignes.
Sur l'exemple,
Je voudrais remplir sur chaque ligne du tableau excel Action Matiere Qté en reprenant le nom du client et le tel saisis sur la première ligne du formulaire sur chacune des lignes concernées.
Pour le moment mon code donne ça
Code:
Private Sub Ajouter_Click()
Dim i As Integer 'Declaration de variable comme entier
'RENDRE CHAMP OBLIGATOIRE Verifier que tous les champs ont bien été remplis
If AjoutDossier.TxbClient = "" Or AjoutDossier.TxbTel = "" Then
MsgBox "Merci de remplir tous les champs"
Else 'VERIFIER PROCHAINE CELLULE LIBRE.
i = 1 'la variable i est = a 2, car le tableau commence en 2eme ligne
Do While Cells(i, 1) <> "" 'Dès le clic sur ajouter, recherche cell different de nul dans col 1 cell 1 du tableau qui commence en ligne 2
Cells(i, 1).Offset(1, 0).Select 'se deplacer d'une ligne sur la meme colonne
i = i + 1 'On incrémente la variable i de 1
Loop
'ActiveCell.Value = Ajoutclient.Nom.Value 'remplir la cellule active, ce qui n'est pas le cas, on doit se déplacer
ActiveCell.Offset(0, 5).Value = AjoutDossier.TxbClient
ActiveCell.Offset(0, 7).Value = AjoutDossier.TxbTel
ActiveCell.Offset(0, 52).Value = AjoutDossier.CbxAction
ActiveCell.Offset(0, 53).Value = AjoutDossier.CbxMatiere
ActiveCell.Offset(0, 55).Value = AjoutDossier.TxbQte
ActiveCell.Offset(0, 52).Value = AjoutDossier.CbxAction2
ActiveCell.Offset(0, 53).Value = AjoutDossier.CbxMatiere2
ActiveCell.Offset(0, 55).Value = AjoutDossier.TxbQte2
'Unload Ajoutclient Pour le moment je ne l'active pas
End If
End Sub
Private Sub Annuler_Click()
'Pour que lorsque l'on fait annuler sur le formulaire, il n'efface pas les infos déja saisies
AjoutDossier.Hide
End Sub
Private Sub UserForm_Click() 'creation procedure evenementielle sur le formulaire
End Sub
Private Sub UserForm_Initialize() 'pour charger les données d'Actions dès que j'appelle le formulaire
Dim i As Integer 'declaration de la variable
i = 2 'initialisation de la variable
'cells est un peu comme range, i de la variable en ligne 1 donc A1
Do While Worksheets("Nomenclature").Cells(i, 2) <> "" 'cells i=1 donc première ligne, 1 pour la colonne
CbxAction.MatchRequired = True
CbxAction.AddItem Worksheets("Nomenclature").Cells(i, 2)
'incrémentation de la variable
i = i + 1
Loop
i = 2
'cells est un peu comme range, i de la variable en 1 ligne donc A1
Do While Worksheets("Nomenclature").Cells(i, 1) <> "" 'cells i=1 donc première ligne, 1 pour la colonne
CbxMatiere.MatchRequired = True
CbxMatiere.AddItem Worksheets("Nomenclature").Cells(i, 1)
'incrémentation de la variable
i = i + 1
Loop
i = 2
'cells est un peu comme range, i de la variable en 1 ligne donc A1
Do While Worksheets("Nomenclature").Cells(i, 2) <> "" 'cells i=1 donc première ligne, 1 pour la colonne
CbxAction2.AddItem Worksheets("Nomenclature").Cells(i, 2)
'incrémentation de la variable
i = i + 1
Loop
i = 2
'cells est un peu comme range, i de la variable en 1 ligne donc A1
Do While Worksheets("Nomenclature").Cells(i, 1) <> "" 'cells i=1 donc première ligne, 1 pour la colonne
CbxMatiere2.AddItem Worksheets("Nomenclature").Cells(i, 1)
'incrémentation de la variable
i = i + 1
Loop
End Sub
Merci.