VBA récupérer les données d'une ligne dans un userform

Fermé
isa38600 Messages postés 38 Date d'inscription samedi 27 août 2011 Statut Membre Dernière intervention 19 avril 2022 - 19 avril 2022 à 17:50
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 19 avril 2022 à 18:47
Bonjour,

je cherche à récupérer les données contenues dans la ligne de la cellule active dans un userform afin de pouvoir les modifier par la suite...

Le code que j'ai trouvé fonctionne mais avec un bug non négligeable: il sélectionne bien la ligne que je veux, mais lorsque l'userform se lance, ce sont les données de la ligne du dessus qui ont été récupérées...

Je n'ai rien trouvé qui répondait à mon soucis dans les différents posts sur le sujet, je ne comprends pas pourquoi ça me fait ça et ça commence à me rendre chèvre!

Je vous copie mon code ci-dessous. Merci d'avance aux bonnes âmes qui voudront bien m'expliquer ce qui cloche!

Sub CommandButton2_Cliquer()

'selectionner la ligne correspondant à la cellule active
ActiveCell.EntireRow.Select

'séparer les éléments "jour", "mois", "année" et les replacer dans les combobox correspondantes
Dim TabSep() As String
TabSep() = Split(Selection(ligne, 1).Value, " ")
UserForm2_modifier.ComboBox4.Value = TabSep(0)
UserForm2_modifier.ComboBox5.Value = TabSep(1)
UserForm2_modifier.ComboBox6.Value = TabSep(2)

'remplir le formulaire avec les données de la ligne sélectionnée
UserForm2_modifier.ComboBox1.Value = Selection(ligne, 2)
UserForm2_modifier.ComboBox2.Value = Selection(ligne, 3)
UserForm2_modifier.ComboBox3.Value = Selection(ligne, 4)
UserForm2_modifier.TextBox1.Value = Selection(ligne, 5)
UserForm2_modifier.ComboBox7.Value = Selection(ligne, 6)
UserForm2_modifier.TextBox2.Value = Selection(ligne, 7)
UserForm2_modifier.ComboBox8.Value = Selection(ligne, 8)
UserForm2_modifier.ComboBox9.Value = Selection(ligne, 9)
'End With
'End If

'afficher le formulaire
UserForm2_modifier.Show

End Sub




Configuration: Windows / Edge 100.0.1185.44

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
19 avril 2022 à 18:47
Bonjour,

la variable ligne n'est pas déclaré!

Dim ligne As Long
ligne = ActiveCell.Row

0