Adapter code VBA de liste à choix multiples (original sur 1 colonne à adapter sur 4)

Kev94

XLDnaute Nouveau
Bonjour à tous

Lors de mes recherches pour créer une liste à choix multiples en double clicquant dans une cellule pour que le résultat de la sélection apparaisse dedans, je suis tombé sur un ancien topic qui correspondant parfaitement à mon besoin.

Dans un premier temps, j'ai pu l'adapter à ma feuille (injection du code et customisation des intitulés).
Le code marche parfaitement pour ma première colonne.

J'ai voulu dupliquer et modifier le nom de la userform1 ainsi que tout ce qui faisait référence à la userform1 d'origine, ainsi qu'à ma colonne G, mais cela ne fonctionne pas.

J'ai retourné le problème dans tous les sens, je ne comprends pas pourquoi rien ne s'affiche dans les autres colonnes.

Pourriez-vous m'aider à faire en sorte que la liste puisse s'afficher dans les colonnes G à I, chacune ayant sa propre liste de choix dans le Userform (je laisse un exemple dans le fichier).

D'avance un GROS merci parceque je tourne en rond depuis ce matin sans comprendre où est le problème.
 

Pièces jointes

  • Synthese_idees.xlsm
    23.9 KB · Affichages: 30
Dernière modification par un modérateur:

Theze

XLDnaute Occasionnel
Re : Adapter code VBA de liste à choix multiples (original sur 1 colonne à adapter su

Bonjour,

As-tu remarqué que les boutons de l'UserForm2 sont nommés "CommandButton3" et "CommandButton4" alors que ton code est celui des boutons de l'UserForm1 à savoir "Private Sub CommandButton1_Click()" et "Private Sub CommandButton2_Click()" ? Donc plutôt ceci :
Code:
Private Sub CommandButton3_Click()

    For i = 1 To 5
        If Controls("CheckBox" & i) = True Then Chaine = Chaine & Controls("CheckBox" & i).Caption & ","
    Next i
    
    If Right(Chaine, 1) = "," Then Chaine = Mid(Chaine, 1, Len(Chaine) - 1)
    
    ActiveCell = Chaine
    
    Unload Me

End Sub

Private Sub CommandButton4_Click()
    Unload Me
End Sub
 

Kev94

XLDnaute Nouveau
Re : Adapter code VBA de liste à choix multiples (original sur 1 colonne à adapter su

Bonjour,

Oui je sais, la userform2 n'est que là pour montrer que c'est une userform avec une liste différente, il ne doit pas être à prendre en compte.

Sinon je viens de trouver comment procéder :

1 - Dans la feuille, il fallait rajouter ces lignes pour mes colonnes

Code:
If Not Intersect(Target, Range("G2:G10000")) Is Nothing Then
UserForm2.Show
End If
If Not Intersect(Target, Range("H2:H10000")) Is Nothing Then
UserForm3.Show
End If
If Not Intersect(Target, Range("I2:I10000")) Is Nothing Then
UserForm4.Show
End If

2 - Ensuite exporter la Userform1, l'ouvrir avec notepad+ et remplacer les références userform1 par userform2 etc

3 - Importer le nouveau fichier renommé

4 - Modifier la liste des articles dans le userform, y adapter les références au user d'origine à celui en cours et modifier ce code ci-dessous au nombre d'articles utilisés :
Code:
For i = 1 To 2

5 - Dans le doute j'ai également ajouté les nouveaux userform dans la macro présente dans le module1
Code:
Sub test()
UserForm1.Show
UserForm2.Show
UserForm3.Show
UserForm4.Show
End Sub

La cléf a été le (1), c'est là que ça a bloqué.

Un grand merci au forum pour avoir proposé le fichier d'origine et à toi pour t'y t'être penché !
 

Discussions similaires

Statistiques des forums

Discussions
314 635
Messages
2 111 453
Membres
111 144
dernier inscrit
shura_77