Combobox avec MAJ des items

lironik

XLDnaute Nouveau
Bonjour
Je me retrouve face à un problème qui est le suivant:
J'ai 12 combobox avec pour chaque combobox les même items qui sont A,B,C,...,K,L
Ce que je voudrait c'est que lorsque dans la première combobox je choisi B cela entraine qu'on peut plus choisir B dans les combobox suivantes. Ainsi si tout est bon dans la combobox 12 je ne devrais pas avoir le choix car je n'aurais qu'un seul item.
Le problème est que je ne sais pas du tout comment mettre en place ce système donc je n'ai pas de code à vous proposer.
Merci de votre aide
 

lironik

XLDnaute Nouveau
Re : Combobox avec MAJ des items

Bonjour le forum
Je remets cette discussion à l'ordre du jour car je n'arrive pas à appliquer la formule de bebere qui me parait très compliqué (et cela par rapport à mon niveau en vba --> je n'ai jamais utilisé de module de classe auparavant). J'aimerais donc votre aide pour trouver une autre solution à mon problème.
Merci
 

jp14

XLDnaute Barbatruc
Re : Combobox avec MAJ des items

Bonjour

Ci dessous un fichier avec une autre méthode.

Suppression de l'item dans les combobox et affichage de la combobox suivante.

A tester

JP
 

Pièces jointes

  • supitem1.zip
    9.5 KB · Affichages: 37

lironik

XLDnaute Nouveau
Re : Combobox avec MAJ des items

Voilà j'ai essayé de mieux reformuler le problème:
J'ai 12 combobox avec pour chaque combobox les même items (au nombre de 12) qui sont réparation A, Forfait B, Forfait C, ..., Réparation X (ces items étant dans la feuille "réparation" en C3:C14)
Ce que je voudrait faire c'est que lorsque dans la première combobox je choisi un item cela entraine qu'on ne peut plus choisir cet item dans les combobox suivantes. Ainsi, si tout est bon, dans la combobox 12 je ne devrais pas avoir le choix car je n'aurais qu'un seul item.

J'espère que vous voyez mieux désormais où se situe mon problème.
 

lironik

XLDnaute Nouveau
Re : Combobox avec MAJ des items

Merci de votre réponse JP14
J'ai appliqué votre code à mon projet ce qui me donne le code suivant
Code:
Private Sub maj(valeur1 As String, nucombo As Integer)
flag = True
For j = nucombo + 1 To 12 ' nombre de controles

        For i = 0 To Me.Controls("designationP" & j).ListCount
            Me.Controls("designationP" & j).ListIndex = i
            If Me.Controls("designationP" & j).Value = valeur1 Then
                Me.Controls("designationP" & j).RemoveItem (Me.Controls("designationP" & j).ListIndex)
                Me.Controls("designationP" & j).Value = ""
                Exit For
            End If
        Next i

Next j
flag = False
Me.Controls("designationP" & nucombo + 1).Visible = True
End Sub

Mais je me heurte à un bug
Petite précision: les 12 comboboxbox ne sont pas constamment affichés. Je peux choisir d'en afficher 1 ou 2 ou... ou 12. Lorsque j'en affiche que 8 le code fonctionne mais dès que passe à 9 le code bug et notamment la ligne suivante:
Code:
Me.Controls("designationP" & j).ListIndex = i
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Combobox avec MAJ des items

Bonsoir,

Voir PJ

http://boisgontierjacques.free.fr/fichiers/Formulaire/FormComboboxClasse.xls

Code:
Dim Cmb(1 To 11) As New ClasseSaisie
Private Sub UserForm_Initialize()
 For b = 1 To 11: Set Cmb(b).GrSaisie = Me("ComboBox" & b): Next b
 Me.ComboBox1.List = [Maliste].Value
End Sub

[B]Module de classe ClasseSaisie:[/B]

Public WithEvents GrSaisie As MSForms.ComboBox
Private Sub GrSaisie_Change()
   no = Val(Mid(GrSaisie.Name, 9)) + 1
   UserForm2("ComboBox" & no).Visible = True
   UserForm2("ComboBox" & no).List = GrSaisie.List
   UserForm2("ComboBox" & no).RemoveItem GrSaisie.ListIndex
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

  • Classeur1.xls
    29.5 KB · Affichages: 93
  • Classeur1.xls
    29.5 KB · Affichages: 97
  • Classeur1.xls
    29.5 KB · Affichages: 91
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 576
Messages
2 089 836
Membres
104 287
dernier inscrit
kahinaaittouares@hotmail.