Bonjour à tous.
Je travaille sur Excel 2007 chez moi et 2013 au boulot.
Je suis en train de créer un base de facturation sur excel avec VBA que je maitrise peu mais jusqu'à présent je m'en sort assez bien.
J'ai créer plusieurs formulaires de saisie qui fonctionne très bien.
Sur un de ces formulaires, j'ai placé une combobox appelée "CboMhRecherche" et qui permet de saisir ou de sélectionner un numéro.
Puis a coté de cette combox, j'ai ajouté un bouton qui permet quand on clic dessus d'alimenter une listbox (lbxMhdejacree) en fonction du numéro qui est saisi dans la combobox.
Cela fonctionne très bien mais que pour les 9 premières colonnes. Cela plante à partir de la 10ème et j'ai 55 colonne à alimenter.
Je ne comprend pas pourquoi je ne peux pas alimenter ma listbox au delà de 10 colonne. (Message d'erreur = impossible de définir la propriété list…)
Je mets ci-dessous le VBA du bouton
Par avance merci à tous.
Cordialement
Dominique
Private Sub btnRechercheMhSpecifique_Click()
Dim critere
Dim derniereligne As Integer, X As Integer
critere = CboMhRecherche.Value
Sheets("MH").Select
'On récupère la dernière ligne de la source de données
If Cells(Rows.Count, 1).End(xlUp).Row = 1 Then
derniereligne = 2
Else
derniereligne = Cells(Rows.Count, 1).End(xlUp).Row
End If
'On efface le contenu de la liste lbcMHdejacree à chaque recherche.
lbxMHdejacree.Clear
'On parcours la source de données de la ligne ? jusqu'à la dernière ligne
For X = 1 To derniereligne
'On teste le critère, ici le contenu de CboMhRecherche.value avec la source de données.
If Cells(X, 1) = critere Then
'On ecrit dans la listbox
Me.lbxMHdejacree.AddItem Cells(X, 1)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 1) = Cells(X, 2)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 2) = Cells(X, 3)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 3) = Cells(X, 4)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 4) = Cells(X, 5)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 5) = Cells(X, 6)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 6) = Cells(X, 7)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 7) = Cells(X, 8)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 8) = Cells(X, 9)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 9) = Cells(X, 10)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 10) = Cells(X, 11) ' plante à partir d'ici….
...
e.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 55) = Cells(X, 56)
End If
Next X
End Sub
Je travaille sur Excel 2007 chez moi et 2013 au boulot.
Je suis en train de créer un base de facturation sur excel avec VBA que je maitrise peu mais jusqu'à présent je m'en sort assez bien.
J'ai créer plusieurs formulaires de saisie qui fonctionne très bien.
Sur un de ces formulaires, j'ai placé une combobox appelée "CboMhRecherche" et qui permet de saisir ou de sélectionner un numéro.
Puis a coté de cette combox, j'ai ajouté un bouton qui permet quand on clic dessus d'alimenter une listbox (lbxMhdejacree) en fonction du numéro qui est saisi dans la combobox.
Cela fonctionne très bien mais que pour les 9 premières colonnes. Cela plante à partir de la 10ème et j'ai 55 colonne à alimenter.
Je ne comprend pas pourquoi je ne peux pas alimenter ma listbox au delà de 10 colonne. (Message d'erreur = impossible de définir la propriété list…)
Je mets ci-dessous le VBA du bouton
Par avance merci à tous.
Cordialement
Dominique
Private Sub btnRechercheMhSpecifique_Click()
Dim critere
Dim derniereligne As Integer, X As Integer
critere = CboMhRecherche.Value
Sheets("MH").Select
'On récupère la dernière ligne de la source de données
If Cells(Rows.Count, 1).End(xlUp).Row = 1 Then
derniereligne = 2
Else
derniereligne = Cells(Rows.Count, 1).End(xlUp).Row
End If
'On efface le contenu de la liste lbcMHdejacree à chaque recherche.
lbxMHdejacree.Clear
'On parcours la source de données de la ligne ? jusqu'à la dernière ligne
For X = 1 To derniereligne
'On teste le critère, ici le contenu de CboMhRecherche.value avec la source de données.
If Cells(X, 1) = critere Then
'On ecrit dans la listbox
Me.lbxMHdejacree.AddItem Cells(X, 1)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 1) = Cells(X, 2)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 2) = Cells(X, 3)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 3) = Cells(X, 4)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 4) = Cells(X, 5)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 5) = Cells(X, 6)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 6) = Cells(X, 7)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 7) = Cells(X, 8)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 8) = Cells(X, 9)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 9) = Cells(X, 10)
Me.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 10) = Cells(X, 11) ' plante à partir d'ici….
...
e.lbxMHdejacree.List(Me.lbxMHdejacree.ListCount - 1, 55) = Cells(X, 56)
End If
Next X
End Sub