Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Initialisation d'un combobox

8 réponses
Avatar
Denys
Bonjour =E0 tous,

Je voudrais =E0 l'initialisation d'un userform que si la=20
cellule G1 de la feuille active a comme valeur X , le=20
combobox1 aille chercher comme "rowsource" une plage=20
nomm=E9e Mois, et que si la cellule G1 est vide, qu'il aille=20
chercher la plage nomm=E9e Month...

J'essaie depuis un bon bout de temps, mais je ne trouve=20
pas...

Voici ou j'en suis:
Private Sub UserForm_Initialize()
If ActiveSheet.Range("G1").Value =3D "X" Then=20
ComboBox1.RowSource =3D "Mois"
If [G1].Value =3D "" Then ComboBox1.RowSource =3D "Month"
etc....

Ou fais-je l'erreur???

Merci

Denys

8 réponses

Avatar
isabelle
bonjour Denys,

essaie avec,

ComboBox1.RowSource = Range("Mois")
ComboBox1.RowSource = Range("Month")

isabelle


Bonjour à tous,

Je voudrais à l'initialisation d'un userform que si la
cellule G1 de la feuille active a comme valeur X , le
combobox1 aille chercher comme "rowsource" une plage
nommée Mois, et que si la cellule G1 est vide, qu'il aille
chercher la plage nommée Month...

J'essaie depuis un bon bout de temps, mais je ne trouve
pas...

Voici ou j'en suis:
Private Sub UserForm_Initialize()
If ActiveSheet.Range("G1").Value = "X" Then
ComboBox1.RowSource = "Mois"
If [G1].Value = "" Then ComboBox1.RowSource = "Month"
etc....

Ou fais-je l'erreur???

Merci

Denys


Avatar
mousnynao
Bonjour,

Exemple :

Private Sub UserForm_Initialize()

Dim Valeur As Variant
Dim Feuille As String
Dim Mois, Annee

Mois = "B1:B5"
Annee = "C1:C5"


Feuille = ActiveSheet.Name
Valeur = ActiveSheet.Range("G1").Value
If (UCase(Valeur) = "X") Then
DoEvents
ComboBox1.RowSource = Feuille & "!" & Mois
Else
DoEvents
If (Valeur = "") Then
ComboBox1.RowSource = Feuille & "!" & Annee
End If
End If

End Sub

mousnynao!

-----Message d'origine-----
Bonjour à tous,

Je voudrais à l'initialisation d'un userform que si la
cellule G1 de la feuille active a comme valeur X , le
combobox1 aille chercher comme "rowsource" une plage
nommée Mois, et que si la cellule G1 est vide, qu'il
aille

chercher la plage nommée Month...

J'essaie depuis un bon bout de temps, mais je ne trouve
pas...

Voici ou j'en suis:
Private Sub UserForm_Initialize()
If ActiveSheet.Range("G1").Value = "X" Then
ComboBox1.RowSource = "Mois"
If [G1].Value = "" Then ComboBox1.RowSource = "Month"
etc....

Ou fais-je l'erreur???

Merci

Denys
.



Avatar
Denys
Bonjour Isabelle,

Merci, mais ça ne fonctionne pas... Excel ne va pas voir
s'il y a quelque chose d'écrit dans la cellule G1...

A bientôt

Denys


-----Original Message-----
bonjour Denys,

essaie avec,

ComboBox1.RowSource = Range("Mois")
ComboBox1.RowSource = Range("Month")

isabelle


Bonjour à tous,

Je voudrais à l'initialisation d'un userform que si la
cellule G1 de la feuille active a comme valeur X , le
combobox1 aille chercher comme "rowsource" une plage
nommée Mois, et que si la cellule G1 est vide, qu'il
aille


chercher la plage nommée Month...

J'essaie depuis un bon bout de temps, mais je ne trouve
pas...

Voici ou j'en suis:
Private Sub UserForm_Initialize()
If ActiveSheet.Range("G1").Value = "X" Then
ComboBox1.RowSource = "Mois"
If [G1].Value = "" Then ComboBox1.RowSource
= "Month"


etc....

Ou fais-je l'erreur???

Merci

Denys
.





Avatar
michdenis
Bonjour Denys,

Essaie ceci : Tu peux ajouter autant de "Case" qu'il y de valeurs différentes dans la cellule G1

Attention au nom des plages. J'ai choisi "Autre" et "Mois", ton application peut être différent...


'-----------------------
Private Sub UserForm_Initialize()
Select Case UCase(ActiveSheet.Range("G1"))
Case Is = ""
Me.ComboBox1.RowSource = Range("Autre").Address(0, 0)
Case Is = "X"
Me.ComboBox1.RowSource = Range("Mois").Address(0, 0)
End Select

End Sub
'-----------------------


Salutations!



"Denys" a écrit dans le message de news:1917201c41c13$dcbd8220$
Bonjour à tous,

Je voudrais à l'initialisation d'un userform que si la
cellule G1 de la feuille active a comme valeur X , le
combobox1 aille chercher comme "rowsource" une plage
nommée Mois, et que si la cellule G1 est vide, qu'il aille
chercher la plage nommée Month...

J'essaie depuis un bon bout de temps, mais je ne trouve
pas...

Voici ou j'en suis:
Private Sub UserForm_Initialize()
If ActiveSheet.Range("G1").Value = "X" Then
ComboBox1.RowSource = "Mois"
If [G1].Value = "" Then ComboBox1.RowSource = "Month"
etc....

Ou fais-je l'erreur???

Merci

Denys
Avatar
Jean-François Aubert
Salut Denys,

Ceci fonctionne bien.

Private Sub UserForm_Initialize()
With Sheets("feuil1") ' <-- à adapter
If .[G1].Value = "X" Then
Me.ComboBox1.RowSource = "Mois"
End If
If .[G1].Value = "" Then
Me.ComboBox1.RowSource = "Month"
End If
End With
End Sub
'...................................................................................................
...........
Private Sub UserForm_Initialize()
Select Case Sheets("Feuil1").Range("G1").Value ' <-- à adapter
Case Is = "X": Me.ComboBox1.RowSource = "Mois"
Case Is = "": Me.ComboBox1.RowSource = "Month"
Case Else: Unload Me
' ou
' Case Else
' Me.ComboBox1.AddItem "G1 contient autre chose que X"
' Me.ComboBox1.ListIndex = 0
End Select
End Sub


--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Denys" a écrit dans le message de
news:1917201c41c13$dcbd8220$
Bonjour à tous,

Je voudrais à l'initialisation d'un userform que si la
cellule G1 de la feuille active a comme valeur X , le
combobox1 aille chercher comme "rowsource" une plage
nommée Mois, et que si la cellule G1 est vide, qu'il aille
chercher la plage nommée Month...

J'essaie depuis un bon bout de temps, mais je ne trouve
pas...

Voici ou j'en suis:
Private Sub UserForm_Initialize()
If ActiveSheet.Range("G1").Value = "X" Then
ComboBox1.RowSource = "Mois"
If [G1].Value = "" Then ComboBox1.RowSource = "Month"
etc....

Ou fais-je l'erreur???

Merci

Denys
Avatar
Denys
Bonjour Denis, Jean-François et Mousnynao,

Merci infiniment à vous trois.... Tout fonctionne à
merveille... Très aimable..

Bonne soirée

Denys



-----Original Message-----
Bonjour à tous,

Je voudrais à l'initialisation d'un userform que si la
cellule G1 de la feuille active a comme valeur X , le
combobox1 aille chercher comme "rowsource" une plage
nommée Mois, et que si la cellule G1 est vide, qu'il
aille

chercher la plage nommée Month...

J'essaie depuis un bon bout de temps, mais je ne trouve
pas...

Voici ou j'en suis:
Private Sub UserForm_Initialize()
If ActiveSheet.Range("G1").Value = "X" Then
ComboBox1.RowSource = "Mois"
If [G1].Value = "" Then ComboBox1.RowSource = "Month"
etc....

Ou fais-je l'erreur???

Merci

Denys
.



Avatar
Rai
"Denys" a écrit dans le message de news:1917301c41c19$8f627110$
Bonjour Isabelle,

Merci, mais ça ne fonctionne pas... Excel ne va pas voir
s'il y a quelque chose d'écrit dans la cellule G1...

A bientôt

Denys


-----Original Message-----
bonjour Denys,

essaie avec,

ComboBox1.RowSource = Range("Mois")
ComboBox1.RowSource = Range("Month")

isabelle



Bonjour Denys,

En premier il faut tester la valeur de G1.
En second il faut passer l'adresse du Range concerné à RowSource (et non le Range au complet).

Ci-dessous un exemple de code :
Private Sub UserForm_Initialize()
If Range("G1") = "x" Then
ComboBox1.RowSource = Range("Month").Address
Else
ComboBox1.RowSource = Range("Mois").Address
End If
End Sub

Espérant avoir fait avancer tes projets.


--
Cordialement,

Rai
Remplacer point par la ponctuation appropriée pour répondre...

Avatar
Rai
Ooops !

Désolé pour le doublon (ou la triplette ?).

Le temps de bidouiller sur mon Excel favori et de poster le message .... d'autres messages sont apparus.

Bonne journée à tous.


--
Cordialement,

Rai
Remplacer point par la ponctuation appropriée pour répondre...