Appeler plusieurs listboxes sur une feuille

Résolu/Fermé
etudiantedesesperee - 16 mars 2011 à 09:53
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 16 mars 2011 à 11:50
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) :

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!
A voir également:

4 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
16 mars 2011 à 09:58
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

0
etudiantedesesperee
16 mars 2011 à 10:13
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?)
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié par Patrice33740 le 16/03/2011 à 10:24
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
0
etudiantedesesperee
16 mars 2011 à 11:49
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 :)
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
16 mars 2011 à 11:50
De rien, au plaisir de te relire sur le forum
0