Bonjour à tous !
J'ai le plaisir de vous soumettre un nouveau problème ;)
Dans une Userform, j'ai une combobox qui dépend d'une autre.
Si la comobobox 1 = truc, la combobox 2 aura la liste x
Si la comobobox 1 = machin, la combobox 2 aura la liste y
J'ai donc un SELECT CASE pour définir quelle sera la liste de la comobox 2.
Ces listes sont dans une feuille Excel, et commencent toutes à la deuxième
ligne, avec un titre chacune pour la première ligne.
Tout ça marche très bien sauf quand la liste est vide est qu'elle ne contient
que le titre. Dans ce cas, j'obtiens le titre comme liste, alors que je
voudrais ne rien avoir, ou juste un message disant qu'il n'y a rien à voir...
Je pense que je dois formuler ça dans le SELECT CASE, mais je ne vois pas
comment...
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
Case "machin"
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
...
...
end Select
End With
Me.ComboBox2.List = rg.Value
Merci par avance !
Circé
http://faqword.com
Bonjour à tous !
J'ai le plaisir de vous soumettre un nouveau problème ;)
Dans une Userform, j'ai une combobox qui dépend d'une autre.
Si la comobobox 1 = truc, la combobox 2 aura la liste x
Si la comobobox 1 = machin, la combobox 2 aura la liste y
J'ai donc un SELECT CASE pour définir quelle sera la liste de la comobox 2.
Ces listes sont dans une feuille Excel, et commencent toutes à la deuxième
ligne, avec un titre chacune pour la première ligne.
Tout ça marche très bien sauf quand la liste est vide est qu'elle ne contient
que le titre. Dans ce cas, j'obtiens le titre comme liste, alors que je
voudrais ne rien avoir, ou juste un message disant qu'il n'y a rien à voir...
Je pense que je dois formuler ça dans le SELECT CASE, mais je ne vois pas
comment...
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
Case "machin"
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
...
...
end Select
End With
Me.ComboBox2.List = rg.Value
Merci par avance !
Circé
http://faqword.com
Bonjour à tous !
J'ai le plaisir de vous soumettre un nouveau problème ;)
Dans une Userform, j'ai une combobox qui dépend d'une autre.
Si la comobobox 1 = truc, la combobox 2 aura la liste x
Si la comobobox 1 = machin, la combobox 2 aura la liste y
J'ai donc un SELECT CASE pour définir quelle sera la liste de la comobox 2.
Ces listes sont dans une feuille Excel, et commencent toutes à la deuxième
ligne, avec un titre chacune pour la première ligne.
Tout ça marche très bien sauf quand la liste est vide est qu'elle ne contient
que le titre. Dans ce cas, j'obtiens le titre comme liste, alors que je
voudrais ne rien avoir, ou juste un message disant qu'il n'y a rien à voir...
Je pense que je dois formuler ça dans le SELECT CASE, mais je ne vois pas
comment...
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
Case "machin"
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
...
...
end Select
End With
Me.ComboBox2.List = rg.Value
Merci par avance !
Circé
http://faqword.com
Bonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai une
liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que plus
concis, m'affiche le titre dans la liste déroulante lorsque celle ci est
vide... Et c'est ça mon problème... Si la liste est vide dans la feuille
Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Bonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai une
liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que plus
concis, m'affiche le titre dans la liste déroulante lorsque celle ci est
vide... Et c'est ça mon problème... Si la liste est vide dans la feuille
Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Bonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai une
liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que plus
concis, m'affiche le titre dans la liste déroulante lorsque celle ci est
vide... Et c'est ça mon problème... Si la liste est vide dans la feuille
Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Essaie plutôt :
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
If .Range("A65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End If
Case "machin"
If .Range("B65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End If
End Select
End With
If rg Is Nothing Then
Me.ComboBox2.Clear
Else
Me.ComboBox2.List = rg.Value
End If
DanielBonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai
une liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que
plus concis, m'affiche le titre dans la liste déroulante lorsque celle ci
est vide... Et c'est ça mon problème... Si la liste est vide dans la
feuille Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Essaie plutôt :
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
If .Range("A65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End If
Case "machin"
If .Range("B65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End If
End Select
End With
If rg Is Nothing Then
Me.ComboBox2.Clear
Else
Me.ComboBox2.List = rg.Value
End If
Daniel
Bonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai
une liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que
plus concis, m'affiche le titre dans la liste déroulante lorsque celle ci
est vide... Et c'est ça mon problème... Si la liste est vide dans la
feuille Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Essaie plutôt :
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
If .Range("A65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End If
Case "machin"
If .Range("B65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End If
End Select
End With
If rg Is Nothing Then
Me.ComboBox2.Clear
Else
Me.ComboBox2.List = rg.Value
End If
DanielBonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai
une liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que
plus concis, m'affiche le titre dans la liste déroulante lorsque celle ci
est vide... Et c'est ça mon problème... Si la liste est vide dans la
feuille Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Essaie plutôt :
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
If .Range("A65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End If
Case "machin"
If .Range("B65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End If
End Select
End With
If rg Is Nothing Then
Me.ComboBox2.Clear
Else
Me.ComboBox2.List = rg.Value
End If
DanielBonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai
une liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que
plus concis, m'affiche le titre dans la liste déroulante lorsque celle ci
est vide... Et c'est ça mon problème... Si la liste est vide dans la
feuille Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Essaie plutôt :
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
If .Range("A65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End If
Case "machin"
If .Range("B65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End If
End Select
End With
If rg Is Nothing Then
Me.ComboBox2.Clear
Else
Me.ComboBox2.List = rg.Value
End If
Daniel
Bonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai
une liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que
plus concis, m'affiche le titre dans la liste déroulante lorsque celle ci
est vide... Et c'est ça mon problème... Si la liste est vide dans la
feuille Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Essaie plutôt :
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
If .Range("A65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End If
Case "machin"
If .Range("B65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End If
End Select
End With
If rg Is Nothing Then
Me.ComboBox2.Clear
Else
Me.ComboBox2.List = rg.Value
End If
DanielBonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai
une liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que
plus concis, m'affiche le titre dans la liste déroulante lorsque celle ci
est vide... Et c'est ça mon problème... Si la liste est vide dans la
feuille Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Pas mieux ! :(
Plantage immédiat ! :(
ça m'agace ce truc !
Circé
Daniel.C avait écrit le 13/04/2010 :Essaie plutôt :
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
If .Range("A65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End If
Case "machin"
If .Range("B65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End If
End Select
End With
If rg Is Nothing Then
Me.ComboBox2.Clear
Else
Me.ComboBox2.List = rg.Value
End If
DanielBonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai
une liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que
plus concis, m'affiche le titre dans la liste déroulante lorsque celle ci
est vide... Et c'est ça mon problème... Si la liste est vide dans la
feuille Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Pas mieux ! :(
Plantage immédiat ! :(
ça m'agace ce truc !
Circé
Daniel.C avait écrit le 13/04/2010 :
Essaie plutôt :
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
If .Range("A65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End If
Case "machin"
If .Range("B65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End If
End Select
End With
If rg Is Nothing Then
Me.ComboBox2.Clear
Else
Me.ComboBox2.List = rg.Value
End If
Daniel
Bonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai
une liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que
plus concis, m'affiche le titre dans la liste déroulante lorsque celle ci
est vide... Et c'est ça mon problème... Si la liste est vide dans la
feuille Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com
Pas mieux ! :(
Plantage immédiat ! :(
ça m'agace ce truc !
Circé
Daniel.C avait écrit le 13/04/2010 :Essaie plutôt :
With Worksheets("mafeuille")
monchoix = ComboBox1.Value
Select Case monchoix
Case "truc"
If .Range("A65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End If
Case "machin"
If .Range("B65536").End(xlUp).Row = 1 Then
Set rg = Nothing
Else
Set rg = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End If
End Select
End With
If rg Is Nothing Then
Me.ComboBox2.Clear
Else
Me.ComboBox2.List = rg.Value
End If
DanielBonsoir Daniel et MichDenis
DDaniel, j'avais utilisé à peu près la même technique, mais dès que j'ai
une liste vide, ça plante ! et je ne comprends vraiment pas pourquoi...
MichDenis, en fait tu n'as compris mon problème... Car ton code bien que
plus concis, m'affiche le titre dans la liste déroulante lorsque celle ci
est vide... Et c'est ça mon problème... Si la liste est vide dans la
feuille Excel, je veux qu'elle soit vide dans mon formulaire.
D'autres idées ?
Circé
http://faqword.com