Appeler plusieurs listboxes sur une feuille
Résolu
etudiantedesesperee
-
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
je suis étudiante et je dois dépouiller des questionnaires sous excel, mais en bonne novice je rencontre un souci, j'espère que vous pourrez m'aider! voici le problème :
-lorsque je double-clic n'importe ou sur la colonne P, j'appelle une listbox à choix multiples (ça, ça marche)
-je voudrais, en cliquant sur la colonne A, appeler la listbox A
-en cliquant sur la colonne B, appeler la listbox B
etc
j'ai donc modifié le code suivant (qui marche) :
par celui-ci (qui ne fonctionne pas du tout bien sûr) :
Je me doute que la syntaxe est fausse mais je ne sais pas comment faire ? auriez-vous une idée? merci d'avance!
je suis étudiante et je dois dépouiller des questionnaires sous excel, mais en bonne novice je rencontre un souci, j'espère que vous pourrez m'aider! voici le problème :
-lorsque je double-clic n'importe ou sur la colonne P, j'appelle une listbox à choix multiples (ça, ça marche)
-je voudrais, en cliquant sur la colonne A, appeler la listbox A
-en cliquant sur la colonne B, appeler la listbox B
etc
j'ai donc modifié le code suivant (qui marche) :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("P:P")) Is Nothing Then
Exit Sub
Else
Target.Value = ""
Load UserForm1
UserForm1.Show
End If
End Sub
par celui-ci (qui ne fonctionne pas du tout bien sûr) :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("P:P")) Then
Target.Value = ""
Load UserForm1
UserForm1.Show
ElseIf Intersect(Target, Range("G:G")) Then
Target.Value = ""
Load UserForm2
UserForm2.Show
End If
End Sub
Je me doute que la syntaxe est fausse mais je ne sais pas comment faire ? auriez-vous une idée? merci d'avance!
4 réponses
-
Bonjour,
Code corrigé :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("P:P")) Is Nothing Then Target.Value = "" Load UserForm1 UserForm1.Show ElseIf Not Intersect(Target, Range("G:G")) Is Nothing Then Target.Value = "" Load UserForm2 UserForm2.Show End If End Sub
-
Oh!!!!
merci beaucoup!!!
ça marche, c'est impeccable!
vous m'avez fait gagner énormément de temps, merci encore!
(et donc, en théorie, je peux continuer d'appeler plusieurs listboxes à la suite en rajoutant d'autres elseif à la suite comme j'ai fait, ça ne pose pas de problème ni n'alourdit ma feuille?) -
Oui, tu peux appeler ainsi plusieurs formulaires (userform) mais chaque nouveau formulaire et les lignes de code associées alourdissent légèrement le classeur.
Cordialement
Patrice -
Effectivement, je viens de tester mes appels de listboxes, ça fonctionne très bien! merci beaucoup pour le coup de main, ça m'économise de nombreuses heures précieuses :)
En tout cas ça n'a pas l'air de trop ramer. Merci! je clos le sujet :)