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

récupérer le numéro d'index d'une liste d'un combobox

6 réponses
Avatar
jackadit
Bonjour,

je voudrais récupérer le numéro d'index de la liste d'un premier combox pour
pouvoir le réutiliser dans un deuxième combobox.

Le premier combobox se construit à partir d'un tableau nommé "TableauRéf"
dans une feuille nommé "Donnees" :
ComboRef.RowSource = "Donnees!TableauRéf"

Le deuxième combobox devrait se construire à partir du choix effectué dans
le premier combobox :
Les tableaux étant nommés Tab_Référence avec Référence comme nom choisi
dans la liste du premier combobox.

ComboSection.RowSource = "Donnees!Tab_" & "ComboRef.value"

J'ai une erreur 380 car la propriété TowSource est impossible à définir. Je
pense que je me trompe de syntaxe.
Quelle serait dans mon cas la bonne syntaxe ?

merci de voter coup de pouce

Jackadit

6 réponses

Avatar
Youky
Peut être comme ceci . . .pas de " pour le combo
ComboSection.RowSource = "Donnees!Tab_" & ComboRef.Value
Youky
Avatar
jackadit
Merci Youki pour votre réponse.

j'ai testé cette solution mais sans succès.

j'ai même un plantage complet de Excel maintenant :-(

Bizarre pourtant cela semblait logique au niveau de la syntaxe (pour moi en
tout cas).

Je reste donc coincé à ce problème.

J'ai regardé diverses solutions existantes (en VBA)... mais je reste
confronté au même message d'erreur 380.

je ne sais vraiment pas où se situe le problème.

Merci d'avance à ceux qui pourront me donner une piste.

jackadit

"Youky" a écrit dans le message de
news:%
Peut être comme ceci . . .pas de " pour le combo
ComboSection.RowSource = "Donnees!Tab_" & ComboRef.Value
Youky



Avatar
isabelle
bonjour jackadit,

Les tableaux Tab_Référence sont il sur la feuille "Donnees" ?
peut tu mettre ton fichier sur ci-joint ?
http://www.cjoint.com

isabelle

Merci Youki pour votre réponse.

j'ai testé cette solution mais sans succès.

j'ai même un plantage complet de Excel maintenant :-(

Bizarre pourtant cela semblait logique au niveau de la syntaxe (pour moi en
tout cas).

Je reste donc coincé à ce problème.

J'ai regardé diverses solutions existantes (en VBA)... mais je reste
confronté au même message d'erreur 380.

je ne sais vraiment pas où se situe le problème.

Merci d'avance à ceux qui pourront me donner une piste.

jackadit

"Youky" a écrit dans le message de
news:%
Peut être comme ceci . . .pas de " pour le combo
ComboSection.RowSource = "Donnees!Tab_" & ComboRef.Value
Youky






Avatar
Youky
Encore ceci........
zaza="Donnees!Tab_" & ComboRef.Value
ComboSection.RowSource = zaza

Youky
Avatar
jackadit
Bonjour Isabelle,

les tableaux Tab_Référence existent bien sur la feuille "Donnees".

J'ai remplacé le code en question par le suivant :

Private Sub UserForm_Initialize()
With frm_annexe
UpdateComboBox .ComboCdP, -1
End With

End Sub


Private Sub ComboCdP_Change()
' Mise à jour des items dans la ListBox2'
UpdateComboBox frm_annexe.ComboSection, frm_annexe.ComboCdP.ListIndex
End Sub

Private Sub UpdateComboBox(Parametres As MSForms.ComboBox, IndexValue As
Integer)
Dim LastInputRow As Long, ColumnIndex As Integer, InputRange As Range
'Les Données commencent à la ligne 3
Const FirstInputRow As Integer = 3
'Détermine depuis quelle colonne on prend la liste des items
ColumnIndex = IndexValue + 17
' Détermine la dernière ligne de la colonne sélectionnée et la plage
correspondante
LastInputRow = Cells(FirstInputRow, ColumnIndex).End(xlDown).Row
Set InputRange = Sheets("Donnees").Range(Cells(FirstInputRow,
ColumnIndex), Cells(LastInputRow, ColumnIndex))
With Parametres
.ColumnHeads = False ' N'affiche pas les en-têtes de colonne
.RowSource = InputRange.Address ' Spécifie la source de
données
.ListIndex = 0 ' Sélectionne le premier item
End With
Set InputRange = Nothing
End Sub


mais là je me retrouve avec une erreur 1004 !

Alors que le test fait à part sur une feuille fonctionne sans problème.

Je ne sais vraiment pas où peut se trouver mon erreur.
si quelqu'un avait une idée ou une piste pour débloquer ma situation j'e
nserait très reconnaissant.

Merci d'avance pour vos conseils éclairés



"isabelle" a écrit dans le message de
news:
bonjour jackadit,

Les tableaux Tab_Référence sont il sur la feuille "Donnees" ?
peut tu mettre ton fichier sur ci-joint ?
http://www.cjoint.com

isabelle

Merci Youki pour votre réponse.

j'ai testé cette solution mais sans succès.

j'ai même un plantage complet de Excel maintenant :-(

Bizarre pourtant cela semblait logique au niveau de la syntaxe (pour moi
en
tout cas).

Je reste donc coincé à ce problème.

J'ai regardé diverses solutions existantes (en VBA)... mais je reste
confronté au même message d'erreur 380.

je ne sais vraiment pas où se situe le problème.

Merci d'avance à ceux qui pourront me donner une piste.

jackadit

"Youky" a écrit dans le message de
news:%
Peut être comme ceci . . .pas de " pour le combo
ComboSection.RowSource = "Donnees!Tab_" & ComboRef.Value
Youky








Avatar
jackadit
Je reste coincé sur ce problème.
mais j'ai cependant contourné la difficulté avec le code suivant :

Private Sub ComboCdP_Change()
' Mise à jour des items dans la ComboBox2'
' UpdateComboBox frm_annexe.ComboSection, frm_annexe.ComboCdP.ListIndex

ComboSection.RowSource = "Donnees!Tab_CdP_" & ComboCdP (la syntaxe était
sans les "" sur la variable !)
End Sub

avec le code préalable :

ComboCdP.RowSource = "Donnees!Tab_CentresProd"
ComboCdP.ListIndex = 0 ' Sélectionne le premier
item pour ne pas avoir d'erreur

Voilà la solution 'bidouille" que j'ai trouvé pour le moment.


Merci à ceux qui m'ont donné un coup de pouce.

Vos commentaires sont toujours le bienvenu

Jackadit


"jackadit" a écrit dans le message de
news:
Bonjour,

je voudrais récupérer le numéro d'index de la liste d'un premier combox
pour pouvoir le réutiliser dans un deuxième combobox.

Le premier combobox se construit à partir d'un tableau nommé "TableauRéf"
dans une feuille nommé "Donnees" :
ComboRef.RowSource = "Donnees!TableauRéf"

Le deuxième combobox devrait se construire à partir du choix effectué dans
le premier combobox :
Les tableaux étant nommés Tab_Référence avec Référence comme nom choisi
dans la liste du premier combobox.

ComboSection.RowSource = "Donnees!Tab_" & "ComboRef.value"

J'ai une erreur 380 car la propriété TowSource est impossible à définir.
Je pense que je me trompe de syntaxe.
Quelle serait dans mon cas la bonne syntaxe ?

merci de voter coup de pouce

Jackadit