Autres Problème avec une combobox

Co_Lac

XLDnaute Junior
Bonjour
Je galère avec ce code que j'ai récupéré sur le net!
J'ai une erreur: erreur d'exécution '381'
Index du tableau de propriétés incorrect
La plage nommée "Plage_societes" est variable
Quelqu'un aurais une idée ?

Private Sub ComboBox2_Change()

ActiveWorkbook.Names.add Name:="Plage_Societes", RefersToR1C1:="=Donnees_bourse!R4C19:R" & Act + 3 & "C21"
ComboBox2.ListFillRange = "Donnees_bourse!Plage_Societes"
Ligne = ComboBox2.Column(2)
Syb = ComboBox2.Column(1)
nom = ComboBox2.Column(0)
Sheets("Resume").Range("A5") = Syb
Sheets("Resume").Range("A4") = nom

End Sub
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Co_Lac , le Forum

Sans fichier ce n'est pas évident...
la Variable "Act" ne semble pas être initialisée dans ce Trigger en tout cas...
Si elle est vide, c'est une possible raison de plantage.

Je n'utilise pas non plus ComboBox2.ListFillRange surtout dans le Trigger "Change" de la même ComboBox2...

Voilà pour le moment
Bonne journée
@+Thierry
 

job75

XLDnaute Barbatruc
Bonjour Co_Lac, _Thierry,
Bonjour @Co_Lac , le Forumla Variable "Act" ne semble pas être initialisée dans ce Trigger en tout cas...
Si elle est vide, c'est une possible raison de plantage.
Non ce n'est pas ça car si Act est vide la plage est S3:U4 ce qui ne pose pas de problème.

Très classique : il y a bug quand aucun élément de la liste n'est sélectionné donc utiliser :
VB:
Private Sub ComboBox2_Change()

ActiveWorkbook.Names.Add Name:="Plage_Societes", RefersToR1C1:="=Donnees_bourse!R4C19:R" & Act + 3 & "C21"
ComboBox2.ListFillRange = "Donnees_bourse!Plage_Societes"
If ComboBox2.ListIndex = -1 Then Exit Sub 'si aucun élément de la liste n'est sélectionné
Ligne = ComboBox2.Column(2)
Syb = ComboBox2.Column(1)
nom = ComboBox2.Column(0)
Sheets("Resume").Range("A5") = Syb
Sheets("Resume").Range("A4") = nom

End Sub
A+
 

Co_Lac

XLDnaute Junior
bonjour et merci pour ta réponse rapide
La bonne plage est bien présente dans le combobox, mais il y a tjrs l'erreur !
J'ai écris ça :
Private Sub ComboBox2_Change()
Dim Act As Long
Act = Sheets("Donnees_bourse").Cells(7, 17)
Act = Act + 3
ActiveWorkbook.Names.add Name:="Plage_Societes", RefersToR1C1:="=Donnees_bourse!R4C19:R" & Act + 3 & "C21"
ComboBox2.ListFillRange = "Donnees_bourse!Plage_Societes"
Ligne = ComboBox2.Column(2) < sur cette ligne erreur 381 Index du tableau de propriétés incorrect
Syb = ComboBox2.Column(1)
nom = ComboBox2.Column(0)
Sheets("Resume").Range("A5") = Syb
Sheets("Resume").Range("A4") = nom
End Sub

Pour envoyer le fichier, il est très lourd et j'ai des obligation de confidentialités ! désolé
 

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 868
dernier inscrit
pierreselo33