lancement automatique d'une macro à l'ouverture d'un classeur excel - VB/VBA/VBS - Programmation
Marsh Posté le 27-09-2007 à 16:15:13
L'événement Workbook_Open fonctionne très bien.
Qu'entends-tu par « ...mais ça ne marche pas. » ?
Marsh Posté le 27-09-2007 à 16:36:44
mon fichier asc 01.xls est ouvert par un lien hypertexte depuis le classeur fiches.xls.
quand j'ouvre le fichier asc 01.xls en cliquant sur le lien, la macro ne s'effectue pas, de même quand je ferme asc01.xls
si vous voulez voir, je peux vous envoyer les classeurs.
Marsh Posté le 27-09-2007 à 23:56:11
voici le fichier fiches.xls
http://cjoint.com/?jBxY7ERPQv
le fichier asc est plus conséquent et donc zipper en .rar
http://cjoint.com/?jBx2FAMnSc
j'ai réécrit le vba sous word, c'est peut-être plus clair...
http://cjoint.com/?jBx4b0EAg8
Marsh Posté le 01-10-2007 à 02:40:59
essaie de placer le code workbook_open et workbook_close dans l'objet ThisWorkbook et non dans une des feuilles ou un module, je pense que ça devrait fonctionner
Marsh Posté le 01-10-2007 à 22:08:21
merci fragarch, mon probleme est résolu.
par contre j'en est un autre
je voudrais que la date du jour soit mise automatiquement en B2 si cette date n'est pas mise et si la case A2 est remplieet ce sur toute la colonne, j'ai essayé le prog suivant, mais ca ne marche pas
For i = 2 To 1000
If Sheets("cd" ).Range("A" & i).Value > 0 Then
If Sheets("cd" ).Range("B" & i).Value = 0 Then
today = Sheets("cd" ).Range("B" & i).Value
End If
End If
Next i
merci du coup de main
Marsh Posté le 02-10-2007 à 11:12:45
Je ne vois pas pourquoi tu utilises VBA pour faire ça.
Les formules Excel suffisent.
Les fonctions NB(), et LIGNE() pourront t'aider.
Marsh Posté le 02-10-2007 à 20:51:14
je dois passer par une macro, c'est plus simple pour moi, comme cela tout est vérifié en même temps.
merci pour l'info comme même
Marsh Posté le 03-10-2007 à 00:04:02
j'ai trouver et résolu le problème. maintenant, il ne m'en reste plus qu'un, comment je peux ouvrir un nouveau classeur défini par un lien hypertexte sous le classeur source à l'aide d'une macro????
Marsh Posté le 22-10-2007 à 16:56:27
Hello
Je remonte ce topic parce que j'ai un problème un peu similaire.
J'ai fait une macro qui donne une valeur à une cellule suivant la couleur de remplissage qu'on lui donne.
Manuellement elle s'exécute très bien, mais impossible de la faire s'exécuter automatiquement (à l'ouverture ou à la fermeture du fichier, peu importe)
Code :
|
Où est la couillade ?
Marsh Posté le 22-10-2007 à 17:05:44
Chez moi le code fonctionne nickel.
Peut être une histoire de paramétrage avec l'execution des macros.
Comment sais-tu qu'elle ne s'execute pas ?
Marsh Posté le 22-10-2007 à 17:21:58
Ton objet Cell n'étant pas préfixé par la worksheet (ou le workbook me souviens plus), es-tu sûr que la feuille active est bien celle que tu crois ?
edit : dans le Open la feuille est déjà active ?
Marsh Posté le 23-10-2007 à 08:51:01
Ah yes, j'ai trouvé
En fait c'est parce que j'avais fait ça dans un module, et non pas dans ThisWorkbook. Merci
Pendant que vous êtes chaud si je veux faire que ça s'exécute à chaque sauvegarde plutôt qu'à chaque ouverture, je dois remplacer Open par quoi ?
Marsh Posté le 23-10-2007 à 09:17:50
par Workbook_BeforeSave. Voir aide en ligne pour le détail.
Marsh Posté le 27-09-2007 à 14:04:28
Bonjour
je cherche un moyen pour executer automatiquement une macro à l'ouverture d'un classeur excel (ASC01.xls) à partir d'une autre classeur (Fiches.xls)
j'ai essayer workbook open et auto open, mais ça ne marche pas.
je voudrais aussi que la macro s'effectue à la fermeture de ce même fichier, je pense que la programation est similaire, maispour le moment, je n'y arrive pas. tout ce que j'arrive à faire est le lancement de ma macro quand je lance directement et uniquement le classeur ciblé (asc01.xls)
merci de votre aide