AppleDance
XLDnaute Nouveau
Bonjour à tous,
Je suis un débutant en VBA et je souhaiterais trouver un moyen de créer une certaine macro. Ayant cherché sur ce forum et d'autre, je n'ai pas su/pu trouvé de réponse.
J'ai crée un UserForm que j'essai de finir, mais malheureusement je ne pense pas que je pourrais le finir tout seul:
J'ai déjà fait une première partie (saisie de données dans des TextBox et les faire d’afficher là où je le voudrais : Feuil1 --> A2, B2, C2.)
La seconde partie est plus compliquée pour moi: sélection sur la Feuil1, les données de Range "A" via un ComboBox si possible.
J'ai fait des test de macro dans mes recherches, mais elle bug si il n'y a qu'une seule ligne (mais elle marche! pas à la perfection, certes, mais elle fonctionne) Si vous avez une proposition....
Et mon second problème: Afficher les informations précédemment saisies (correspondant au choix fait dans ComboBox1)
Ex: Si on choisi l'info en A5 dans la comboBox1, alors les informations de la ligne sont afficher ( TextBox4 afficherait B5 et TextBox5 afficherait C5).
Toute idée serait la bienvenue.
Et merci par avance pour toute aide.
Je suis un débutant en VBA et je souhaiterais trouver un moyen de créer une certaine macro. Ayant cherché sur ce forum et d'autre, je n'ai pas su/pu trouvé de réponse.
J'ai crée un UserForm que j'essai de finir, mais malheureusement je ne pense pas que je pourrais le finir tout seul:
J'ai déjà fait une première partie (saisie de données dans des TextBox et les faire d’afficher là où je le voudrais : Feuil1 --> A2, B2, C2.)
Private Sub CommandButton1_Click()
'remplir textbox sur la page 1
no_ligne = Range("A1000").End(xlUp).Row + 1
Cells(no_ligne, 1) = TextBox1.Value
If TextBox1.Value = "" Then
MsgBox "Nom du saisisseur obligatoire"
Exit Sub
End If
Cells(no_ligne, 2) = TextBox2.Value
If OptionButton1 = True Then
Cells(no_ligne, 3) = "OK"
ElseIf OptionButton2 = True Then
Cells(no_ligne, 3) = "KO"
End If
Cells(no_ligne, 4) = TextBox3.Value
End Sub
'remplir textbox sur la page 1
no_ligne = Range("A1000").End(xlUp).Row + 1
Cells(no_ligne, 1) = TextBox1.Value
If TextBox1.Value = "" Then
MsgBox "Nom du saisisseur obligatoire"
Exit Sub
End If
Cells(no_ligne, 2) = TextBox2.Value
If OptionButton1 = True Then
Cells(no_ligne, 3) = "OK"
ElseIf OptionButton2 = True Then
Cells(no_ligne, 3) = "KO"
End If
Cells(no_ligne, 4) = TextBox3.Value
End Sub
La seconde partie est plus compliquée pour moi: sélection sur la Feuil1, les données de Range "A" via un ComboBox si possible.
J'ai fait des test de macro dans mes recherches, mais elle bug si il n'y a qu'une seule ligne (mais elle marche! pas à la perfection, certes, mais elle fonctionne) Si vous avez une proposition....
Private Sub ComboBox1_Change()
'selection combobox sur page 2
'message tapez une lettre
'ne marche que si nb de ligne >1. Pourquoi ?
Dim LastRow As Long
Sheets("Feuil1").Activate
LastRow = Range("A" & Rows.Count).End(xlUp).Row
ComboBox1.List = Range("A2:A" & LastRow).Value
End Sub
ou
Private Sub ComboBox1_Change()
'message tapez une lettre
ComboBox1.RowSource = ""
ComboBox1.List = ActiveSheet.Range("A2", ActiveSheet.Range("A" & Rows.Count).End(xlUp)).Value
End Sub
'selection combobox sur page 2
'message tapez une lettre
'ne marche que si nb de ligne >1. Pourquoi ?
Dim LastRow As Long
Sheets("Feuil1").Activate
LastRow = Range("A" & Rows.Count).End(xlUp).Row
ComboBox1.List = Range("A2:A" & LastRow).Value
End Sub
ou
Private Sub ComboBox1_Change()
'message tapez une lettre
ComboBox1.RowSource = ""
ComboBox1.List = ActiveSheet.Range("A2", ActiveSheet.Range("A" & Rows.Count).End(xlUp)).Value
End Sub
Et mon second problème: Afficher les informations précédemment saisies (correspondant au choix fait dans ComboBox1)
Ex: Si on choisi l'info en A5 dans la comboBox1, alors les informations de la ligne sont afficher ( TextBox4 afficherait B5 et TextBox5 afficherait C5).
Toute idée serait la bienvenue.
Et merci par avance pour toute aide.