Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

excution programme VBA dans un environnement différent

5 réponses
Avatar
Greffier
Bonjour,

J'ai besoin d'aide pour savoir comment exécuter un programme VBA dans un
environnement différent de celui que je possède (XP Pro, office 2003, VB6).
L'environnement futur serait office XP Pro, office 2000 sans VB6. VB6 est
utilisé pour les grilles MSFlexgrid. Je dispose d'une clé USB data pour
enregistrer les tableaux Excel, et le VBA.

Que doit-on faire pour exécuter sans "trop de risques".

Merci pour toutes vos suggestions.

Greffier.

5 réponses

Avatar
Misange
Bonjour

Ta question n'est vraiment pas claire. VBA est intégré d'office à excel
2000, XP, 2003 et 2007. Donc tu ne peux pas avoir de pb de ce côté.
VB6 c'est différent mais je ne vois pas le rapport avec excel dans le
cas présent. Ou bien tu trouves un moyen de faire en VBA ce que tu fais
avec VB6 ou bien ... tu demandes sur le forum VB6 !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour,

J'ai besoin d'aide pour savoir comment exécuter un programme VBA dans un
environnement différent de celui que je possède (XP Pro, office 2003, VB6).
L'environnement futur serait office XP Pro, office 2000 sans VB6. VB6 est
utilisé pour les grilles MSFlexgrid. Je dispose d'une clé USB data pour
enregistrer les tableaux Excel, et le VBA.

Que doit-on faire pour exécuter sans "trop de risques".

Merci pour toutes vos suggestions.

Greffier.




Avatar
MichDenis
MSFlexgrid, je crois est un contrôle du Programme VB6.

Sous Windows Xp, il est situé là :
Nom de la bibliothèque : Library MSFlexGridLib
Sa locations sous Windows xp : C:WINDOWSsystem32msflxgrd.ocx
Nom du Contrôle : Microsoft FlexGrid 6.0

Si tu veux faire fonctionner ton programme sur un ordi. sans la présence du Programme VB6,

Tu peux essayer ceci :
Copie le fichier "msflxgrd.ocx" sur le répertoire système de l'ordinateur

Et utilise la commande :
Démarrer de la barre d'outils / Exécuter et tu tapes :
regsvr32 C:WINDOWSsystem32msflxgrd.ocx

Ceci devrait l'inscrire dans la base de registre.
Pour un certains nombres de contrôle, cela n'est pas suffisant car il faut
avoir les "droits" => tu t'adresses à Microsoft !






"Greffier" a écrit dans le message de news:
Bonjour,

J'ai besoin d'aide pour savoir comment exécuter un programme VBA dans un
environnement différent de celui que je possède (XP Pro, office 2003, VB6).
L'environnement futur serait office XP Pro, office 2000 sans VB6. VB6 est
utilisé pour les grilles MSFlexgrid. Je dispose d'une clé USB data pour
enregistrer les tableaux Excel, et le VBA.

Que doit-on faire pour exécuter sans "trop de risques".

Merci pour toutes vos suggestions.

Greffier.
Avatar
Greffier
Bonjour,

Mille excuses si je m'exprime mal.

En essayant de m'exprimer mieux, tout ce qui est dans
(microsoftVBA>outils>références) doit-il être reporté sur la clé USB data
qui va me servir à exécuter le VBA qui marche avec l'office 2003, soit:
- les Microsoft Object Library :
Excel 11.0
Access 11.0
Word 11.0
form 2.0
DAO 3.6
- les OCX
Microsoft flexgrid control 6.0 (sp6)
Microsoft hierarchical flexgrid control 6.0 (sp4) (OLEDB)
- Microsoft ActiveX data Object 2.5 Library
- Visual basic for application
- OLE automation

(peut-être ne seront-ils pas tous à reporter sur la clé USB Data)


En théorie, si j'exécute un classeur Excel différent d'office 2003, les
références seront-elles automatiquement mises à jour, (sauf pour les OCX
issues de VB6, que je dois importer moi-même sur la clé, et mettre dans le
nouveau micro)

Je ne sais pas s'il y a beaucoup d'utilisateurs qui déportent ainsi leurs
applications, ou utilisent cette méthode.
J'aurais bien aimé un exemple.

Cordialement

Greffier.


"MichDenis" a écrit dans le message de news:

MSFlexgrid, je crois est un contrôle du Programme VB6.

Sous Windows Xp, il est situé là :
Nom de la bibliothèque : Library MSFlexGridLib
Sa locations sous Windows xp : C:WINDOWSsystem32msflxgrd.ocx
Nom du Contrôle : Microsoft FlexGrid 6.0

Si tu veux faire fonctionner ton programme sur un ordi. sans la présence
du Programme VB6,

Tu peux essayer ceci :
Copie le fichier "msflxgrd.ocx" sur le répertoire système de l'ordinateur

Et utilise la commande :
Démarrer de la barre d'outils / Exécuter et tu tapes :
regsvr32 C:WINDOWSsystem32msflxgrd.ocx

Ceci devrait l'inscrire dans la base de registre.
Pour un certains nombres de contrôle, cela n'est pas suffisant car il faut
avoir les "droits" => tu t'adresses à Microsoft !






"Greffier" a écrit dans le message de news:

Bonjour,

J'ai besoin d'aide pour savoir comment exécuter un programme VBA dans un
environnement différent de celui que je possède (XP Pro, office 2003,
VB6).
L'environnement futur serait office XP Pro, office 2000 sans VB6. VB6 est
utilisé pour les grilles MSFlexgrid. Je dispose d'une clé USB data pour
enregistrer les tableaux Excel, et le VBA.

Que doit-on faire pour exécuter sans "trop de risques".

Merci pour toutes vos suggestions.

Greffier.





Avatar
MichDenis
J'ai peut être pas tout compris... mais tu devrais de débrouiller à partir de ça.
(tout ce qui suit n'a pas été testé... à toi d'y voir.)

Est-ce que j'erre si je décris une clé USB comme étant un support mnémoniqe ?

Si oui, à ce que je sache, cette clé USB n'a pas de système d'exploitation et ne
peut pas être considéré comme ton "C:" d'un ordinateur.

Pourquoi veux-tu tout transférer ces fichiers vers ta clé ?

Tous ces fchiers existent déjà sur chaque ordinateur Windows ayant d'intaller Microsoft office.
Pour ce qui est de DAO et ADO, tu peux mettre à jour la
version MDAC (microsoft Data access component) à jour
en utilisant le site de Microsoft, le cas échéant.

Les 2 fichiers problématiques sont :
Microsoft flexgrid control 6.0 (sp6)
Microsoft hierarchical flexgrid control 6.0 (sp4) (OLEDB)

Je crois qu'ils n'appartiennent pas à Microsoft Office mais à l'application VB6.
à ce sujet, je t'ai donné la marche à suivre dans le message précédent... je n'ai
pas testé... mais ce n'est pas certain que tu puissent les utiliser sans les "droits..."

Pour t'assurer que toutes les bibliothèques sont correctement chargées, tu peux
utiliser ce type de procédure que tu appelles à partir de
l'événement "Workbook_Open" du ThisWorkbook.
Tu remarqueras que les références sont chargées à partir de la
méthode "AddFromGuid" ...donc directement à partir de la base de registre
de windows....cette façon de faire se moque de l'arborescence des fichiers
des différents système d'exploitations de windows.

'-------------------------------------
Sub CheckRefs()
Dim Refs As Object, i As Integer, Nb As Integer
On Error Resume Next
Set Refs = ThisWorkbook.VBProject.References
Nb = Refs.Count
For i = 1 To Nb
With Refs(i)
If .IsBroken Then
Refs.Remove .Item(.Name)
End If
End With
Next
With Refs
'Ajoute la référence "DAO"
.AddFromGuid "{00025E01-0000-0000-C000-000000000046}", 0, 5
'Ajoute la référence "MSForms"
.AddFromGuid "{0D452EE1-E08F-101A-852E-02608C4D0BB4}", 0, 2
'Même principe pour chacune des références
End With
End Sub
'-------------------------------------




"Greffier" a écrit dans le message de news:
%
Bonjour,

Mille excuses si je m'exprime mal.

En essayant de m'exprimer mieux, tout ce qui est dans
(microsoftVBA>outils>références) doit-il être reporté sur la clé USB data
qui va me servir à exécuter le VBA qui marche avec l'office 2003, soit:
- les Microsoft Object Library :
Excel 11.0
Access 11.0
Word 11.0
form 2.0
DAO 3.6
- les OCX
Microsoft flexgrid control 6.0 (sp6)
Microsoft hierarchical flexgrid control 6.0 (sp4) (OLEDB)
- Microsoft ActiveX data Object 2.5 Library
- Visual basic for application
- OLE automation

(peut-être ne seront-ils pas tous à reporter sur la clé USB Data)


En théorie, si j'exécute un classeur Excel différent d'office 2003, les
références seront-elles automatiquement mises à jour, (sauf pour les OCX
issues de VB6, que je dois importer moi-même sur la clé, et mettre dans le
nouveau micro)

Je ne sais pas s'il y a beaucoup d'utilisateurs qui déportent ainsi leurs
applications, ou utilisent cette méthode.
J'aurais bien aimé un exemple.

Cordialement

Greffier.


"MichDenis" a écrit dans le message de news:

MSFlexgrid, je crois est un contrôle du Programme VB6.

Sous Windows Xp, il est situé là :
Nom de la bibliothèque : Library MSFlexGridLib
Sa locations sous Windows xp : C:WINDOWSsystem32msflxgrd.ocx
Nom du Contrôle : Microsoft FlexGrid 6.0

Si tu veux faire fonctionner ton programme sur un ordi. sans la présence
du Programme VB6,

Tu peux essayer ceci :
Copie le fichier "msflxgrd.ocx" sur le répertoire système de l'ordinateur

Et utilise la commande :
Démarrer de la barre d'outils / Exécuter et tu tapes :
regsvr32 C:WINDOWSsystem32msflxgrd.ocx

Ceci devrait l'inscrire dans la base de registre.
Pour un certains nombres de contrôle, cela n'est pas suffisant car il faut
avoir les "droits" => tu t'adresses à Microsoft !






"Greffier" a écrit dans le message de news:

Bonjour,

J'ai besoin d'aide pour savoir comment exécuter un programme VBA dans un
environnement différent de celui que je possède (XP Pro, office 2003,
VB6).
L'environnement futur serait office XP Pro, office 2000 sans VB6. VB6 est
utilisé pour les grilles MSFlexgrid. Je dispose d'une clé USB data pour
enregistrer les tableaux Excel, et le VBA.

Que doit-on faire pour exécuter sans "trop de risques".

Merci pour toutes vos suggestions.

Greffier.





Avatar
Greffier
Bonjour,

Ne croyez pas que j'ai laissé tombé le groupe, ni à une impolitesse de ma
part, mais en ce moment j'ai quelques ennuis.
Je reprendrai dans quelques jours.

Amicalement.

Greffier.


"MichDenis" a écrit dans le message de news:

J'ai peut être pas tout compris... mais tu devrais de débrouiller à partir
de ça.
(tout ce qui suit n'a pas été testé... à toi d'y voir.)

Est-ce que j'erre si je décris une clé USB comme étant un support
mnémoniqe ?

Si oui, à ce que je sache, cette clé USB n'a pas de système d'exploitation
et ne
peut pas être considéré comme ton "C:" d'un ordinateur.

Pourquoi veux-tu tout transférer ces fichiers vers ta clé ?

Tous ces fchiers existent déjà sur chaque ordinateur Windows ayant
d'intaller Microsoft office.
Pour ce qui est de DAO et ADO, tu peux mettre à jour la
version MDAC (microsoft Data access component) à jour
en utilisant le site de Microsoft, le cas échéant.

Les 2 fichiers problématiques sont :
Microsoft flexgrid control 6.0 (sp6)
Microsoft hierarchical flexgrid control 6.0 (sp4) (OLEDB)

Je crois qu'ils n'appartiennent pas à Microsoft Office mais à
l'application VB6.
à ce sujet, je t'ai donné la marche à suivre dans le message précédent...
je n'ai
pas testé... mais ce n'est pas certain que tu puissent les utiliser sans
les "droits..."

Pour t'assurer que toutes les bibliothèques sont correctement chargées, tu
peux
utiliser ce type de procédure que tu appelles à partir de
l'événement "Workbook_Open" du ThisWorkbook.
Tu remarqueras que les références sont chargées à partir de la
méthode "AddFromGuid" ...donc directement à partir de la base de registre
de windows....cette façon de faire se moque de l'arborescence des fichiers
des différents système d'exploitations de windows.

'-------------------------------------
Sub CheckRefs()
Dim Refs As Object, i As Integer, Nb As Integer
On Error Resume Next
Set Refs = ThisWorkbook.VBProject.References
Nb = Refs.Count
For i = 1 To Nb
With Refs(i)
If .IsBroken Then
Refs.Remove .Item(.Name)
End If
End With
Next
With Refs
'Ajoute la référence "DAO"
.AddFromGuid "{00025E01-0000-0000-C000-000000000046}", 0, 5
'Ajoute la référence "MSForms"
.AddFromGuid "{0D452EE1-E08F-101A-852E-02608C4D0BB4}", 0, 2
'Même principe pour chacune des références
End With
End Sub
'-------------------------------------




"Greffier" a écrit dans le message de news:
%
Bonjour,

Mille excuses si je m'exprime mal.

En essayant de m'exprimer mieux, tout ce qui est dans
(microsoftVBA>outils>références) doit-il être reporté sur la clé USB data
qui va me servir à exécuter le VBA qui marche avec l'office 2003, soit:
- les Microsoft Object Library :
Excel 11.0
Access 11.0
Word 11.0
form 2.0
DAO 3.6
- les OCX
Microsoft flexgrid control 6.0 (sp6)
Microsoft hierarchical flexgrid control 6.0 (sp4) (OLEDB)
- Microsoft ActiveX data Object 2.5 Library
- Visual basic for application
- OLE automation

(peut-être ne seront-ils pas tous à reporter sur la clé USB Data)


En théorie, si j'exécute un classeur Excel différent d'office 2003, les
références seront-elles automatiquement mises à jour, (sauf pour les OCX
issues de VB6, que je dois importer moi-même sur la clé, et mettre dans le
nouveau micro)

Je ne sais pas s'il y a beaucoup d'utilisateurs qui déportent ainsi leurs
applications, ou utilisent cette méthode.
J'aurais bien aimé un exemple.

Cordialement

Greffier.


"MichDenis" a écrit dans le message de news:

MSFlexgrid, je crois est un contrôle du Programme VB6.

Sous Windows Xp, il est situé là :
Nom de la bibliothèque : Library MSFlexGridLib
Sa locations sous Windows xp : C:WINDOWSsystem32msflxgrd.ocx
Nom du Contrôle : Microsoft FlexGrid 6.0

Si tu veux faire fonctionner ton programme sur un ordi. sans la présence
du Programme VB6,

Tu peux essayer ceci :
Copie le fichier "msflxgrd.ocx" sur le répertoire système de
l'ordinateur

Et utilise la commande :
Démarrer de la barre d'outils / Exécuter et tu tapes :
regsvr32 C:WINDOWSsystem32msflxgrd.ocx

Ceci devrait l'inscrire dans la base de registre.
Pour un certains nombres de contrôle, cela n'est pas suffisant car il
faut
avoir les "droits" => tu t'adresses à Microsoft !






"Greffier" a écrit dans le message de news:

Bonjour,

J'ai besoin d'aide pour savoir comment exécuter un programme VBA dans un
environnement différent de celui que je possède (XP Pro, office 2003,
VB6).
L'environnement futur serait office XP Pro, office 2000 sans VB6. VB6 est
utilisé pour les grilles MSFlexgrid. Je dispose d'une clé USB data pour
enregistrer les tableaux Excel, et le VBA.

Que doit-on faire pour exécuter sans "trop de risques".

Merci pour toutes vos suggestions.

Greffier.