Info listbox dans textbox et modif de celui-ci

poufab

XLDnaute Nouveau
Bonjour,
J'ai cherché un peut partout et je ne trouve pas ce que je cherche, ou j'ai trouvé mais j'arrive pas à le faire marché pour moi.

Mon soucis est que je voudrai faire apparaitre dans 3 textbox les infos d'une ligne de listbox quand je click sur celle-ci et pouvoir modifier l'une des 3 textbox et validé la modif à l'aide du bouton adéquat dans la base de donnée.
les 3 textbox concerné sont NOM, PRENOM, DERNIER RECYCLAGE, l'info à modifier serai celle de DERNIER RECYCLAGE.
Et je voudrai également lorsque dans la liste deroulante je selectionne un nom, dans la listbox s'affiche tout les éléments se repportant à ce nom.

La macro doit ce faire sur l'userform3 du fichier joint.

Je remercie d'avance toute personne qui ce pencheras sur mon petit problème
 

Pièces jointes

  • formulaireSST.xlsm
    35.7 KB · Affichages: 63
  • formulaireSST.xlsm
    35.7 KB · Affichages: 61
  • formulaireSST.xlsm
    35.7 KB · Affichages: 63

poufab

XLDnaute Nouveau
Re : Info listbox dans textbox et modif de celui-ci

Merci Robert,
Le fichier est très bien, je pourrai facilement l'adapter à ce que j'ai besoin en remaniant juste un peut les userform du fichier joint, j'ai testé sa marche. Mais mon but est de comprendre comment cela tout fonctionne, et j'ai voulue l'adapté à mon fichier en modifiant "les sources", mais sa ne marche pas ,et je comprend pas pourquoi, et tu vois j'aimerai bien comprendre pourquoi?

Le code est:

Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
Dim x As Integer 'déclare la variable x (incréemt)

'***************************
'alimentation de la ListBox1
'***************************
'boucles sur toutes les cellules éditées de la colonne C de l'onglet "Feuil2"
For x = 2 To Sheets("Feuil2").Range("C65536").End(xlUp).Row
With Me.ListBox1 'prend en compte la ListBox1
.AddItem Sheets("Feuil2").Cells(x, 2) 'ajoute la valeur de la colonne A
.Column(1, .ListCount - 1) = Sheets("Feuil2").Cells(x, 3) 'ajoute la valeur de la colonne B
.Column(2, .ListCount - 1) = Sheets("Feuil2").Cells(x, 4) 'ajoute la valeur de la colonne C
.Column(3, .ListCount - 1) = Sheets("Feuil2").Cells(x, 5) 'ajoute la valeur de la colonne D
.Column(4, .ListCount - 1) = Sheets("Feuil2").Cells(x, 6) 'ajoute la valeur de la colonne E
.Column(5, .ListCount - 1) = Sheets("Feuil2").Cells(x, 7) 'ajoute la valeur de la colonne F
.Column(6, .ListCount - 1) = Sheets("Feuil2").Cells(x, 8) 'ajoute la valeur de la colonne G
End With 'fin de la prise en compte de la ListBox1
Next x 'prochaine cellule de la boucle
'alimentation de la ComboBox1
Me.ComboBox1.List = Sheets("MOTIF").Range("A1:A" & Sheets("MOTIF").Range("A65536").End(xlUp).Row).Value
End Sub

Private Sub ListBox1_Click() 'au clic dans la ListBox1

If Me.Caption = "SUPPRESSION" Then Exit Sub 'si l'UserForm1 porte le titre "SUPPRESSION", sort de la procédure

'********************************
'récupère les données de la ligne
'********************************
With Me.ListBox1 'prend en compte la ListBox1
Me.TextBox1.Value = .Column(1, .ListIndex) 'récupère le nom
Me.TextBox2.Value = .Column(2, .ListIndex) 'récupère le prénom
Me.TextBox3.Value = .Column(3, .ListIndex) 'récupère la chambre
Me.ComboBox1.Value = .Column(4, .ListIndex) 'récupère lieu de rdv
Me.CheckBox1.Value = IIf(.Column(5, .ListIndex) = "X", True, False) 'récupère la régularisation
End With 'fin de la prise en compte de la ListBox1
Me.TextBox1.SetFocus 'place le curseur dans la TextBox1
'sélectionne le texte de la TextBox1
Me.TextBox1.SelStart = 0 'début de la sélection
Me.TextBox1.SelLength = Len(Me.TextBox1.Value) 'longueur de la sélection
End Sub
-------------------------------------------------------------------------
J'ai modifié "feuil2", viré les "Me.", decaler mes colonne de la base comme dans le fichier exemple mais sa ne marche pas.

Si quelqu'un peut m'indiquer l'erreur??? Que j'essaye de piger le truc pour essayer de me debrouillé seul par la suite.

Merci d'avance.
 

poufab

XLDnaute Nouveau
Re : Info listbox dans textbox et modif de celui-ci

Bonsoir Poufab, bonsoir le forum,
C'est ton fichier en pièce jointe qu'il nous faudrait pour pouvoir te dire où se trouve le problème...


Bien il y est en piéce jointe non?

Quand tu auras 2 min si tu peut jeter un coup!!

merci encore
 

Pièces jointes

  • formulaireSST.xlsm
    35.7 KB · Affichages: 57
  • formulaireSST.xlsm
    35.7 KB · Affichages: 65
  • formulaireSST.xlsm
    35.7 KB · Affichages: 62

poufab

XLDnaute Nouveau
Re : Info listbox dans textbox et modif de celui-ci

Salut le forum,
Donc j'ai dejà réussie à résoudre un des problèmes tout seul comme un grand! Youpi!!!

L'ancienne macro qui était avec le fichier exemple envoyé par le sympathique Robert:
'***************************
'alimentation de la ListBox1
'***************************
'boucles sur toutes les cellules éditées de la colonne C de l'onglet "Feuil2"
For x = 2 To Sheets("Feuil2").Range("C65536").End(xlUp).Row
With Me.ListBox1 'prend en compte la ListBox1
.AddItem Sheets("Feuil2").Cells(x, 2) 'ajoute la valeur de la colonne A
.Column(1, .ListCount - 1) = Sheets("Feuil2").Cells(x, 3) 'ajoute la valeur de la colonne B
.Column(2, .ListCount - 1) = Sheets("Feuil2").Cells(x, 4) 'ajoute la valeur de la colonne C
.Column(3, .ListCount - 1) = Sheets("Feuil2").Cells(x, 5) 'ajoute la valeur de la colonne D
.Column(4, .ListCount - 1) = Sheets("Feuil2").Cells(x, 6) 'ajoute la valeur de la colonne E
.Column(5, .ListCount - 1) = Sheets("Feuil2").Cells(x, 7) 'ajoute la valeur de la colonne F
.Column(6, .ListCount - 1) = Sheets("Feuil2").Cells(x, 8) 'ajoute la valeur de la colonne G
End With 'fin de la prise en compte de la ListBox1
Next x 'prochaine cellule de la boucle
'alimentation de la ComboBox1
Me.ComboBox1.List = Sheets("MOTIF").Range("A1:A" & Sheets("MOTIF").Range("A65536").End(xlUp).Row).Value
End Sub

Que j'ai modifié comme tel:
Private Sub UserForm_Initialize()
'si la dernière ligne est supérieure à 256 déclarer i et x en Integer
Dim i As Byte, x As Byte
i = Sheets("BASE DE DONNEE").Range("C1000").End(xlUp).Row
For x = 1 To i
With ListBox1
.AddItem Sheets("BASE DE DONNEE").Cells(x, 2)
.Column(1, .ListCount - 1) = Sheets("base de donnee").Cells(x, 3)
.Column(2, .ListCount - 1) = Sheets("base de donnee").Cells(x, 4)
.Column(3, .ListCount - 1) = Sheets("base de donnee").Cells(x, 5)
.Column(4, .ListCount - 1) = Sheets("base de donnee").Cells(x, 6)
.Column(5, .ListCount - 1) = Sheets("base de donnee").Cells(x, 7)
End With
Next x
End Sub
Mais petit probléme j'ai l'intitulé des colonnes qui se met dans la listbox comment évité cela??
Par contre j'ai toujours pas résolue le problème du click dans la listbox avec cette macro
Private Sub ListBox1_Click() 'au clic dans la ListBox1

If Me.Caption = "SUPPRESSION" Then Exit Sub 'si l'UserForm1 porte le titre "SUPPRESSION", sort de la procédure

'********************************
'récupère les données de la ligne
'********************************
With Me.ListBox1 'prend en compte la ListBox1
Me.TextBox1.Value = .Column(1, .ListIndex) 'récupère le nom
Me.TextBox2.Value = .Column(2, .ListIndex) 'récupère le prénom
Me.TextBox3.Value = .Column(3, .ListIndex) 'récupère la chambre
Me.ComboBox1.Value = .Column(4, .ListIndex) 'récupère lieu de rdv
Me.CheckBox1.Value = IIf(.Column(5, .ListIndex) = "X", True, False) 'récupère la régularisation
End With 'fin de la prise en compte de la ListBox1
Me.TextBox1.SetFocus 'place le curseur dans la TextBox1
'sélectionne le texte de la TextBox1
Me.TextBox1.SelStart = 0 'début de la sélection
Me.TextBox1.SelLength = Len(Me.TextBox1.Value) 'longueur de la sélection
End Sub

J'ai l'impression que sa click pas du tout dans la listbox, peut être un truc à paramétré!!
Quelqu'un aurai une idée, pour résoudre cet épineux probléme???
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Info listbox dans textbox et modif de celui-ci

Bonsoir Poufab, bonsoir le forum,

Pour que ça marche il faut mettre le code me semble-t-il... En pièce jointe ton fichier modifié.
 

Pièces jointes

  • Poufab_v01.xlsm
    24.6 KB · Affichages: 95

Discussions similaires

Réponses
8
Affichages
380
  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
441

Statistiques des forums

Discussions
312 610
Messages
2 090 211
Membres
104 452
dernier inscrit
hamzamounir