Bonjour tout le monde,
Je vais essayer de faire simple: Dans un classeur Excel, à l'appel d'un bouton, j'utilise une UserForm qui, à l'initialisation, doit appeler une procédure (procédure de tri rapide, mais là n'est pas le problème)
A l'initialisation de l'UserForm, une combobox (nommé ComboBoxAff) doit se remplir automatiquement de données présentes sur une des feuilles du classeur. Jusque là, tout va bien.
Mais arriver à la fameuse ligne d'appel de la procédure (nommé tout simplement TriRapide): "Erreur d'exécution '424': Objet requis" . Celà fait plusieurs jours que ça me bloque, et j'ai sacrément besoin de celà fonctionne pour faire mon tri rapide (14371 éléments non-ordonné, c'est vachement galère pour l'utilisateur...).
Voici donc le bout de code (le nécessaire, au moins):
J'avais essayer dans la signature de ma procédure TriRapide de ne rien mettre et d'appeler directement ComboBoxAff dedans, mais dès que la procédure va travailler dessus, elle me resort l'erreur...
Saurez-vous me trouver la solution?
Merci d'avance!
Note: J'ai beau avoir lu une bonne dizaine de sujets sur le même message d'erreur, j'ai pas réussi à trouver la solution, la majorité étant résolu car l'objet en question n'existait pas... je peux affirmer que ma ComboBoxAff existe bel et bien (sinon l'erreur apparaîtrait avant et ma combobox ne serait pas remplit)
EDIT: Je travail sur ce classeur sous Excel 2007
EDIT 2: Je me demande une autre petite chose... mais cela n'a pas résolu le problème, si c'était présent ou non:
ByRef veut bien dire (en quelque sorte) que, à l'appel de la signature, le travail sur l'élément signalé par le ByRef sera effectué sur l'élément donné à l'appel? (Ayant lu que "ByRef" signifie "Par Référence")
Je vais essayer de faire simple: Dans un classeur Excel, à l'appel d'un bouton, j'utilise une UserForm qui, à l'initialisation, doit appeler une procédure (procédure de tri rapide, mais là n'est pas le problème)
A l'initialisation de l'UserForm, une combobox (nommé ComboBoxAff) doit se remplir automatiquement de données présentes sur une des feuilles du classeur. Jusque là, tout va bien.
Mais arriver à la fameuse ligne d'appel de la procédure (nommé tout simplement TriRapide): "Erreur d'exécution '424': Objet requis" . Celà fait plusieurs jours que ça me bloque, et j'ai sacrément besoin de celà fonctionne pour faire mon tri rapide (14371 éléments non-ordonné, c'est vachement galère pour l'utilisateur...).
Voici donc le bout de code (le nécessaire, au moins):
Code:
Private Sub UserForm_Initialize()
ComboBoxSite.Clear 'Inutilisé pour le moment
ComboBoxAff.Clear
ComboBoxAff.ColumnWidths = "50 pt;0 pt" 'Système colonne caché
Dim x As Long
Dim text As String
' Listing ComboBox
x = 2
Do
text = ThisWorkbook.Sheets("BddISD").Cells(x, 4) & "/" & ThisWorkbook.Sheets("BddISD").Cells(x, 5)
With ComboBoxAff
.AddItem text
.List(.ListCount - 1, 1) = x
End With
x = x + 1
Loop Until ThisWorkbook.Sheets("BddISD").Cells(x, 4) = ""
' Triage pour ComboBoxAff
TriRapide (ComboBoxAff) [COLOR="#FF0000"]' Après l'exécution de cette ligne, l'erreur apparaît[/COLOR]
End Sub
' Tri rapide
Sub TriRapide(ByRef CB As MSForms.ComboBox)
' Peu importe le contenu de la procédure vu que je n'arrive pas à entrer dedans...
End Sub
J'avais essayer dans la signature de ma procédure TriRapide de ne rien mettre et d'appeler directement ComboBoxAff dedans, mais dès que la procédure va travailler dessus, elle me resort l'erreur...
Saurez-vous me trouver la solution?
Merci d'avance!
Note: J'ai beau avoir lu une bonne dizaine de sujets sur le même message d'erreur, j'ai pas réussi à trouver la solution, la majorité étant résolu car l'objet en question n'existait pas... je peux affirmer que ma ComboBoxAff existe bel et bien (sinon l'erreur apparaîtrait avant et ma combobox ne serait pas remplit)
EDIT: Je travail sur ce classeur sous Excel 2007
EDIT 2: Je me demande une autre petite chose... mais cela n'a pas résolu le problème, si c'était présent ou non:
ByRef veut bien dire (en quelque sorte) que, à l'appel de la signature, le travail sur l'élément signalé par le ByRef sera effectué sur l'élément donné à l'appel? (Ayant lu que "ByRef" signifie "Par Référence")
Dernière édition: