Userform

Résolu/Fermé
mchotard Messages postés 415 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 18 mars 2024 - 27 oct. 2015 à 10:08
mchotard Messages postés 415 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 18 mars 2024 - 27 oct. 2015 à 14:22
Salut les amis
Je vous expose mes difficultés. dans mon fichier excel j'ai un tableau que j'ai nommé "périodes" et qui comporte 2 colonnes ; 1ère colonne n° 1 à 7 puis colonne 2 périodes scolaires.
J'ai également une userform dans la quelle j'ai une combobox13 qui par un ménu déroulant me donne les les n+ souhaité ainsi qu'une textebx1. C'est dans celle-c- que je souhaiterai qu'apparaisse les périodes en fonction du N° inscrit en combobox13.
J'espère avoir été suffisamment clair. Je reste à votre disposition.
Merci pour votre soutien
Cdlt

5 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
27 oct. 2015 à 11:22
Bonjour,

Voir ceci, contrôle TextBox et Combobox:

https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-E
0
mchotard Messages postés 415 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 18 mars 2024 38
27 oct. 2015 à 12:45
merci Cs_Le Pivert. Ce site est très intéressants et claires. Néanmoins, ma difficulté demeure.
Rappel
J'ai un tableau nommé "Périodes" dans une feuille "Constantes" et qui comprend 2 colonnes
colonne A = 1,2,3,4,5,6
Colonne B = Libellé des périodes scolaires

Combobox13 = menu déroulant à partir de la colonne A
textbox1 = je voudrais que les libelles du tableau colonne B apparaissent aussitôt dans mon userform

Voici le code que j'ai écrit :
Private Sub ComboBox13_Change()
Dim t As Single
t = Application.WorksheetFunction.VLookup(ComboBox13.Value, Sheets("Constantes").Range("Périodes"), 2, 0)
TextBox1.Value = t
End Sub

Et ça ne marche pas, pourquoi ?
Merci de m'aider
0
Bonjour
sans modèle de ton fichier dur de faire des correction
je pense a un truc comme ca
Private Sub ComboBox13_Change()
   TextBox1.Value = Sheets("Constantes").Range("B" & ComboBox13.ListIndex + 2).Value
End Sub

A+
Maurice
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
27 oct. 2015 à 14:01
Comme ceci:

Option Explicit
Dim i As Integer
Private Sub ComboBox1_Change() 'adapter nom combo
i = ComboBox1.Value
Range("A" & i).Select
TextBox1 = Selection.Offset(0, 1).Value 'cellule à droite
End Sub
Private Sub UserForm_Initialize()
Dim j As Integer
    
    'Récupère les données de la colonne A...
    For j = 1 To Range("A65536").End(xlUp).Row
        ComboBox1 = Range("A" & j)
        '...et filtre les doublons
        If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Range("A" & j)
    Next j
ComboBox1.ListIndex = 0
End Sub

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mchotard Messages postés 415 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 18 mars 2024 38
27 oct. 2015 à 14:22
merci à cs-Le Pivert et Maurice
C'est super ça marche bien. Je suis heureux
A+
Cordialement
0