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 :

Objets par référence / création par type [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    ERP + Oracle + VBA Excel
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : ERP + Oracle + VBA Excel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut Objets par référence / création par type
    Bonjour,

    Je me pose la question suivante, quelle est la différence entre obtenir un objet typé via le référencement et la création d'un objet avec le type.

    Entre
    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim objDOM As Object
    Set objDOM = CreateObject("Msxml2.DOMDocument")
    et
    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim objDOM As DOMDocument
    L'objet créé est le même, la solution 2 demande par contre que le composant Microsoft XML V(x) soit référencé dans le projet.

    Pouvez-vous m'expliquer où est la différence ?

    Merci et joyeux Noël !

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    La première option s'appelle Late Binding (liaison tardive).
    Le typage se fait au moment de l'exécution.

    La deuxième s'appelle Early Binding (liaison anticipée).
    Le typage est fait à la compilation.

    Avantage de l'Early Binding: l'IntelliSense est actif pendant le codage.
    Inconvénient: Il faut mentionner la Référence dans le projet VBA.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre confirmé
    Profil pro
    ERP + Oracle + VBA Excel
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : ERP + Oracle + VBA Excel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    Merci pour cette réponse.

    Si jamais pour les personnes qui lisent ce message. A
    à l'usage , je me suis rendu compte que la liaison tardive permet de mieux intercepter les erreurs provoquées par le composant absent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Manipuler objet par valeur et par référence
    Par scar63 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 23/04/2012, 00h41
  2. Par référence ou par valeur ?
    Par Kropernic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/06/2009, 09h20
  3. par copie ou par référence ?
    Par Rabbit57 dans le forum Général Python
    Réponses: 2
    Dernier message: 25/03/2009, 15h35
  4. Réponses: 4
    Dernier message: 01/08/2008, 17h13
  5. Réponses: 11
    Dernier message: 21/05/2006, 14h39

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