CheckBox et évenement ComboBox

Valaraukar

XLDnaute Nouveau
Bonjour a tous

Etat des lieux :
- Je veux pouvoir afficher les étape d'un voyage en fonction d'une combobox. Quand je change de voyage, je veux visualiser les étapes de celui-ci et ne rien voir d'autre.

État des lieux dans EXCEL:
- je travaille dans une userform et mes données sont dans les feuilles de mon classeur.
- Ma userform contiens de nombreuses checkbox que je ne souhaite pas voir (sauf si elle reflète une étape)
- J'ai 20 checkbox à cacher ou afficher ET à remplir (caption) en fonction du voyage choisi.


Je cherche donc à modifier CheckBox1.caption avec l'évenement ComboBox_change sur 20 checkbox (donc utilisation d'une boucle).
J'ai un tableau dans lequel je rentre le nom des étapes et en bas de chaque colonne une fonction Nbval qui me donne le nombre d'étapes. je veux donc que la checkbox 1 affiche le nom de l'étape 1 , le checkBox 2 affiche le nom de l'étape 2, etc...

Exemple : j'ai 4 étapes à mon voyage, je ne veux voir que 4 checkbox renseignées avec le nom des étapes.


Voila ce que j'ai essayé de faire ... sans succès car pas grand chose fonctionne :rolleyes:

Private Sub combobox1_Change()

Dim compt As Integer
Dim etapeX As String
'variable qui dois prendre le nom de l'étape
Dim SelMission as String
Dim C as string

etapeX = 0
compt = 0
Selvoyage = combobox1.Value
'prend la valeur de ma combobox
Select Case Selvoyage
Case "aller à paris"
C = 17
While compt < Sheets(Feuil1!L37)
'Sheets(Feuil1!L37) = nombre d'étape calculé par NBVAL
etapeX = "CheckBox" & compt 'Création de la valeur "CheckBox1" /2/3/4 etc...
etapeX.Caption = Sheets(Feuil1!L"C") 'Renseigner le nom de l'étape numéro X en fonction de la feuille et case correcte (qui dois s'incrémenter)
etapeX.Visible = True
compt = compt + 1
Wend
compt = Sheets(Feuil1!L37) + 1
While compt <= 20
etapeX = "CheckBox" & compt
'Création de la valeur "CheckBox1" /2/3/4 etc...
etapeX.Visible = False
compt = compt + 1
Wend

Case "X" etc...
End Select
End Sub

Voila je ne peux pas vous mettre le fichier en ce moment car je ne l'ai pas et je travaille uniquement sur ces lignes de code que je souhaite faire tourner sans arriver sur DEBUG :p
 

jms31

XLDnaute Junior
Re : CheckBox et évenement ComboBox

bonjour Valaraukar,

N'ayant pas ton classeur exemple, je ne sais pas si ce bout de code répond directement à ta question (puisque tu semble avoir un userform avec déjà des checkbox crée) mais il te permettra peut être de revoir la façon de faire, pour créer dynamiquement les checkbox en fonction de ton nombre d'étapes.
j'ai mis le code de création et aussi de suppression des checkbox pour que tu vois les différentes manip à faire.

Le tout est basé sur une classe personnalisé très simple de checkbox avec événement.
 

Pièces jointes

  • création checkbox dynamique.xls
    41 KB · Affichages: 166

Valaraukar

XLDnaute Nouveau
Re : CheckBox et évenement ComboBox

Bonjour jms31

Etant novice et nul en programmation (je ne sais même pas ce qu'est une "collection") ... et de surcroit autodidacte .... je galère pas mal et ton code est quelque peu obscur (t'est trop fort pour moi :) ).

Cependant, je pense qu'il répond exactement à ce que je souhaite faire.

Le temps d'analyser le code, de le transformer pour qu'il s'intègre correctement à l'évènement de la Combobox , comprendre comment limiter le nombre max de checkbox à 20 et comment nommer les checkboxs crées dynamiquement par une plage de cellule non fixe ......... et une fois cela fait je mettrais le fichier en ligne car il pourras servir à d'autres (et j'aurais certainement besoin d'encore un peu d'aide pour la suite :p )

En attendant, un grand merci à toi jms31 ;)
 

Valaraukar

XLDnaute Nouveau
Re : CheckBox et évenement ComboBox

Bonjour a tous

MERCI kjin , ton code s'intégrais parfaitement dans mon fichier.

Maintenant que j'ai franchis cette étape, je suis confronté à un autre problème ... conserver l'état des checkbox en fonction de chaque voyage (et du consultant qui l'as réalisé).

Je ne peux pas divulguer le fichier donc je vais vous en mettre un que je construit en parallèle qui fait la même fonction sauf qu'il à pour but d'aider un pote et moi même à jouer sur le net (je sais je n'aurais pas du me proposer alors que je suis novice :rolleyes: mais je voulais me mettre le nez dans la prog EXCEL :))

Alors ci joint le fichier; le problème se situe au niveau de la sub : CheckBox1_Change

Pour chaque "dino" (équivalent de chaque consultant de ma boite) j'ai une liste de missions possibles, ses missions contiennent des étapes (déjà fait grâce a kjin et jms31).

Le problème est de charger et conserver l'état (coché ou non) pour chaque dino et chaque mission...j'essaye d'agir sur "ControlSource"

Vous remerciant d'avance
 

Pièces jointes

  • WORK EXCELDWL-DinoGestion - V0.zip
    33.5 KB · Affichages: 77

Discussions similaires

Réponses
28
Affichages
1 K

Statistiques des forums

Discussions
312 274
Messages
2 086 703
Membres
103 377
dernier inscrit
fredy45