IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur sur Composant ActiveX [XL-2000]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 294
    Points : 87
    Points
    87
    Par défaut Erreur sur Composant ActiveX
    Bonjour au forum.

    J'ai un retour de message d'erreur sur :

    "un composant ActiveX ne peut pas créer l'objet"

    le programme s'arrête sur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set ObjSortedList = CreateObject("System.Collections.ArrayList")
    que dois-je cocher dans le menu outls-> références -> ?
    si je m'égare que dois-je faire pour remédier au petit problème ?

    Sachant que le programme est testé sur un excel-2000
    le vba est en V6.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    logiquement, tu n'as rien à cocher dans les références si tu as bien déclaré ta variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Obj As Object
    .....
    ..... 
    Set Obj = CreateObject("System.Collections.ArrayList")
    j'utilise souvent cet objet sans problème
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 294
    Points : 87
    Points
    87
    Par défaut
    J'ai toujours le problème.

    le fait de l'enregistrer au format 97-2003.xls sachant que je viens de excel 2010, y a-t-il un rapport ou pas ?


    Cependant voici ce qui est coché dans le menu références dans excel2000, vba V6 :

    Nom : references.jpg
Affichages : 686
Taille : 66,0 Ko

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Bonjour,

    vu le nom de la variable, j'ai l'impression qu'il y a déjà une erreur sur l'objet pointé !?

    Sinon fermer Excel voire même redémarrer l'ordinateur …


    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Tu es absolument sûr que c'est du VBA ?

    Parce que moi j'en doute énormément.

    Dans mon esprit, System.collections.arraylist = VB.net

    Et, puis utiliser un composant .net à partir de VBA ou VB6, cela demande plus qu'un banal CreateObject.

    M'est avis que tu devrais mettre ton code.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour clementmarcotte,
    comme précisé dans mon post #2, j'utilise beaucoup cet objet très utile avec le vba excel, il suffit de chercher ArrayList sur le net, voire même le site de boisgontier
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 294
    Points : 87
    Points
    87
    Par défaut
    initialement cet objet avait été créée pour optimiser une routine

    http://www.developpez.net/forums/d15...s/#post8695048


    mais cependant voici le code sur la partie qui bloque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     '******************  TRI **************************
     Dim Obj As Object
     
     Set Obj = CreateObject("System.Collections.ArrayList")
     
     For i = 1 To x - 1
         Obj.Add Tb1(i)
     
      Next i
      ComboBox3.List = Obj.toarray
     
     End Sub

    erreur sur
    Set Obj = CreateObject("System.Collections.ArrayList")

  8. #8
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    le fait de l'enregistrer au format 97-2003.xls sachant que je viens de excel 2010, y'a-t-il un rapport ou pas ?
    c'est peut-être la réponse, je n'ai rien vu à ce sujet
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  9. #9
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par casefayere Voir le message
    Bonjour clementmarcotte,
    comme précisé dans mon post #2, j'utilise beaucoup cet objet très utile avec le vba excel, il suffit de chercher ArrayList sur le net, voire même le site de boisgontier
    Désolé d'avoir douté, mais cela marche.

    Ajout subséquent :

    OK, j'ai trouvé pourquoi. Sur cette page, ils disent qu'il y a plusieurs classes du Framework .net qui incluent un "wrapper" vers le monde COM. Mais, ce n'est pas la majorité des classes du Framework. Honte à moi, puis-je (devrais-je) dire. Je ne le savais pas.

    Comme on dit de par chez-nous : "Je vais me coucher moins niaiseux ce soir"
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  10. #10
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Désolé d'avoir douté, mais cela marche
    et ça peut-être très utile quand on a pas les problèmes de esse2016
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  11. #11
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Entre temps, j'ai rabouté quelque chose à mon autre message. Je sais maintenant le pourquoi de la chose.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  12. #12
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 294
    Points : 87
    Points
    87
    Par défaut
    euh vous me décoder svp je ne comprends rien à votre discussion

  13. #13
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    je viens de voir ton lien, la traduction

    Il y a une autre option et qui est d'utiliser le .NET Framework pour aider. La majorité des classes .NET Framework sont inutilisables en VBScript. Cependant, il existe un grand nombre de classes .NET qui ont wrappers COM-callable. T ses moyens ces classes comprennent une interface COM leur permettant d'être accessibles à partir de VBScript.
    et bien, je suis comme esse, ça reste du chinois, ce texte anglais traduit en français
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  14. #14
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    pour moi, et je vais indirectement rejoindre une partie de l'avis de Clement, ça vient de Excel 2000

    Cet objet est une classe de .NET Framework, pas sûr que sur Excel 2000 ce soit disponible

    Pour t'en convaincre, test ton code sur une version plus récente d'excel ... et si ça passe alors tu as ton explication.

  15. #15
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    Bonjour,

    pour moi, et je vais indirectement rejoindre une partie de l'avis de Clement, ça vient de Excel 2000

    Cet objet est une classe de .NET Framework, pas sûr que sur Excel 2000 ce soit disponible

    Pour t'en convaincre, test ton code sur une version plus récente d'excel ... et si ça passe alors tu as ton explication.
    c'est la question que je me suis posée #8 et quand tu proposes de tester sur une version plus récente, apparemment c'est fait
    le fait de l'enregistrer au format 97-2003.xls sachant que je viens de excel 2010, y'a-t-il un rapport ou pas ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  16. #16
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Oui je l'ai vu après avoir posté que cette piste était déjà suggérée.

    j'avais pas rafraichis la page, et j'ai répondu direct en rentrant des courses, ça m'apprendra

  17. #17
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 294
    Points : 87
    Points
    87
    Par défaut
    Ok Joe,

    sur du excel 2010 ça passe.

    Donc du coup je fais un pas en arrière car initialement le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dim ObjSortedList as object
    Set ObjSortedList = CreateObject("System.Collections.ArrayList")
     For i = 1 To x - 1
     ObjSortedList.Add Tb1(i)
     
     Next i
     ComboBox2.List = ObjSortedList.toarray

    était pour remplacer ce bout de code afin de l'optimiser dans le cas ou j'aurai plus de 100 000 cellules à traiter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    For i = 1 To UBound(Tb1, 1)
            For j = 1 To UBound(Tb1, 1)
     
            If Tb1(i) < Tb1(j) Then
            temp = Tb1(i)
            Tb1(i) = Tb1(j)
            Tb1(j) = temp
            End If
            Next j
    Next i
     
    ComboBox2.List = Tb1
    donc je réitère ma question malheuresuement sait-on faire mieux par rapport au deuxième bout de code pour du EXCEL2000 ? si vous me dites que non et vous ne voulez pas vous prendre la tête, je peux comprendre...

  18. #18
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Pas grave, ce qu'il l'est plus, c'est que j'ai l'impression que esse ne pourra résoudre son problème et sera obligé d'utiliser une autre méthode (certainement moins pratique)

    Edit : on s'est croisé esse
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  19. #19
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 294
    Points : 87
    Points
    87
    Par défaut
    Exactement Casefayere tu comprends mon désarroi...

  20. #20
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Exactement Casefayere tu comprends mon désarroi...
    et je pense que tu n'auras pas d'autre solution en terme de rapidité d'exécution mais je peux me tromper
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [AC-2010] Erreur 429 - composant ActiveX
    Par Thed_ dans le forum VBA Access
    Réponses: 2
    Dernier message: 29/05/2013, 17h08
  2. [AC-2010] Erreur 429 - Composant ActiveX
    Par MisterS dans le forum VBA Access
    Réponses: 11
    Dernier message: 02/09/2010, 15h42
  3. Message d'erreur sur composant DirOpenFile6.ocx
    Par bugsisgood dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/02/2010, 08h45
  4. Message d'erreur: Un composant ActiveX ne peut pas créer un objet
    Par amnass dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/05/2009, 07h12
  5. Erreur sur le composant QRDBImage
    Par Andry dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/01/2009, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo