Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Monhtc

XLDnaute Occasionnel
Bonsoir mes très chers, j'ai recours à votre expertise afin de rendre mes combox box de mon userfom dynamiques...
voici quelques explication suivi d'un fichier joint

Box1
'Lier Box2 en fonction des box2 et box3 si ANNE MARIE est choisie, automatiquement la box2 affiche sa ville et la box3 son contact
'Si nouveau nom entré dans la box1 il est accepté et se rajoute automatiquement à la base du tableau& sur la feuil3 dans la colonne nom
'SI possible un tri alphabétique apès la nouvelle entré à partir de la colonne du tableau1
Box2
'Lier box2 en fonction des box1 et box3. Par exemple si MARSEILLE est choisi, automatiquement la box1 affiche son nom et la box3 son contact
'Si nouvelle ville entrée dans la box2 il est accepté et se rajoute automatiquement à la base du tableau& sur la feuil3 dans la colonne ville

Box3
'Lier box3 en fonction des box1 et box2. Par exemple si 11 11 11 11 11 11 est choisi, automatiquement la box1 affiche son nom et la box2 sa ville
'Si nouveau contact entré dans la box3 il est accepté et se rajoute automatiquement à la base du tableau& sur la feuil3 dans la colonne contact
 

Pièces jointes

Bonsoir.
Utilisez mon objet ComboBoxLiées, il fait ça tout seul.
Classeur précurseur d'un complément xlam joint. Une fois installé, cochez la référence CBxL dans votre classeur.

Remarque: enlevez les RowSource, ils gênent.
Le code :
VB:
Option Explicit
Private WithEvents CL As ComboBoxLiées, TVL(), LCou As Long
Private Sub UserForm_Initialize()
   Set CL = CBxL.Création.ComboBoxLiées
   CL.Plage Feuil3
   CL.Add Me.box1, 1
   CL.Add Me.boxé, 2
   CL.Add Me.box3, 3, "&"
   CL.CouleurSympa
   CL.Actualiser
   End Sub
Private Sub CL_Change(ByVal Complet As Boolean, ByVal NbrLgn As Long)
   LCou = 0
   End Sub
Private Sub CL_Résultat(Lignes() As Long)
   LCou = Lignes(1)
   End Sub
Private Sub valider_Click()
   If LCou = 0 Then
      ReDim TVL(1 To 1, 1 To CL.Colonnes.Count)
      CL.ValeursVers TVL
      CL.Lignes.Add.Range.Value = TVL
      CL.Lignes.Parent.Sort.Apply
      CL.Actualiser
      End If
   CL.Nettoyer
   End Sub
 

Pièces jointes

Dernière édition:
Bonjour.
Que voulez vous dire par là ?
Installez le complément, cochez la référence à CBxL dans votre classeur d'application et mettez le code indiqué dans votre UserForm.
Remarque: il serait aussi possible d'installer dedans les modules de service du CBxL si vous préférez.
 
Bonjour ChTi160
L'erreur de frappe n'est pas là, elle était chez Monhtc quand il a nommé la ComboBox. Elle s'appelle bien comme ça.
Si je devais les renommer ce serait CBxRepré, CBxVille et CBxContact.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
38
Affichages
483
Réponses
9
Affichages
379
Réponses
4
Affichages
495
Réponses
26
Affichages
1 K
Retour