[Résolu]Erreur d'exécution '424': Objet requis - Appel procédure & ComboBox non recon

OneOther

XLDnaute Nouveau
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):
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:

OneOther

XLDnaute Nouveau
Re : Erreur d'exécution '424': Objet requis - Appel procédure & ComboBox non reconnu

Bonjour,

Peut-être une solution dans les discussions similaires en bas de page ?

Dois-je rire ou pleurer? :confused:

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)

J'aurai certainement pas posé la question sinon...

EDIT: maintenant, si toi-même t'y trouve la solution à mon problème, il y aura plus qu'à te sacré "Roi de la trouvaille internautique de l'Excel-Lance"...

EDIT 2: Je suis aussi allez regarder vers quelques sujets anglophone aussi... (utilité de cette dernière modif'? peut-être aucune...)
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Erreur d'exécution '424': Objet requis - Appel procédure & ComboBox non reconnu

Bonjour
Dans le cas d'un objet, ByRef signifie que si vous faites un Set dessus pour changer d'objet, ce changement sera conservé dans le programme appelant, lequel doit alors passer une variable objet. Pour changer simplement des propriétés de l'objet spécifié, ByVal suffit. Essayez aussi déjà d'enlever les parenthèses inutiles, on ne sait jamais.
À +
 

Philippe68

XLDnaute Occasionnel
Re : Erreur d'exécution '424': Objet requis - Appel procédure & ComboBox non reconnu

Dois-je rire ou pleurer? :confused:



J'aurai certainement pas posé la question sinon...

EDIT: maintenant, si toi-même t'y trouve la solution à mon problème, il y aura plus qu'à te sacré "Roi de la trouvaille internautique de l'Excel-Lance"...

EDIT 2: Je suis aussi allez regarder vers quelques sujets anglophone aussi... (utilité de cette dernière modif'? peut-être aucune...)
Si tu le prend sur ce ton, débrouille toi :mad:, on est pas salarié ici !!
 

OneOther

XLDnaute Nouveau
Re : Erreur d'exécution '424': Objet requis - Appel procédure & ComboBox non reconnu

Dans le cas d'un objet, ByRef signifie que si vous faites un Set dessus pour changer d'objet, ce changement sera conservé dans le programme appelant, lequel doit alors passer une variable objet. Pour changer simplement des propriétés de l'objet spécifié, ByVal suffit.

Merci pour cette explication.

Essayez aussi déjà d'enlever les parenthèses inutiles, on ne sait jamais.

...

Ca a l'air idiot, mais c'est bien ça qui a résolu mon problème... :confused:

Mon appel avant:
Code:
TriRapide(ComboBoxAff)

Mon appel maintenant:
Code:
TriRapide ComboBoxAff

Si quelqu'un peut maintenant m'expliquer pourquoi les parenthèses peuvent amener une tel erreur, je serais bien moins idiot qu'avant.

Merci énormément pour ta réponse, Dranreb! :D

EDIT:
Si tu le prend sur ce ton, débrouille toi :mad:, on est pas salarié ici !!

Je ne le sais que trop bien... mais c'est pas la première fois que je fais des recherches pour un (des) problème(s), que ce sera certainement pas la dernière... mais j'ai moi-même été un peu offensé par ta propre réponse vu que je précise bien que j'ai fais des recherches... Maintenant, excuse-moi si tu as été aussi offensé par mon message.

EDIT 2:
Merci encore au forum pour m'avoir répondu aussi rapidement, c'est énormément plaisant!
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : [Résolu]Erreur d'exécution '424': Objet requis - Appel procédure & ComboBox non

Si les parenthèses ne sont pas requises, VB va considérer qu'il s'agit d'une expression entre parenthèses spécifiée en tant que paramètre particulier parmi la liste de tous les paramètres (le fait qu'il n'y en ait qu'un n'y change rien). L'évaluation de cette expression ne saurait donner un objet valide dans le cas d'un contrôle. Une liste de plages à la rigueur, peut peut être s'en voir transformée en une unique plage multi-zones.
P.S. Peut être essaye-t-il de fabriquer une collection de contrôles n'en contenant en l’occurrence qu'un seul, ce que la Sub ne reconnaît pas comme étant un contrôle.
Cordialement
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 153
Messages
2 085 800
Membres
102 981
dernier inscrit
fred02v