Bug erreur d’exécution 9

chaelie2015

XLDnaute Accro
Bonjour Forum
J’ai un bug au niveau de USF4 de type erreur d’exécution 9 (l’indice n’appartient pas à la sélection) quand je sélectionne les Combobox1 et combobox2 et après je valide, l'application s’arrête a ce niveau de code ?????
Code:
Private Sub ComboBox2_Change()
Dim Lgn&
  Lgn = ComboBox2.ListIndex + 4
With Sheets(CStr(ComboBox1)) ‘<-----------a ce niveau 
    TextBox105.Value = .Cells(Lgn, 4) 
..............
NB: Désolé je n'arrive pas a rattaché le fichier directement
SALUTATIONS
Document Cjoint
 
Dernière édition:

chaelie2015

XLDnaute Accro
Re : Bug erreur d’exécution 9

Bonjour Roland
merci pour la réponse
concernant la ComboBox
j'ai met
ComboBox1.AddItem "Lettre de commande"
ComboBox1.AddItem "Commande"
ComboBox1.AddItem "Contrat"
ComboBox1.AddItem "Marché"

qui sont des feuilles , mais dans le fichier exemple j'ai mets que deux feuilles "Lettre de Comande et Commande"
a+
NB: j'ai ajouté dans le fichier joint les deux feuilles manquantes et j'ai le meme souci
Document Cjoint
 
Dernière édition:

JM27

XLDnaute Barbatruc
Re : Bug erreur d’exécution 9

Bonjour
TU déroules ta macro en pas à pas.( pour comprendre)
dès que tu valides , tu lances une procédure Efface.
Celle ci efface ta combo 1 puis ta combo2.
Ce qui a pour effet de relancer la macro
Private Sub ComboBox2_Change()

Et dans cette macro tu as
With Sheets(CStr(ComboBox1))

Comme Combo1 est vide tu essayes de sélectionner une feuille ne comportant pas de nom.
donc impossible.
Pour t'en sortir

dans cette macro

Private Sub CommandButton1_Click()
rajoutes
If ComboBox1.ListIndex = -1 Then Exit Sub


Mais comme je ne comprends pas ce que doit faire cet userform.
 
Dernière modification par un modérateur:

chaelie2015

XLDnaute Accro
Re : Bug erreur d’exécution 9

Bonjour Forum
Merci JM27 pour les remarques, j’ai rajoute ce code
If ComboBox1.ListIndex = -1 Then Exit Sub

Au niveau
Private Sub ComboBox2_Change()
Dim Lgn&
Lgn = ComboBox2.ListIndex + 4
If ComboBox1.ListIndex = -1 Then Exit Sub ‘<-----------a ce niveau

With Sheets(CStr(ComboBox1))
TextBox105.Value = .Cells(Lgn, 4)
..............
Et ça marche maintenant, mais j’ai un autre souci:confused:
Comment faire pour renseigner même ligne sélectionné par le combobox2 ?
salutation
Document Cjoint
 

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972