La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
ObKg5QJzHHA.1212@TK2MSFTNGP05.phx.gbl...
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23fUqboJzHHA.1484@TK2MSFTNGP06.phx.gbl...
La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
ObKg5QJzHHA.1212@TK2MSFTNGP05.phx.gbl...
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad vitam
eternam
amen
jps
"Claire" a écrit dans le message de news:Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad vitam
eternam
amen
jps
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
O3fwerLzHHA.3536@TK2MSFTNGP06.phx.gbl...
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23fUqboJzHHA.1484@TK2MSFTNGP06.phx.gbl...
La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
ObKg5QJzHHA.1212@TK2MSFTNGP05.phx.gbl...
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad vitam
eternam
amen
jps
"Claire" a écrit dans le message de news:Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23fUqboJzHHA.1484@TK2MSFTNGP06.phx.gbl...
La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
ObKg5QJzHHA.1212@TK2MSFTNGP05.phx.gbl...
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu "outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fichier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a plus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventuelle
bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" a écrit dans le message de news:
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là
tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu
n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad vitam
eternam
amen
jps
"Claire" a écrit dans le message de news:Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu "outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fichier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a plus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventuelle
bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" <jps@wannadoodoo.fr> a écrit dans le message de news:
et9P9zOzHHA.2484@TK2MSFTNGP06.phx.gbl...
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là
tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu
n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad vitam
eternam
amen
jps
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
O3fwerLzHHA.3536@TK2MSFTNGP06.phx.gbl...
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23fUqboJzHHA.1484@TK2MSFTNGP06.phx.gbl...
La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
ObKg5QJzHHA.1212@TK2MSFTNGP05.phx.gbl...
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu "outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fichier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a plus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventuelle
bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" a écrit dans le message de news:
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là
tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu
n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad vitam
eternam
amen
jps
"Claire" a écrit dans le message de news:Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Pourquoi ce type de question tombe toujours sur moi ?
Parceque c'est quand même bien à César qu'il faut rendre les lauriers
Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu " outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fi chier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a p lus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventue lle bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" a écrit dans le message de news: et9P9zOzHH
au risque de me mêler de ce qui ne regarde que des québécois...et s i tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références e t là tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu n'auras
plus rien à ajouter à ta proc puisque la référence sera install ée ad vitam
eternam
amen
jps
"Claire" a écrit dans le message de news:Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beau coup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référen ce de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référe nce
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applicati ons
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J' ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Pourquoi ce type de question tombe toujours sur moi ?
Parceque c'est quand même bien à César qu'il faut rendre les lauriers
Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu " outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fi chier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a p lus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventue lle bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" <j...@wannadoodoo.fr> a écrit dans le message de news: et9P9zOzHH A.2...@TK2MSFTNGP06.phx.gbl...
au risque de me mêler de ce qui ne regarde que des québécois...et s i tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références e t là tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu n'auras
plus rien à ajouter à ta proc puisque la référence sera install ée ad vitam
eternam
amen
jps
"Claire" <smdao...@videotron.ca> a écrit dans le message de news:
O3fwerLzHHA.3...@TK2MSFTNGP06.phx.gbl...
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beau coup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référen ce de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" <michde...@hotmail.com> a écrit dans le message de news:
%23fUqboJzHHA.1...@TK2MSFTNGP06.phx.gbl...
La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référe nce
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" <smdao...@videotron.ca> a écrit dans le message de news:
ObKg5QJzHHA.1...@TK2MSFTNGP05.phx.gbl...
Je veux activer la référence "Microsoft Visual Basic for Applicati ons
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J' ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Pourquoi ce type de question tombe toujours sur moi ?
Parceque c'est quand même bien à César qu'il faut rendre les lauriers
Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu " outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fi chier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a p lus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventue lle bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" a écrit dans le message de news: et9P9zOzHH
au risque de me mêler de ce qui ne regarde que des québécois...et s i tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références e t là tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu n'auras
plus rien à ajouter à ta proc puisque la référence sera install ée ad vitam
eternam
amen
jps
"Claire" a écrit dans le message de news:Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beau coup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référen ce de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référe nce
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applicati ons
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J' ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu "outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fichier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a plus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventuelle
bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" a écrit dans le message de news:
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là
tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu
n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad vitam
eternam
amen
jps
"Claire" a écrit dans le message de news:Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu "outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fichier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a plus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventuelle
bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" <jps@wannadoodoo.fr> a écrit dans le message de news:
et9P9zOzHHA.2484@TK2MSFTNGP06.phx.gbl...
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là
tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu
n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad vitam
eternam
amen
jps
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
O3fwerLzHHA.3536@TK2MSFTNGP06.phx.gbl...
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23fUqboJzHHA.1484@TK2MSFTNGP06.phx.gbl...
La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
ObKg5QJzHHA.1212@TK2MSFTNGP05.phx.gbl...
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu "outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fichier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a plus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventuelle
bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" a écrit dans le message de news:
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là
tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu
n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad vitam
eternam
amen
jps
"Claire" a écrit dans le message de news:Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
J'ai jamais goûté à ton truc "marc de beaujolais" mais je sais
que ce type d'explications et de procédures est imbuvable
particulièrement un lundi matin.
"jps" a écrit dans le message de news:
ben moi, j'avions confondu, denis
je frappe ma poitrine, non pas en signe de mea culpa, mais parce que j'ai
une goutte de marc de beaujolais qui s'est coincée dans le corgnolon....
jps
"MichDenis" a écrit dans le message de news:
%Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu
"outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fichier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a
plus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventuelle
bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" a écrit dans le message de news:
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là
tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu
n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad
vitam
eternam
amen
jps
"Claire" a écrit dans le message de news:Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce
bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
J'ai jamais goûté à ton truc "marc de beaujolais" mais je sais
que ce type d'explications et de procédures est imbuvable
particulièrement un lundi matin.
"jps" <vaderetrosp@mas> a écrit dans le message de news:
O7d9s3SzHHA.464@TK2MSFTNGP02.phx.gbl...
ben moi, j'avions confondu, denis
je frappe ma poitrine, non pas en signe de mea culpa, mais parce que j'ai
une goutte de marc de beaujolais qui s'est coincée dans le corgnolon....
jps
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23nixGRSzHHA.4844@TK2MSFTNGP02.phx.gbl...
Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu
"outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fichier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a
plus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventuelle
bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" <jps@wannadoodoo.fr> a écrit dans le message de news:
et9P9zOzHHA.2484@TK2MSFTNGP06.phx.gbl...
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là
tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu
n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad
vitam
eternam
amen
jps
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
O3fwerLzHHA.3536@TK2MSFTNGP06.phx.gbl...
Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23fUqboJzHHA.1484@TK2MSFTNGP06.phx.gbl...
La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" <smdaoust@videotron.ca> a écrit dans le message de news:
ObKg5QJzHHA.1212@TK2MSFTNGP05.phx.gbl...
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce
bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire
J'ai jamais goûté à ton truc "marc de beaujolais" mais je sais
que ce type d'explications et de procédures est imbuvable
particulièrement un lundi matin.
"jps" a écrit dans le message de news:
ben moi, j'avions confondu, denis
je frappe ma poitrine, non pas en signe de mea culpa, mais parce que j'ai
une goutte de marc de beaujolais qui s'est coincée dans le corgnolon....
jps
"MichDenis" a écrit dans le message de news:
%Au JPS et LSteph,
(On peut simplifier ... mais pas trop....!) ;-))
Pourquoi ce type de question tombe toujours sur moi ?
;-))
Cette bibliothèque est spéciale :
"Microsoft Visual Basic for Applications Extensibility 5.3"
Sous Excel 97, elle a un nom différent que les
versions d'excel 2000 - 2002 et 2003
et pour excel 2007 je ne sais pas !
Le nom d'une bibliothèque se trouve dans la liste
déroulante ("Toutes les bibliothèques") de
l'explorateur d'objets de la fenêtre de l'éditeur de code.
(Raccourci clavier F2 lorsque la fenêtre est affichée)
Pour les versions récentes, le nom de la bibliothèque
"Microsoft Visual Basic for Applications Extensibility 5.3"
est : "VBIDE", pour Excel 97 faudrait vérifier !
SVP. Ne pas confondre "Nom de la bibliothèque" et le nom descriptif
que l'on voit dans la fenêtre de la commande "références" du menu
"outils"
de la fenêtre de l'éditeur de code.
La méthode ADDFROMGUID
GUID : acronyme pour "Globally Unique IDentifier" que l'on retrouve
dans la base de registre de Windows. La bibliothèque est donc chargée
directement à partir des infos. contenues dans la base de registre de
windows .... et cette méthode se fout totalement où est situé le fichier
source dans l'arborescence de l'explorateur Windows et ce pour toutes
les versions du système d'exploitation de Windows.
Pour trouver les propriétés GUID , Major et Minor, de toutes les
bibliothèques installées, on peut utiliser ce bout de procédure :
(notez que les références doivent être déjà chargées -
présentes dans la liste des références cochées du classeur)
'------------------------------------------------
Sub AfficherLesGuids_Propriétés()
Dim n As Integer
Sheets.Add
ActiveSheet.Name = "GUIDS"
'On Error Resume Next
Cells(1, 1) = "Nom de la bibliothèque"
'Son appellation dans la fenêtre Reférences
Cells(1, 2) = "Description"
Cells(1, 3) = "Guid"
Cells(1, 4) = "Major"
Cells(1, 5) = "Minor"
Cells(1, 6) = "Chemin complet"
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
End With
with ActiveWorkbook
For n = 2 To .VBProject.References.Count
Cells(n, 1) = .VBProject.References.Item(n).Name
Cells(n, 2) = .VBProject.References.Item(n).Description
Cells(n, 3) = .VBProject.References.Item(n).GUID
Cells(n, 4) = .VBProject.References.Item(n).Major
Cells(n, 5) = .VBProject.References.Item(n).Minor
Cells(n, 6) = .VBProject.References.Item(n).fullpath
Next
end with
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
'------------------------------------------------
Et comme on sait que la bibliothèque qui fait l'objet de ce message a
plus
d'un nom selon la version d'excel, en plus de connaître la valeur des
propriétés, il faudrait s'assurer que l'on prenne soin de l'éventuelle
bibliothèque
désignée marquée "manquante", car non accessible et ceci se ferait
par une procédure de ce type :
'----------------------------------------------
Sub AddFromGuid()
Dim LesRefs As Object, i As Integer
Dim NbRef As Integer
On Error Resume Next
'Prend soin des bibliothèques manquantes le cas échéant
Set LesRefs = ThisWorkbook.VBProject.References
NbRef = LesRefs.Count
For i = 1 To NbRef
With LesRefs(i)
If .IsBroken Then
LesRefs.Remove LesRefs.Item(.Name)
Msg = "La librairie " & .Name & " est " & _
"manquante. Elle a été supprimée."
End If
End With
Next
'Ajoute la référence selon la version d'excel ...
If Val(Application.Version) > 8 Then
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
Else
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
'En remplaçant ces propriétés par celles d'excel 97
End If
End Sub
'----------------------------------------------
"jps" a écrit dans le message de news:
au risque de me mêler de ce qui ne regarde que des québécois...et si tu
cochais, claire, cette référence une bonne fois pour toutes
quand tu es dans MS Visual Basic, tu cliques Outils puis Références et là
tu
dois voir s'ouvrir une liste ; il suffit de cocher le petit carré pour la
référence qui t'intéresse et, selon ma mémoire (comme dit denis), tu
n'auras
plus rien à ajouter à ta proc puisque la référence sera installée ad
vitam
eternam
amen
jps
"Claire" a écrit dans le message de news:Merci MichDenis
J'ai ajouté ces petites lignes et cela fonctionne. J'apprécie beaucoup
ton aide.
Une chance que cela a marché sinon je n'aurais jamais pu te fournir la
valeur correspondante
de la propriété "Guid", "Major" ett "Minor" de la dite référence de la
version Excel 97 mais j'aimerais que tu me dises comment les trouver.
Claire
"MichDenis" a écrit dans le message de news:
%La présence de "on error resume next" empêche la macro
de se planter si la référence est déjà chargée.
Sauf que cette référence
"Microsoft Visual Basic for Applications Extensibility 5.3"
a un NOM de bibliothèque différent selon que tu utilises
Excel 97 ou les autres versions (2000- 2002- 2003)
(selon ma mémoire)
La proposition que je t'ai faite n'est pas valide pour
Excel 97. Si ton besoin est d'utiliser ta macro pour toutes
les versions d'excel, tu devrais trouver la valeur correspondate
de la propriété "Guid", "Major" ett "Minor" de la dite référence
de la version Excel 97 et modifier un peu la procédure pour
vérifier par un test sur quelle version le fichier s'ouvre. Si c'est le
cas... revient et donne moi la valeur des propriétés mentionnées
et je t'aiderai à modifier ta macro.
Private Sub workbook_open()
On Error Resume Next
ThisWorkbook.VBProject.References.AddFromGuid _
"{0002E157-0000-0000-C000-000000000046}", 5, 3
End Sub
"Claire" a écrit dans le message de news:
Je veux activer la référence "Microsoft Visual Basic for Applications
Extensibility 5.3" au début de ma macro de départ. J'ai essayé ce
bout
de
code pour activer cette référence mais cela ne fonctionne pas. J'ai
sûrement oublié quelque chose mais je ne sais pas quoi.
Private Sub workbook_open()
References.AddFromFile ("C:Program FilesFichiers communsMicrosoft
SharedVBAVBA6VBE6EXT.OLB")
.....
Peut-on la mettre active tout le temps ??
Merci encore une fois
Claire