vba - 2007 problème de rowsource

  • Initiateur de la discussion Initiateur de la discussion mira
  • 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 !

mira

XLDnaute Nouveau
Bonjour,
Je suis débutante et j'ai un problème de rowsource car je n'arrive pas à le modifier en fonction du choix fait dans une première liste déroulante.
J'ai essayé avec ce qui suit:

Private Sub continent_Change()
If continent.Value = "Europe" Then
pays.RowSource = Sheets("destination").Range("b2: b15").Value
ElseIf continent.Value = "Asie" Then
pays.RowSource = Sheets("destination").Range("b16: b21").Value
ElseIf continent.Value = "Afrique" Then
pays.RowSource = Sheets("destination").Range("b22: b30").Value
ElseIf continent.Value = "Amerique" Then
pays.RowSource = Sheets("destination").Range("b31: b40").Value
ElseIf continent.Value = "Oceanie" Then
pays.RowSource = Sheets("destination").Range("b41: b45").Value
End If



End Sub

Pourriez-vous m'apporter vos lumières svp?
Merci d'avance
 
Re : vba - 2007 problème de rowsource

Bonjour mira

A tester

VB:
Private Sub continent_Change()
Sheets("destination").Select
If continent.Value = "Europe" Then
pays.RowSource = "b2: b15"
ElseIf continent.Value = "Asie" Then
pays.RowSource = "b16: b21"
ElseIf continent.Value = "Afrique" Then
pays.RowSource = "b22: b30"
ElseIf continent.Value = "Amerique" Then
pays.RowSource = "b31: b40"
ElseIf continent.Value = "Oceanie" Then
pays.RowSource = "b41: b45"
End If
End Sub

Edit: Salut Robert
 
Re : vba - 2007 problème de rowsource

Bonjour mira, salut Robert, pierrejean 🙂

Surtout pour saluer nos amis, on ne se croise pas très souvent en ce moment 🙂

Avec RowSource, un code plus simple :

Code:
Dim tablo1, tablo2,  i As Variant
tablo1 = Array("Europe", "Asie", "Afrique", "Amérique", "Oceanie")
tablo2 = Array("b2:b15", "b16:b21", "b22:b30", "b31:b40", "b41:b45")
i = Application.Match(continent, tablo1, 0)
If IsNumeric(i) Then pays.RowSource = "destination!" & tablo2(i - 1)
A+
 
Dernière édition:
- 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

Discussions similaires

Réponses
9
Affichages
993
Retour