Lancer une macro en fermant mon fichier Excel

cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007 - 11 avril 2006 à 14:00
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007 - 15 avril 2006 à 11:49
Bonjour à tous et à toutes,

J'utilise le code suivant pour copier les cellules d'une colonne et les coller dans une colonne se situant dans un autre fichier.
Range("C2:C34").Select
Selection.Copy
Range("E11").Select
Workbooks.Open FileName:= _
"X:\Chemin\nom de mon fichier.xls "
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False

La macro fonctionne mais je souhaite savoir s'il est possible de la lancer en fermant mon fichier Excel et non pas en passant par Outis\Macro\Macros: autrement dit comment forcer l'exécution de cette macro.

Merci pour vous conseils.

8 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
11 avril 2006 à 14:19
Salut,

Tu peux essayer de te servir de l'événement suivant propre à un classeur:

Private Sub Workbook_BeforeClose(Cancel As Boolean)


End Sub



@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007
11 avril 2006 à 18:44
Salut Julien



Merci pour ta réponse. J'essaie demain.



Bonne soirée.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
11 avril 2006 à 23:08
Re,

Mais y a pas de quoi.
J espère que ceci pourra t'aider.
Tiens moi au courant (même si c'est avec un réponse accéptée)

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007
12 avril 2006 à 13:36
Bonjour,

Malheureusement, pour l'instant ça ne fonctionne pas mais je n'ai pas de message d'erreur. Le fichier sur lequel je copie la colonne se ferme mais le fichier sur lequel le collage doit se faire ne s'ouvre pas.Et dans tous les cas, si je l'ouvre manuellement pour faire la vérification, il n' y a pas de collage (ce qui est logique puisqu'il ne s'ouvre pas. Pour l'instant je n'ai pas mis de lignes de code pour l'enregistrement des modifications et la fermeture).

Je continue à chercher

Bye
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 avril 2006 à 14:00
Re,

En debug ca te donnes quoi?

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007
12 avril 2006 à 20:40
Bonsoir,



Je veux bien débugger mais justement je n'ai pas de message d'erreur:
compilation, exécution,dépassement de capacité, variable non déclarée.

Par contre, je ne sais pas si ça joue ou pas et que je n'ai pas précisé
c'est que le fichier que le fichier sur lequel, se trouve la
colonne à copier ne se trouve pas sur le même réseau que celui sur
lequel se trouve le fichier dans lequel, je veux coller la colonne en
question. Pourtant, si je lance classoquement ma macro, il n'y a aucun
souci.

Ou mon erreur vient du fait que je ne colle pas la ligne au bon
endroit: je dois bien la mettre dans VBAProject (nom du fichier.xls)?



Merci pour ta persévérance
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 avril 2006 à 08:57
Salut,

Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub

Tu dois coller ce code dans la fenetre ThisWorkBook

Ensuite pour ce qui du fichier réseau, je ne sais pas si cela peux venir de ca, en revanche ce que tu peux essayer de faire c'est faire une copie locale de ce fichier pour voir si ca marche déja en local, et ensuite seulement essayer en réseau

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007
15 avril 2006 à 11:49
Bonjour,

J'ai essayé effectivement de faire une copie locale. Voici ce qui se passe après avoir cliqué sur la croix de fermeture. Le fichier sur lequel je veux faire le collage s'ouvre bien avec un message sur le document du type: "Un fichier nommé.....existe déjà à cet emplacement. Voulez-vous le remplacer?". Tu vas penser que c'est normal puisque le fichier a été modifié suite au collage. Mais le problème, c'est que justement le fichier n'a pas été modifié. Je le vois sur l'écran et bien sûr j'ai vérifié en répondant oui et en ouvrant à nouveau le fichier: le collage n'a pas été fait.
C'est assez étrange puisque que si je lance classiquement ma macro, le collage se fait bien et là je trouve normal que j'ai une fenêtre qui m'indique que mon fichier a été modifié.
Je ne sais pas si t'as saisi ce que j'ai voulu dire mais en tout cas, je ne comprends pas pourquoi la macro fonctionne dans un cas et pas dans l'autre mais sans fenêtre de débogage.C'est comme si après ouvert le fichier sur lequel je veux faire le collage, la macro ne tenait plus compte del'instruction Range("C2:C34").Select
Selection.Copy
Attention la copie se fait sur mon premier fichier.
Si t'arrives à voir où est mon problème, fais moi signe.

Merci beaucoup

@+
0
Rejoignez-nous