Combobox dans Usf

thomashty

XLDnaute Occasionnel
Bonjour à tous,

Je voudrais créer une combobox dont son contenu dépend d'une autre.

En gros que dans ma CBxListeDeDocument si j'entre
"a" ça me propose "A1 - A2 - A3 ...." dans la CbxListeDeDocument1
"b" ça me propose "B1 - B2 - B3 ...." dans la CbxListeDeDocument1
"c" ça me propose "C1 - C2 - C3 ...." dans la CbxListeDeDocument1....

Merci de votre aide (j'ai trouvé cela sur le net [XL-2003] utiliser une combobox a partir d'une autre combobox mais je n'arrive pas à l'adapter...)

Pour cela cliquez dans "ajouter un document" (MDP: toto), en haut se trouve un formulaire et les CBx sont là.

TH
 

Pièces jointes

  • Outil à modifier.xlsm
    223.8 KB · Affichages: 51

JM27

XLDnaute Barbatruc
Re : Combobox dans Usf

bonjour

Code:
Private Sub CBxTypeDeDocument_Change()
    Dim Cell As Range
     CBxTypeDeDocument1 = ""
    CBxTypeDeDocument1.Clear
    With Sheets("Liste de documents")
        For Each Cell In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
            If Cell = Me.CBxTypeDeDocument Then
                Me.CBxTypeDeDocument1.AddItem (Cell.Offset(0, 1))
            End If
        Next
    End With
    
End Sub

Remarque importante:
Il faut impérativement que la liste des items dans l'initialyse de ta combo box CBxTypeDeDocument
soit identique à la liste des items en colonne A ( cela n'est pas le cas)
 

Pièces jointes

  • Outil à modifier.xlsm
    204 KB · Affichages: 48
Dernière modification par un modérateur:

JM27

XLDnaute Barbatruc
Re : Combobox dans Usf

Bonsoir
eh bien c'est bien ce que j'ai fait!
ou alors je n'ai rien compris ???:confused:
sauf que la liste CBxTypeDeDocument n'est pas correcte( elle ne correspond pas à la colonne A)
tout cela nest pas bon ( a mon avis)
Code:
CBxTypeDeDocument.AddItem "Article/Rapport"
        CBxTypeDeDocument.AddItem "Congrès"
        CBxTypeDeDocument.AddItem "Cours/Formation"
        CBxTypeDeDocument.AddItem "Documentation fournisseur"
        CBxTypeDeDocument.AddItem "Documentation graphique"
        CBxTypeDeDocument.AddItem "Guide"
        CBxTypeDeDocument.AddItem "Interface"
        CBxTypeDeDocument.AddItem "Lexique/Dictionnaire"
        CBxTypeDeDocument.AddItem "Quantité de matière/Ratio"
        CBxTypeDeDocument.AddItem "Revue"
        CBxTypeDeDocument.AddItem "Texte réglementaire"
        CBxTypeDeDocument.AddItem "Thèse"

exemple:
Cours et formations n'est pas égal à Cours/Formation
Congrés n'est pas égal à Congrès
Textes réglementaires et Texte réglementaire
etc

de plus des lignes sont recopiées plusieurs fois , parfois au moins 15 fois ? dans la liste des documents
Certaines cellules sont vides ?
Je te suggère donc de commencer à travailler d'abord sur ta liste de documents
 
Dernière modification par un modérateur:

thomashty

XLDnaute Occasionnel
Re : Combobox dans Usf

Bonjour à vous,

Je me suis peut être mal exprimé, en fait à la base ce formulaire alimente ma base de données "feuille Liste de documents". Donc ces 2 Cbx sont complétement indépendantes, c'est moi qui vais choisir leur contenu.

Exemple plus clair : si dans la CbxTypeDeDocument il y a différents critères : "Pays" "Départements" "Villes"...
  • si je choisis "Pays", il faut que dans la CbxTypeDeDocument1 il n'y ait que des "Pays" qui apparaissent
  • si je choisis "Villes", il faut que dans la CbxTypeDeDocument1 il n'y ait que des "Villes" qui apparaissent etc etc

Merci de votre aide

Thomas
 

Dranreb

XLDnaute Barbatruc
Re : Combobox dans Usf

Bonjour.
Ça ne change rien, même si votre CBxTypeDeDocument c'est autre chose que le Type de document colonne A de la Liste de documents: vous devriez quand même partir d'une source pour assumer ces affichages et celle ci pourrait avoir une colonne pour la CBxTypeDeDocument et une autre pour l'autre.
Pas clair quand même tout ça. Si l'autre était destinées à des colonnes différentes dépendant de la 1ère, quel est l'avantage de faire comme ça plutôt que autant de ComBox qu'il y a de types de documents et donc de colonnes ?

Pour mettre à jour Liste de documents vous auriez tout intérêt à tout saisir de A à F dans 6 ComboBox liées. Ça permettrait de vérifier si ce que vous vous apprêtiez à ajouter n'existe pas déjà.
Il est possible de stopper l'objet pour pouvoir modifier une ComboBox sans que cela ne déclenche la recherche, et aussi pour avoir la liste de tout ce qui existe dans la base dans chaque colonne.
Un bouton "Ouvrir" serait pas mal pour demander ce blocage. Il pourrait se transformer en "Vérifier" pour pouvoir s'assurer que les changements apportés aux ComboBox n'aboutissent pas à un autre document qui existe déjà.
 
Dernière édition:

thomashty

XLDnaute Occasionnel
Re : Combobox dans Usf

Voilà je vous ai remis le fichier modifier,

Ce formulaire sert à alimenter la BDD que j'ai vidé par rapport au premier fichier

il faut que les items "articles, congrès thèse formation..." n’apparaissent QUE lorsque "DOC TECHNIQUE" est renseigné dans la CBxLDD.
Lorsque je renseigne "ESTIMATIONS", il faut que ce soit une liste différente dans la CBxLDD1, à savoir 1,2,3,4,5,6.....
Lorsque je renseigne "EXEMPLES PROJETS", il faut que ce soit encore une liste différente dans la CBxLDD1, à savoir A,B,C,D,E,F.....

Thomas
 

Pièces jointes

  • Outil à modifier.xlsm
    183.8 KB · Affichages: 47
Dernière modification par un modérateur:

Dranreb

XLDnaute Barbatruc
Re : Combobox dans Usf

Si vous tenez à ce que les listes proposées soient différentes de ce qui est déjà contenu dans la LDD, basez les sur un tableau de 'profils' de documents comportant les mêmes colonnes.
Mais je ne sais pas trop ce que ça apporterait parce que si ça n'existe pas déjà on peut quand même prendre la peine de le taper pour qu'après ça y soit et qu'on l'y retrouve. Ça n'empêcherait pas de créer d'autres documents avec le même profil si on s'y prend astucieusement, en utilisant notamment la faculté de l'objet ComboBoxLiées d'être bloqué.
 
Dernière édition:

thomashty

XLDnaute Occasionnel
Re : Combobox dans Usf

Si vous tenez à ce que les listes proposées soient différentes de ce qui est déjà contenu dans la LDD, basez les sur un tableau de 'profils' de documents comportant les mêmes colonnes.

La LDD est alimenté par le formulaire justement, c'est lui qui fixe les différents renseignements propres à chaque document intégré dans la base de données
 

Dranreb

XLDnaute Barbatruc
Re : Combobox dans Usf

Mais pourquoi la recherche parmi ceux qui y figurent déjà nuirait elle ?
Ça n'empêche pas d'y taper du neuf. La méthode CouleurSympa vise justement à repérer facilement ce qui est nouveau et va logiquement être ajouté.
 

thomashty

XLDnaute Occasionnel
Bonjour, j'ai réussi, j'ai ajouté une feuille "type de documents" et ajouté ce code:

VB:
Private Sub CBxTypeDeDocument_Click()
Dim Lig As Integer
Dim Col As Integer
    Col = CBxTypeDeDocument.ListIndex + 2
    Lig = 2
    CBxTypeDeDocument1.Clear
    With Sheets("Type de document")
        While .Cells(Lig, Col) <> ""
            CBxTypeDeDocument1.AddItem .Cells(Lig, Col)
            Lig = Lig + 1
        Wend
    End With
    CBxTypeDeDocument1.ListIndex = 0
End Sub

'Pour le formulaire
Private Sub UserForm_Initialize()
Dim Col As Integer
    Col = 2
    With Sheets("Type de document")
        While .Cells(1, Col) <> ""
            CBxTypeDeDocument.AddItem .Cells(1, Col)
            Col = Col + 1
        Wend
    End With
    CBxTypeDeDocument.ListIndex = 0

C'est fait à ma façon si vous trouvez une meilleure solution n'hésitez pas :)

Thomas
 

Pièces jointes

  • Outil à modifier.xlsm
    189.1 KB · Affichages: 1

Discussions similaires

Réponses
19
Affichages
1 K