[E-2003]Changer le contenu combobox suivant condition

  • Initiateur de la discussion Initiateur de la discussion stargate
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

stargate

Guest
Bonjour,

j'aimerai changer le contenu de ma combo suivant que la ligne active de ma feuille
soit pair ou impair

j'ai essayé ceci mais en vain

Sub changeCombo()
'tournee récupère le target
If Tournee.Row Mod 2 = 1 Then
x = 1
While x < 184
With cboMaj
.AddItem Sheets("Sheet3").Range("A" & x)
End With
x = x + 1
Wend
ElseIf Tournee.Row Mod 2 = 0 Then
x = 1
While x < 98
With cboMaj
.AddItem Sheets("Sheet3").Range("B" & x)
End With
x = x + 1
Wend
End If

End Sub

Cette procédure est appelée dans le sélection change
une idée merci
 
Re : [E-2003]Changer le contenu combobox suivant condition

Bonjour Satgrate, Heu pardon Stargate... Bonjour le forum,

peut-être comme ça :
Code:
Private Sub UserForm_Initialize()
If ActiveCell.Row Mod 2 = 1 Then
    Me.ComboBox1.List = Sheets("Sheets3").Range("A1:A183").Value
Else
    Me.ComboBox1.List = Sheets("Sheets3").Range("B1:B97").Value
End If
End Sub
si c'est une Combobox dans une Userform...

Ou alors commes ça :
Code:
Private Sub ComboBox1_GotFocus()
If ActiveCell.Row Mod 2 = 1 Then
    Me.ComboBox1.List = Sheets("Sheets3").Range("A1:A183").Value
Else
    Me.ComboBox1.List = Sheets("Sheets3").Range("B1:B97").Value
End If
End Sub
pour une Combobox dans un onglet.
 
Dernière édition:
Re : [E-2003]Changer le contenu combobox suivant condition

merci, mais le combobox est sur une feuille sheet2 et récupère la liste sur le sheet3 en colonne A ou B

j'ai essayé ceci

If ActiveCell.Row Mod 2 = 1 Then
Me.cboMaj.List = Sheets("Sheets3").Range("A1:A183").Value
Else
Me.cboMaj.List = Sheets("Sheets3").Range("B1:B97").Value
End If

il me retourne une erreur à
Me.cboMaj.List = Sheets("Sheets3").Range("A1:A183").Value
en me disant
run time error
subscript out of range

je joins le fichier sheet2 et sheet3 seulement
 

Pièces jointes

Re : [E-2003]Changer le contenu combobox suivant condition

Bonjour Satgrate, Heu pardon Stargate (décidément !), bonjour le forum,

Si ça marche il faut corriger Sheets("Sheets3") par Sheets("Sheet3")...

Édition :

Bonjour le Squale oln s'est croisé
 
Re : [E-2003]Changer le contenu combobox suivant condition

Bonjour le fil, salut Roger 🙂

Ou simplement cette macro dans le code de la feuille où se trouve la ComboBox :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.ComboBox1.ListFillRange = IIf(ActiveCell.Row Mod 2, "Sheet3!A1:A183", "Sheet3!B1:B97")
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
676
Réponses
3
Affichages
923
Réponses
3
Affichages
882
Retour