Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Combobox dynamique

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

  • EXEMPLE.xlsm
    21.7 KB · Affichages: 14

Dranreb

XLDnaute Barbatruc
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

  • CBxL.xlsm
    80.9 KB · Affichages: 16
Dernière édition:

Dranreb

XLDnaute Barbatruc
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.
 

Dranreb

XLDnaute Barbatruc
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:

Discussions similaires

Réponses
9
Affichages
336
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…