Bonjour à tous,
Je n'arrive pas à ouvrir un document Word à partir d'une macro Excel.
Voici le code que j'utilise:
Sub ouvreWord()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open(Chemin_prog & "tableau.doc",
ReadOnly:=True)
end sub
Le message d'erreur suivant apparaît:
"Erreur de compilation
Type défini par l'utilisateur non défini"
????
Qqu'un peut-il m'aider à corriger le code
D'avance merci
cordialement
andré
Bonjour à tous,
Je n'arrive pas à ouvrir un document Word à partir d'une macro Excel.
Voici le code que j'utilise:
Sub ouvreWord()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open(Chemin_prog & "tableau.doc",
ReadOnly:=True)
end sub
Le message d'erreur suivant apparaît:
"Erreur de compilation
Type défini par l'utilisateur non défini"
????
Qqu'un peut-il m'aider à corriger le code
D'avance merci
cordialement
andré
Bonjour à tous,
Je n'arrive pas à ouvrir un document Word à partir d'une macro Excel.
Voici le code que j'utilise:
Sub ouvreWord()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open(Chemin_prog & "tableau.doc",
ReadOnly:=True)
end sub
Le message d'erreur suivant apparaît:
"Erreur de compilation
Type défini par l'utilisateur non défini"
????
Qqu'un peut-il m'aider à corriger le code
D'avance merci
cordialement
andré
Bonjour,
Essayez les 2 procédures ci-dessous
'********************************
'---- Liaison précoce; Librairie indispensable
'---- "Microsoft World x.0 Object Library"
'---- FAIRE: menu Outils/Références et cocher
'---- la référence susmentionnée
'---- Remarque: exécution plus rapide
Sub ouvreWord_PRECOCE()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'---- Liaison tardive; Sans la librairie
'---- "Microsoft World x.0 Object Library"
'---- Remarque: exécution moins rapide
Sub ouvreWord_TARDIVE()
Dim DocWord As Object 'Word.Document
Dim AppWord As Object 'Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'********************************
Cordialement.
Bonjour,
Essayez les 2 procédures ci-dessous
'********************************
'---- Liaison précoce; Librairie indispensable
'---- "Microsoft World x.0 Object Library"
'---- FAIRE: menu Outils/Références et cocher
'---- la référence susmentionnée
'---- Remarque: exécution plus rapide
Sub ouvreWord_PRECOCE()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'---- Liaison tardive; Sans la librairie
'---- "Microsoft World x.0 Object Library"
'---- Remarque: exécution moins rapide
Sub ouvreWord_TARDIVE()
Dim DocWord As Object 'Word.Document
Dim AppWord As Object 'Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'********************************
Cordialement.
Bonjour,
Essayez les 2 procédures ci-dessous
'********************************
'---- Liaison précoce; Librairie indispensable
'---- "Microsoft World x.0 Object Library"
'---- FAIRE: menu Outils/Références et cocher
'---- la référence susmentionnée
'---- Remarque: exécution plus rapide
Sub ouvreWord_PRECOCE()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'---- Liaison tardive; Sans la librairie
'---- "Microsoft World x.0 Object Library"
'---- Remarque: exécution moins rapide
Sub ouvreWord_TARDIVE()
Dim DocWord As Object 'Word.Document
Dim AppWord As Object 'Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'********************************
Cordialement.
Bonjour,
Essayez les 2 procédures ci-dessous
'********************************
'---- Liaison précoce; Librairie indispensable
'---- "Microsoft World x.0 Object Library"
'---- FAIRE: menu Outils/Références et cocher
'---- la référence susmentionnée
'---- Remarque: exécution plus rapide
Sub ouvreWord_PRECOCE()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'---- Liaison tardive; Sans la librairie
'---- "Microsoft World x.0 Object Library"
'---- Remarque: exécution moins rapide
Sub ouvreWord_TARDIVE()
Dim DocWord As Object 'Word.Document
Dim AppWord As Object 'Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'********************************
Cordialement.
--
PMO
Patrick MorangeBonjour à tous,
Je n'arrive pas à ouvrir un document Word à partir d'une macro Excel.
Voici le code que j'utilise:
Sub ouvreWord()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open(Chemin_prog & "tableau.doc",
ReadOnly:=True)
end sub
Le message d'erreur suivant apparaît:
"Erreur de compilation
Type défini par l'utilisateur non défini"
????
Qqu'un peut-il m'aider à corriger le code
D'avance merci
cordialement
andré
Bonjour,
Essayez les 2 procédures ci-dessous
'********************************
'---- Liaison précoce; Librairie indispensable
'---- "Microsoft World x.0 Object Library"
'---- FAIRE: menu Outils/Références et cocher
'---- la référence susmentionnée
'---- Remarque: exécution plus rapide
Sub ouvreWord_PRECOCE()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'---- Liaison tardive; Sans la librairie
'---- "Microsoft World x.0 Object Library"
'---- Remarque: exécution moins rapide
Sub ouvreWord_TARDIVE()
Dim DocWord As Object 'Word.Document
Dim AppWord As Object 'Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'********************************
Cordialement.
--
PMO
Patrick Morange
Bonjour à tous,
Je n'arrive pas à ouvrir un document Word à partir d'une macro Excel.
Voici le code que j'utilise:
Sub ouvreWord()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open(Chemin_prog & "tableau.doc",
ReadOnly:=True)
end sub
Le message d'erreur suivant apparaît:
"Erreur de compilation
Type défini par l'utilisateur non défini"
????
Qqu'un peut-il m'aider à corriger le code
D'avance merci
cordialement
andré
Bonjour,
Essayez les 2 procédures ci-dessous
'********************************
'---- Liaison précoce; Librairie indispensable
'---- "Microsoft World x.0 Object Library"
'---- FAIRE: menu Outils/Références et cocher
'---- la référence susmentionnée
'---- Remarque: exécution plus rapide
Sub ouvreWord_PRECOCE()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'---- Liaison tardive; Sans la librairie
'---- "Microsoft World x.0 Object Library"
'---- Remarque: exécution moins rapide
Sub ouvreWord_TARDIVE()
Dim DocWord As Object 'Word.Document
Dim AppWord As Object 'Word.Application
Dim Chemin_prog As String
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open _
(Chemin_prog & "tableau.doc", ReadOnly:=True)
End Sub
'********************************
Cordialement.
--
PMO
Patrick MorangeBonjour à tous,
Je n'arrive pas à ouvrir un document Word à partir d'une macro Excel.
Voici le code que j'utilise:
Sub ouvreWord()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open(Chemin_prog & "tableau.doc",
ReadOnly:=True)
end sub
Le message d'erreur suivant apparaît:
"Erreur de compilation
Type défini par l'utilisateur non défini"
????
Qqu'un peut-il m'aider à corriger le code
D'avance merci
cordialement
andré
Tu as dû t'embrouiller dans tes copier/coller :)
Pour une liaison tardive, je dirais plutôt :
Set AppWord = CreateObject("Word.Application")
----------
Ange Ounis
----------
Tu as dû t'embrouiller dans tes copier/coller :)
Pour une liaison tardive, je dirais plutôt :
Set AppWord = CreateObject("Word.Application")
----------
Ange Ounis
----------
Tu as dû t'embrouiller dans tes copier/coller :)
Pour une liaison tardive, je dirais plutôt :
Set AppWord = CreateObject("Word.Application")
----------
Ange Ounis
----------
Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour à tous,
Je n'arrive pas à ouvrir un document Word à partir d'une macro Excel.
Voici le code que j'utilise:
Sub ouvreWord()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open(Chemin_prog & "tableau.doc",
ReadOnly:=True)
end sub
Le message d'erreur suivant apparaît:
"Erreur de compilation
Type défini par l'utilisateur non défini"
????
Qqu'un peut-il m'aider à corriger le code
D'avance merci
cordialement
andré
Bonjour à tous,
Je n'arrive pas à ouvrir un document Word à partir d'une macro Excel.
Voici le code que j'utilise:
Sub ouvreWord()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open(Chemin_prog & "tableau.doc",
ReadOnly:=True)
end sub
Le message d'erreur suivant apparaît:
"Erreur de compilation
Type défini par l'utilisateur non défini"
????
Qqu'un peut-il m'aider à corriger le code
D'avance merci
cordialement
andré
Bonjour à tous,
Je n'arrive pas à ouvrir un document Word à partir d'une macro Excel.
Voici le code que j'utilise:
Sub ouvreWord()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Chemin_prog = ActiveWorkbook.Path & ""
AppWord.ShowMe
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open(Chemin_prog & "tableau.doc",
ReadOnly:=True)
end sub
Le message d'erreur suivant apparaît:
"Erreur de compilation
Type défini par l'utilisateur non défini"
????
Qqu'un peut-il m'aider à corriger le code
D'avance merci
cordialement
andré
Bonjour Ange Ounis,
| La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
| plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
| Word.Application) et non typée (Dim AppWord As Object).
Le commentaire de PMO est exact.
Dim AppWord As Word.Application
Ce type de déclaration requiert le chargement de la référence à
"Microsoft Word x.x object librairy" avant l'exécution du code.
Lors de la compilation, Excel a déjà identifié l'activex et où il est situé dans
la base de registre. À l'exécution, le code est plus rapide car la "recherche"
est déjà faite. De là, l'expression "Liaison précode"
Dim AppWord As Object
- Ne requiert pas le chargement de la référence
-Lors de la compilation... excel n'est pas en mesure de savoir de quel
activex il s'agit et de le localiser... c'est ce qu'il va faire à l'exécution
du code ... d'où l'expression : "Liaison tardive" et un temps d'exécution
un peu plus lent.
Salutations!
"Ange Ounis" a écrit dans le message de news: %23xwIZEE%
Ah, OK.
Cependant, ce n'est pas, à ma connaissance, la définition habituelle de ces termes.
La liaison précoce est celle qui s'effectue à la compilation du code alors que
la liaison tardive s'effectue à l'exécution du code.
Même si la "compilation" de VBA n'en est pas vraiment une, les liaisons précoces
et tardives sont bien effectuées selon la définition habituelle, pour ce que
j'en sais.
La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
Word.Application) et non typée (Dim AppWord As Object).
----------
Ange Ounis
----------Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour Ange Ounis,
| La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
| plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
| Word.Application) et non typée (Dim AppWord As Object).
Le commentaire de PMO est exact.
Dim AppWord As Word.Application
Ce type de déclaration requiert le chargement de la référence à
"Microsoft Word x.x object librairy" avant l'exécution du code.
Lors de la compilation, Excel a déjà identifié l'activex et où il est situé dans
la base de registre. À l'exécution, le code est plus rapide car la "recherche"
est déjà faite. De là, l'expression "Liaison précode"
Dim AppWord As Object
- Ne requiert pas le chargement de la référence
-Lors de la compilation... excel n'est pas en mesure de savoir de quel
activex il s'agit et de le localiser... c'est ce qu'il va faire à l'exécution
du code ... d'où l'expression : "Liaison tardive" et un temps d'exécution
un peu plus lent.
Salutations!
"Ange Ounis" <nospam@nospam> a écrit dans le message de news: %23xwIZEE%23FHA.4012@TK2MSFTNGP10.phx.gbl...
Ah, OK.
Cependant, ce n'est pas, à ma connaissance, la définition habituelle de ces termes.
La liaison précoce est celle qui s'effectue à la compilation du code alors que
la liaison tardive s'effectue à l'exécution du code.
Même si la "compilation" de VBA n'en est pas vraiment une, les liaisons précoces
et tardives sont bien effectuées selon la définition habituelle, pour ce que
j'en sais.
La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
Word.Application) et non typée (Dim AppWord As Object).
----------
Ange Ounis
----------
Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour Ange Ounis,
| La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
| plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
| Word.Application) et non typée (Dim AppWord As Object).
Le commentaire de PMO est exact.
Dim AppWord As Word.Application
Ce type de déclaration requiert le chargement de la référence à
"Microsoft Word x.x object librairy" avant l'exécution du code.
Lors de la compilation, Excel a déjà identifié l'activex et où il est situé dans
la base de registre. À l'exécution, le code est plus rapide car la "recherche"
est déjà faite. De là, l'expression "Liaison précode"
Dim AppWord As Object
- Ne requiert pas le chargement de la référence
-Lors de la compilation... excel n'est pas en mesure de savoir de quel
activex il s'agit et de le localiser... c'est ce qu'il va faire à l'exécution
du code ... d'où l'expression : "Liaison tardive" et un temps d'exécution
un peu plus lent.
Salutations!
"Ange Ounis" a écrit dans le message de news: %23xwIZEE%
Ah, OK.
Cependant, ce n'est pas, à ma connaissance, la définition habituelle de ces termes.
La liaison précoce est celle qui s'effectue à la compilation du code alors que
la liaison tardive s'effectue à l'exécution du code.
Même si la "compilation" de VBA n'en est pas vraiment une, les liaisons précoces
et tardives sont bien effectuées selon la définition habituelle, pour ce que
j'en sais.
La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
Word.Application) et non typée (Dim AppWord As Object).
----------
Ange Ounis
----------Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour Ange Ounis,
| La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
| plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
| Word.Application) et non typée (Dim AppWord As Object).
Le commentaire de PMO est exact.
Dim AppWord As Word.Application
Ce type de déclaration requiert le chargement de la référence à
"Microsoft Word x.x object librairy" avant l'exécution du code.
Lors de la compilation, Excel a déjà identifié l'activex et où il est situé dans
la base de registre. À l'exécution, le code est plus rapide car la "recherche"
est déjà faite. De là, l'expression "Liaison précode"
Dim AppWord As Object
- Ne requiert pas le chargement de la référence
-Lors de la compilation... excel n'est pas en mesure de savoir de quel
activex il s'agit et de le localiser... c'est ce qu'il va faire à l'exécution
du code ... d'où l'expression : "Liaison tardive" et un temps d'exécution
un peu plus lent.
Salutations!
"Ange Ounis" a écrit dans le message de news: %23xwIZEE%
Ah, OK.
Cependant, ce n'est pas, à ma connaissance, la définition habituelle de ces termes.
La liaison précoce est celle qui s'effectue à la compilation du code alors que
la liaison tardive s'effectue à l'exécution du code.
Même si la "compilation" de VBA n'en est pas vraiment une, les liaisons précoces
et tardives sont bien effectuées selon la définition habituelle, pour ce que
j'en sais.
La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
Word.Application) et non typée (Dim AppWord As Object).
----------
Ange Ounis
----------Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour Ange Ounis,
| La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
| plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
| Word.Application) et non typée (Dim AppWord As Object).
Le commentaire de PMO est exact.
Dim AppWord As Word.Application
Ce type de déclaration requiert le chargement de la référence à
"Microsoft Word x.x object librairy" avant l'exécution du code.
Lors de la compilation, Excel a déjà identifié l'activex et où il est situé dans
la base de registre. À l'exécution, le code est plus rapide car la "recherche"
est déjà faite. De là, l'expression "Liaison précode"
Dim AppWord As Object
- Ne requiert pas le chargement de la référence
-Lors de la compilation... excel n'est pas en mesure de savoir de quel
activex il s'agit et de le localiser... c'est ce qu'il va faire à l'exécution
du code ... d'où l'expression : "Liaison tardive" et un temps d'exécution
un peu plus lent.
Salutations!
"Ange Ounis" <nospam@nospam> a écrit dans le message de news: %23xwIZEE%23FHA.4012@TK2MSFTNGP10.phx.gbl...
Ah, OK.
Cependant, ce n'est pas, à ma connaissance, la définition habituelle de ces termes.
La liaison précoce est celle qui s'effectue à la compilation du code alors que
la liaison tardive s'effectue à l'exécution du code.
Même si la "compilation" de VBA n'en est pas vraiment une, les liaisons précoces
et tardives sont bien effectuées selon la définition habituelle, pour ce que
j'en sais.
La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
Word.Application) et non typée (Dim AppWord As Object).
----------
Ange Ounis
----------
Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.
Bonjour Ange Ounis,
| La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
| plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
| Word.Application) et non typée (Dim AppWord As Object).
Le commentaire de PMO est exact.
Dim AppWord As Word.Application
Ce type de déclaration requiert le chargement de la référence à
"Microsoft Word x.x object librairy" avant l'exécution du code.
Lors de la compilation, Excel a déjà identifié l'activex et où il est situé dans
la base de registre. À l'exécution, le code est plus rapide car la "recherche"
est déjà faite. De là, l'expression "Liaison précode"
Dim AppWord As Object
- Ne requiert pas le chargement de la référence
-Lors de la compilation... excel n'est pas en mesure de savoir de quel
activex il s'agit et de le localiser... c'est ce qu'il va faire à l'exécution
du code ... d'où l'expression : "Liaison tardive" et un temps d'exécution
un peu plus lent.
Salutations!
"Ange Ounis" a écrit dans le message de news: %23xwIZEE%
Ah, OK.
Cependant, ce n'est pas, à ma connaissance, la définition habituelle de ces termes.
La liaison précoce est celle qui s'effectue à la compilation du code alors que
la liaison tardive s'effectue à l'exécution du code.
Même si la "compilation" de VBA n'en est pas vraiment une, les liaisons précoces
et tardives sont bien effectuées selon la définition habituelle, pour ce que
j'en sais.
La distinction que tu fais, AMHA, ne différencie pas 2 types de liaisons, mais
plutôt 2 méthodes de déclaration des variables objet : typée (Dim AppWord As
Word.Application) et non typée (Dim AppWord As Object).
----------
Ange Ounis
----------Bonjour,
1) J'entends par Liaison PRECOCE
- Déclaration des variables AVEC spécification
du type du composant ActiveX soit:
Dim DocWord As Word.Document
Dim AppWord As Word.Application
VBA reconnaît l'intention et optimise le code compilé
2) J'entends par Liaison TARDIVE
- Déclaration des variables SANS spécification soit:
Dim DocWord As Object
Dim AppWord As Object
Ce n'est qu'à l'exécution que VBA interprètera l'intention
Cordialement.