Bonjour,
Vous êtes mon dernier recours pour arriver à mes fins donc je me lance:
-Mon userform dispose d'une combobox et d'une listBox
-La combobox alimente les données de la liste box à partir du choix qui a été fait:
-Ensuite je voudrais que pour chaque choix de la listbox, une action s'execute: voici donc ce que j ai écris:
Bien évidemment, le code ne marche pas et VBA surligne la partie
et me renvoit l'erreur dexecution 91, en précisant que la variable objet ou variable de bloc with est non-definit
J'ai essayé avec des ifelse à la place des if ( sauf le premier en enlevant les end if intermédiaires), avec des select cases (mais même probleme à la ligne "selct case listbox1.value", en introduisant des variables intermédiaires , en changeant le LIstBox1.value en selected, rien n'y fait. Il semble que le programme ne trouve pas la valeur sélectionnée de ma listbox...
J'ai donc un grand besoin d'aide
Merci d'avance
Vous êtes mon dernier recours pour arriver à mes fins donc je me lance:
-Mon userform dispose d'une combobox et d'une listBox
-La combobox alimente les données de la liste box à partir du choix qui a été fait:
Code:
[COLOR=#808080]'Ici, j'alimente la listbox à partir du choix de la combobox'[/COLOR]
[COLOR=#0000ff]Private[/COLOR] [COLOR=#0000ff]Sub[/COLOR] ComboBox1_Change()
[COLOR=#0000ff]If[/COLOR] ComboBox1.Value = [COLOR=#ff0000]"0 - tomate"[/COLOR] [COLOR=#0000ff]Then[/COLOR]
ListBox1.RowSource = ([COLOR=#ff0000]"Feuil1!C26:C35"[/COLOR])
[COLOR=#0000ff]ElseIf[/COLOR] ComboBox1.Value = [COLOR=#ff0000]"1 - choux"[/COLOR] [COLOR=#0000ff]Then[/COLOR]
ListBox1.RowSource = ([COLOR=#ff0000]"Feuil1!F26:F32"[/COLOR])
[COLOR=#0000ff]ElseIf[/COLOR] ComboBox1.Value = [COLOR=#ff0000]"2 - bettrave"[/COLOR] [COLOR=#0000ff]Then[/COLOR]
ListBox1.RowSource = ([COLOR=#ff0000]"Feuil1!I26:I32"[/COLOR])
[COLOR=#0000ff]ElseIf[/COLOR] ComboBox1.Value = [COLOR=#ff0000]"3 - salade"[/COLOR] [COLOR=#0000ff]Then[/COLOR]
ListBox1.RowSource = ([COLOR=#ff0000]"Feuil1!M26:M32"[/COLOR])
[COLOR=#0000ff]ElseIf[/COLOR] ComboBox1.Value = [COLOR=#ff0000]"4 - pizza"[/COLOR] [COLOR=#0000ff]Then[/COLOR]
ListBox1.RowSource = ([COLOR=#ff0000]"Feuil1!R26:R32"[/COLOR])
[COLOR=#0000ff]ElseIf[/COLOR] ComboBox1.Value = ([COLOR=#ff0000]"5 - Fromage"[/COLOR]) [COLOR=#0000ff]Then[/COLOR]
ListBox1.RowSource = ([COLOR=#ff0000]"Feuil1!V26:V30"[/COLOR])
[COLOR=#0000ff]ElseIf[/COLOR] ComboBox1.Value = [COLOR=#ff0000]""[/COLOR] [COLOR=#0000ff]Then[/COLOR]
ListBox1.RowSource = [COLOR=#ff0000]""[/COLOR]
[COLOR=#0000ff]ElseIf[/COLOR] ComboBox1.Value = [COLOR=#ff0000]"6 - Tout"[/COLOR] [COLOR=#0000ff]Then[/COLOR]
ListBox1.RowSource = ([COLOR=#ff0000]""[/COLOR])
[COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]Sub[/COLOR]
-Ensuite je voudrais que pour chaque choix de la listbox, une action s'execute: voici donc ce que j ai écris:
Code:
[COLOR=#0000ff]Sub[/COLOR] perimetre() [COLOR=#0000ff]Dim[/COLOR] ListBox1 [COLOR=#0000ff]As[/COLOR] ListBox
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"APPUI ET EXPERTISE"[/COLOR]) [COLOR=#0000ff]Then[/COLOR]
[COLOR=#0000ff]Call[/COLOR] EtatmajAPPUIETEXPERTISE
[COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"AQHSE"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] EtatmajAQHSE
[COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"COMMUNICATION"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] EtatmajCOMMUNICATION [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]With[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"DETACHES SYNDICAUX ET SOCIAUX"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] Etatmajdetachesyndic
End If
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"DIRECTION"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] EtatmajDirection [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"ETAT MAJOR"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] Etatmaj [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"GESTION"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] EtatmajGESTION [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"LOGISTIQUE SECRETARIAT ASSISTANCE"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] EtatmajLOGISTIQUESECRETARIATASSISTANCE [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"Nouveau groupe"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] EtatmajNouveaugroupe [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"RESSOURCES HUMAINES"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] EtatmajRESSOURCESHUMAINES [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"CALVADOS"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] OPEcalvados [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"EURE"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] OPEEure [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"ORNE"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] OPEOrne [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"SEINE MARITIME"[/COLOR]) [COLOR=#0000ff]Then[/COLOR] [COLOR=#0000ff]Call[/COLOR] OPEseinemaritime [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR] [COLOR=#808080]'etc(il y en a 20)'[/COLOR] [COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]Sub[/COLOR]
Bien évidemment, le code ne marche pas et VBA surligne la partie
Code:
[COLOR=#0000ff]If[/COLOR] ListBox1.Value = ([COLOR=#ff0000]"APPUI ET EXPERTISE"[/COLOR]) [COLOR=#0000ff]Then[/COLOR]
et me renvoit l'erreur dexecution 91, en précisant que la variable objet ou variable de bloc with est non-definit
J'ai essayé avec des ifelse à la place des if ( sauf le premier en enlevant les end if intermédiaires), avec des select cases (mais même probleme à la ligne "selct case listbox1.value", en introduisant des variables intermédiaires , en changeant le LIstBox1.value en selected, rien n'y fait. Il semble que le programme ne trouve pas la valeur sélectionnée de ma listbox...
J'ai donc un grand besoin d'aide
Merci d'avance