OVH Cloud OVH Cloud

Mise à jour de macros.

10 réponses
Avatar
Papy Jean
Bonjour !

1°) Soient 2 fichiers A.xls et B.xls , comportant des macros
Comment faire pour envoyer un module de A
(par ex Module1) dans B ?

2°) Faut-il passer par un 3ème fichier C.xls
ou peut-on utiliser A.xls ?

Merci d'avance à qui peut m'aider

Amicales salutations.

10 réponses

Avatar
papou
Bonjour Papy Jean
Sans macro :
Avec les deux classeurs ouverts, faire glisser le module du classeur A.XLS
vers le classeur B.XLS

Par macro
(code à placer dans le classeur A.XLS, adapter le nom du module - ici Module1)
Sub Copier()
Dim NomModule As String
NomModule = ThisWorkbook.Path & "Module1.bas"
ThisWorkbook.VBProject.VBComponents("Module1").Export (NomModule)
Workbooks("B.xls").VBProject.VBComponents.Import (NomModule)
End Sub

Cordialement
Pascal

"Papy Jean" a écrit dans le message de
news:bvcvse$upl$
Bonjour !

1°) Soient 2 fichiers A.xls et B.xls , comportant des macros
Comment faire pour envoyer un module de A
(par ex Module1) dans B ?

2°) Faut-il passer par un 3ème fichier C.xls
ou peut-on utiliser A.xls ?

Merci d'avance à qui peut m'aider

Amicales salutations.




Avatar
Papy Jean
Bonjour Papou

Merci de d'interesser à mon pb.

J'ai qques diffucultés à utiliser ce que tu m'as dit,
qui est pourtant rès clair.

Il faut te dire que j'apprends VB sur le MPFE
Très bons profs, mais élève difficle

VB a arrêté le travail en me disant
" ... méthode non fiable" (sic)

Je me suis dit que cela venait peut être du fait
que j'avais mis la macro d'import/export dans le classeur source

J'ai donc utilisé 3 classeurs et les ordres

Sub Copier()
NomModule=thisWorkbook.Path & "Module1.bas"
Workbooks(FichierSource).VBcomponents("Module1").Export(NomModule)
Workbooks(FichierBut).VBcomponents("Module1").Export(NomModule)
end sub

Maintenant, il bugue sur la ligne où il y a Export et me dit:
<Propriété ou méthode non gérée par cet objet>

J'ai voulu aller voir avec <F1> dans la doc, mais
VbComponents, elle ne connaît pas, de plus pour elle
+ Export, c'est pour les Images
+ Import, pour le son et il ne faut pas l'utiliser
Là, elle exagère un peu

Je pense qu'il doit me manquer une ligne qque part

Cordialement

"Papy Jean" a écrit dans le message de
news:bvcvse$upl$
Bonjour !

1°) Soient 2 fichiers A.xls et B.xls , comportant des macros
Comment faire pour envoyer un module de A
(par ex Module1) dans B ?

2°) Faut-il passer par un 3ème fichier C.xls
ou peut-on utiliser A.xls ?

Merci d'avance à qui peut m'aider

Amicales salutations.




Avatar
ru-th
Salut

sous xp?
si, oui, de mémoire (car pas sous la main) dans outils/options/sécurité
(options ?) il y a une case faire confiince au projet VBa
après cela va mieux (en principe !)
a+
rural thierry
"Papy Jean" a écrit dans le message de news:
bvdbjg$jk5$
Bonjour Papou

Merci de d'interesser à mon pb.

J'ai qques diffucultés à utiliser ce que tu m'as dit,
qui est pourtant rès clair.

Il faut te dire que j'apprends VB sur le MPFE
Très bons profs, mais élève difficle

VB a arrêté le travail en me disant
" ... méthode non fiable" (sic)

Je me suis dit que cela venait peut être du fait
que j'avais mis la macro d'import/export dans le classeur source

J'ai donc utilisé 3 classeurs et les ordres

Sub Copier()
NomModule=thisWorkbook.Path & "Module1.bas"
Workbooks(FichierSource).VBcomponents("Module1").Export(NomModule)
Workbooks(FichierBut).VBcomponents("Module1").Export(NomModule)
end sub

Maintenant, il bugue sur la ligne où il y a Export et me dit:
<Propriété ou méthode non gérée par cet objet>

J'ai voulu aller voir avec <F1> dans la doc, mais
VbComponents, elle ne connaît pas, de plus pour elle
+ Export, c'est pour les Images
+ Import, pour le son et il ne faut pas l'utiliser
Là, elle exagère un peu

Je pense qu'il doit me manquer une ligne qque part

Cordialement

"Papy Jean" a écrit dans le message de
news:bvcvse$upl$
Bonjour !

1°) Soient 2 fichiers A.xls et B.xls , comportant des macros
Comment faire pour envoyer un module de A
(par ex Module1) dans B ?

2°) Faut-il passer par un 3ème fichier C.xls
ou peut-on utiliser A.xls ?

Merci d'avance à qui peut m'aider

Amicales salutations.








Avatar
Papy Jean
Bonjour Thierry

Désolé, je n'ai pas trouvé d'option "Sécurité", ni de case faire confiance

Je suis bien sous Excel 2002, sous XP

Merci
Cordialement

"ru-th" a écrit dans le message de
news:
Salut

sous xp?
si, oui, de mémoire (car pas sous la main) dans outils/options/sécurité
(options ?) il y a une case faire confiince au projet VBa
après cela va mieux (en principe !)
a+
rural thierry
"Papy Jean" a écrit dans le message de news:
bvdbjg$jk5$


Avatar
papou
Papy Jean
XP est un peu tatillon en ce qui concerne les "manipulations" d'objets de
projets VBA.
Idéalement voici ce qu'il te faudrait faire :
1 °) Créer une signature avec SELFCERT.EXE
Démarrer, Exécuter, "C:Program FilesMicrosoft OfficeOfficeSELFCERT.EXE
Donner un nom à ta signature et valider
Si tu n'as pas ce fichier sur ton poste, il faut l'ajouter (c'est un des
composants d'installation d'Office = signature numérique, je crois)
2°) Dans ton classeur contenant la macro qui copie le module :
Aller dans l'éditeur VBA (ALt + F11 ou Outils, Macros, Visual Basic Editor)
Sélectionner le projet de ton classeur, puis dans Outils, Signature
électronique, sélectionner ta signature nouvellement créée puis valider
Revenir à ton classeur (Fichier Fermer et retourner à Microsoft Excel)
Outils, Macros, Sécurité, onglet source fiable, tu sélectionnes la signature
et tu coches "Faire confiance au projet Visual Basic

Avec ça, tu devrais y arriver ! ;-)
Cordialement
Pascal


"Papy Jean" a écrit dans le message de
news:bvdhpf$49f$
Bonjour Thierry

Désolé, je n'ai pas trouvé d'option "Sécurité", ni de case faire confiance

Je suis bien sous Excel 2002, sous XP

Merci
Cordialement

"ru-th" a écrit dans le message de
news:
Salut

sous xp?
si, oui, de mémoire (car pas sous la main) dans outils/options/sécurité
(options ?) il y a une case faire confiince au projet VBa
après cela va mieux (en principe !)
a+
rural thierry
"Papy Jean" a écrit dans le message de news:
bvdbjg$jk5$







Avatar
papou
composants d'installation d'Office = signature numérique, je crois)
Outils Office = Signature numérique pour les projets VBA

Cordialement
Pascal

"papou" <nspm> a écrit dans le message de
news:
Papy Jean
XP est un peu tatillon en ce qui concerne les "manipulations" d'objets de
projets VBA.
Idéalement voici ce qu'il te faudrait faire :
1 °) Créer une signature avec SELFCERT.EXE
Démarrer, Exécuter, "C:Program FilesMicrosoft OfficeOfficeSELFCERT.EXE
Donner un nom à ta signature et valider
Si tu n'as pas ce fichier sur ton poste, il faut l'ajouter (c'est un des
composants d'installation d'Office = signature numérique, je crois)
2°) Dans ton classeur contenant la macro qui copie le module :
Aller dans l'éditeur VBA (ALt + F11 ou Outils, Macros, Visual Basic
Editor)

Sélectionner le projet de ton classeur, puis dans Outils, Signature
électronique, sélectionner ta signature nouvellement créée puis valider
Revenir à ton classeur (Fichier Fermer et retourner à Microsoft Excel)
Outils, Macros, Sécurité, onglet source fiable, tu sélectionnes la
signature

et tu coches "Faire confiance au projet Visual Basic

Avec ça, tu devrais y arriver ! ;-)
Cordialement
Pascal


"Papy Jean" a écrit dans le message de
news:bvdhpf$49f$
Bonjour Thierry

Désolé, je n'ai pas trouvé d'option "Sécurité", ni de case faire
confiance



Je suis bien sous Excel 2002, sous XP

Merci
Cordialement

"ru-th" a écrit dans le message de
news:
Salut

sous xp?
si, oui, de mémoire (car pas sous la main) dans
outils/options/sécurité



(options ?) il y a une case faire confiince au projet VBa
après cela va mieux (en principe !)
a+
rural thierry
"Papy Jean" a écrit dans le message de news:
bvdbjg$jk5$











Avatar
Papy Jean
Re-bonjour à tous
Merci de m'aider.

J'ai commencé à faire et j'ai pu mettre ma signature.
Je me suis arrêté avant le report de la signature dans le projet
poour la raison suivante:

Le projet est utilisé par d'autres personnes sur
d'autres ordinateurs.
Si je cherche à faire cela c'est pouvoir faire
des mises à jour de macro sans modifier les
paramètres propres à chaque utilisateur

Mais ils n'auront pas la même signature
chez eux.
D'où les 2 questions:
1) si je signe, pourront ils utiliser les macros
2) la macro en question de mise à jour
pourra-t-elle fonctionner chez eux.

Quelques fois, les utilisateurs ne connaissent rien à VB.


"Papy Jean" a écrit dans le message de
news:bvcvse$upl$
Bonjour !

1°) Soient 2 fichiers A.xls et B.xls , comportant des macros
Comment faire pour envoyer un module de A
(par ex Module1) dans B ?

2°) Faut-il passer par un 3ème fichier C.xls
ou peut-on utiliser A.xls ?

Merci d'avance à qui peut m'aider

Amicales salutations.




Avatar
ru-th
Salut

la signature du fichier sera lue par les poste ayant xl2k et +
la macro pourra-t-elle fonctionner ?
cela dépend de l'hérogéniété du parc ...
j'avoue que le risque d'un plantage existe, mais faudra faire des tests et
recourir régulièrement à cette page
http://perso.wanadoo.fr/frederic.sigonneau/VBE.htm

a+
rural thierry
"Papy Jean" a écrit dans le message de news:
bvdnaq$6a0$
Re-bonjour à tous
Merci de m'aider.

J'ai commencé à faire et j'ai pu mettre ma signature.
Je me suis arrêté avant le report de la signature dans le projet
poour la raison suivante:

Le projet est utilisé par d'autres personnes sur
d'autres ordinateurs.
Si je cherche à faire cela c'est pouvoir faire
des mises à jour de macro sans modifier les
paramètres propres à chaque utilisateur

Mais ils n'auront pas la même signature
chez eux.
D'où les 2 questions:
1) si je signe, pourront ils utiliser les macros
2) la macro en question de mise à jour
pourra-t-elle fonctionner chez eux.

Quelques fois, les utilisateurs ne connaissent rien à VB.


"Papy Jean" a écrit dans le message de
news:bvcvse$upl$
Bonjour !

1°) Soient 2 fichiers A.xls et B.xls , comportant des macros
Comment faire pour envoyer un module de A
(par ex Module1) dans B ?

2°) Faut-il passer par un 3ème fichier C.xls
ou peut-on utiliser A.xls ?

Merci d'avance à qui peut m'aider

Amicales salutations.








Avatar
Papy Jean
Hélas, trois fois hélas !
Vu la diversité du parc de mes correspondants, je crains fort
qu'il faille m'abstenir de ce rêve.
Mais j'ai noté et j'essaierai au coup par coup.

Je continuerai a envoyer uu classeur avec macros et à y recopier
les paramètres des utilisateurs.
Le problème est qu'il faut tenir compte des boutons d'appel des
macros, et autres joyeusetés.

Merci beaucoup de votre aide.
Je garde une bouteille au frais pour ceux qui
passeront par Epernay


"Papy Jean" a écrit dans le message de
news:bvcvse$upl$
Bonjour !

1°) Soient 2 fichiers A.xls et B.xls , comportant des macros
Comment faire pour envoyer un module de A
(par ex Module1) dans B ?

2°) Faut-il passer par un 3ème fichier C.xls
ou peut-on utiliser A.xls ?

Merci d'avance à qui peut m'aider

Amicales salutations.




Avatar
Clément Marcotte
Bonjour,

Désolé, je n'ai pas trouvé d'option "Sécurité", ni de case faire
confiance


C'est dans Outils - Options - Sécurité - Sécurité des macros - Sources
fiables


Pour le reste, si le problème est de garder des macros à jour, le plus
simple serait de travailler avec des macros complémentaires. Tes
utilisateurs mettent la macro, au pire n'importe où, et font un
double-clic sur l'icône et Excel se débrouille avec le reste.


"Papy Jean" a écrit dans le message de
news:bvdhpf$49f$
Bonjour Thierry


Je suis bien sous Excel 2002, sous XP

Merci
Cordialement

"ru-th" a écrit dans le message de
news:
Salut

sous xp?
si, oui, de mémoire (car pas sous la main) dans
outils/options/sécurité


(options ?) il y a une case faire confiince au projet VBa
après cela va mieux (en principe !)
a+
rural thierry
"Papy Jean" a écrit dans le message de
news:


bvdbjg$jk5$