Combobox liste - rempli textbox1, texbox2

Bonjour a vous,

Et merci a ceux qui m'apporterons leurs support !

Il s'ait en faite de mon premier combobox donc.....je galère !

Voila, dans mon userform, j'ai mis un combobox1 qui récupère la liste des noms de la feuil1 :

Private Sub UserForm_Initialize()

Dim Plage As Range

With Sheets("Feuil1")

Set Plage = .Range("A2:A" & .Range("A65536").End(xlUp).Row)

End With

ComboBox1.List = Plage.Value

je souhaiterai que ayant choisi le nom, le reste des infos s'affiche dans l'userform des texbox 2, texbox3 etc....

infos situé dans la feuil1

Mais voila, je n'ai pas trouvé ou mal compris le fonctionnement

Une fois rapatrié, je modifierai donc les info par un bouton ....modifié.....!

Merci encore de votre support.

Fred

edit

J'ai rajouté cette ligne, mais biensur, c'est la meme valeur qui est ramener !

Private Sub ComboBox1_Change()

Me.TextBox1 = Me.ComboBox1.Value

Me.TextBox2 = Me.ComboBox1.Value

15combobox-v2.xlsm (116.73 Ko)

Bonjour,

votre ComboBox est alimenté via l'onglet "Feuil1" colonne A

donc, selon votre fichier joint, par les données:

a

erere

le problème est que ces données ne sont pas présente sur l'onglet "Table des Périodes"

et sur la macro UserForm_Initialize()

vous faite référence à Feuil45 ("Table des Périodes") pour alimenter les TextBox

si vous voulez renseigner les TextBox via les info de "Feuil1" colonne A,

il faudrait trouver ces même info sur l'onglet "Table des Périodes"

alors il serait possible de trouver la ligne de "a" ou "erere"

avec le numéro de ligne on peut récupérer les valeurs à différente colonne sur cette ligne.

Bonjour SabV,

Tout d'abord merci de votre support.

Je me suis permis de remplacer le fichier joint par des termes plus explicit : nom1, nom2 et nom3

et de rajouter les lignes suivantes

Private Sub ComboBox1_Change()

Me.TextBox1 = Me.ComboBox1.Value

Me.TextBox2 = Me.ComboBox1.Value

end sub

J'obtiens donc, dans le textbox1 : nom1, mais bien sur dans le texbox2 nom1....

n'y a t'il pas de code pour afficher texbox2 nom2 ?

Faut il obligatoirement créer alors un autre userform pour la feuill1 ?

si oui quel serait ce code ?

Merci encore du temps accorde.

Fred

11combobox-v2.xlsm (116.73 Ko)

Je me suis permis de remplacer le fichier joint

oups... un oublie de fichier joint ?

sabV a écrit :

Je me suis permis de remplacer le fichier joint

oups... un oublie de fichier joint ?

Oui ! dsl ! erreur réparée !

Fred


Bonjour SabV

Je pense avoir trouvé ceci :

Private Sub ComboBox1_Change()

With ThisWorkbook.Sheets("Feuil1") <--- remplacer !

For Each nom In .Range("A5:A" & .[A65000].End(xlUp).Row)

If CStr(nom) = CStr(Me.ComboBox1.Value) Then

Me.TextBox1.Value = .Cells(nom.Row, 1)

Me.TextBox2.Value = .Cells(nom.Row, 2)

End If

Next

End With

End Sub

Mais ce-la bonne méthode ???

Me manque que la méthode pour les modifiés.......

Private Sub ComboBox1_Change()

With ThisWorkbook.Sheets("Agenda séquentiel")

difficile de répondre, il n'y a pas d'onglet "Agenda séquentiel" dans le fichier joint...

sabV a écrit :

Private Sub ComboBox1_Change()

With ThisWorkbook.Sheets("Agenda séquentiel")

difficile de répondre, il n'y a pas d'onglet "Agenda séquentiel" dans le fichier joint...

exact, cela vient de mon fichier de travail, je viens de le remplacer par Feuil1 et cela fonctionne !

Il faut que je trouve maintenant la méthode de modifier via le bouton modifier.....

en effet je peux modifier les texbox que je veux, mais en faisant ok, une autre ligne est rajouter sans supprimer l'original....

merci encore de ton support et de vos idées.

Fred

Bonjour sabV,

Tous fonctionne parfaitement !

Merci de m'avoir mis sur la bonne voie.

Ayant eu l'erreur d'execution 381, j'ai fait les actions suivantes :

Dim Plage As Range

With Sheets("Feuil1")

Set Plage = .Range("A1:A" & .Range("A65536").End(xlUp).Row)

End With

ComboBox1.List = Plage.Value

remplacer par :

ComboBox1.List() = Sheets("Feuil1").Range("A1:A65536").Value

Suivi de :

Private Sub ComboBox1_Change()

With ThisWorkbook.Sheets("Feuil1") <--- remplacer !

For Each nom In .Range("A1:A" & .[A65000].End(xlUp).Row)

If CStr(nom) = CStr(Me.ComboBox1.Value) Then

Me.TextBox1.Value = .Cells(nom.Row, 1)

Me.TextBox2.Value = .Cells(nom.Row, 2)

End If

Next

End With

End Sub

Erreur corriger

Voila merci encore a vous sebV

et bonne soirée

Fred

Merci Fred pour ce retour,

Cordialement.

isabelle

bonjour

bon voila une modife a toi de voir

A+

Maurice

22combobox-v2.zip (91.14 Ko)

Re

voila un modife des OptionButton

A+

Maurice

10combobox-v2.zip (92.46 Ko)
archer a écrit :

bonjour

bon voila une modife a toi de voir

A+

Maurice

Bonjour Maurice,

Merci du temps passé et surtout encore merci de l'optimisation du code ! on sent l'expérience !

je garde ton code !

Si je peux abusé , lorsque je choisi :

nom1, rien n'apparait

nom 2 ok

nom 3, rien apparaît

nom4 rien non plus

Merci encore de ton support.

Fred

Bonjour Maurice,

Merci,

pour les nom1 nom2...etc qui change c'est ok ! Merci également pour le petit plus du rappel Outlook bouton oui ou non.

Mais dans la bataille, j'ai perdu le pourquoi du fichier !

lorsque je double cliquais sur la ligne trouvée, (souligner en vert), cela "ramènait" les informations de la ligne dans une autre feuille excel (Feuil1) juste les informations des colonnes A, e, f et g (mis en bleu dans le fichier joint) qui seront copiés dans la feuill1 (placé dans les colonnes mis en bleu pour l'occasion) et visible dans l'userform

et la prochaine recherche se copiera juste en dessus de l'autre et ainsi de suite...

j'ai donc rajouter sous ta ligne de code

Set Sh = Feuil3

ComboBox1.List = Sh.Range("A5:C" & Sh.Range("A" & Rows.Count).End(xlUp).Row).Value:

ceci :

Private Sub UserForm_Initialize()

'ouvre le userform en double clic avec les infos de la ligne concernée

Ligne = ActiveCell.Row

With Feuil45

TextBox4.Value = .Cells(Ligne, 2).Value

TextBox7.Value = .Cells(Ligne, 6).Value

TextBox8.Value = .Cells(Ligne, 7).Value

TextBox9.Value = .Cells(Ligne, 8).Value

End With

Je ne sais pas si cela est tres "catholique" mais cela fonctionne !

Merci encore de ton support et de tes améliorations

Fred

bonjour

voila le principe d'une base de donner

a toi de voir

A+

Maurice

22combobox-v4.xlsm (170.12 Ko)

Merci Maurice pour toutes ces infos !

sacré code !

Malheureusement lorsque je lance le fichier il y a une erreur de compilation....office 2013 ?

Quoiqu',il en soit je regarde ton code avec grand intérêt !

Merci encore du temps passé.

Fred

archer a écrit :

bonjour

voila le principe d'une base de donner

a toi de voir

A+

Maurice

Re Bonjour Maurice,

des le lancement de ton fichier j'ai une erreur de compilation (type non defini ...)

sur private sub ListView1....

dommage je ne pourrais pas exploiter a fond ton fichier, mais c'est deja une grand source d'inspiration !

Merci du temps passé

Fred

Rechercher des sujets similaires à "combobox liste rempli textbox1 texbox2"