Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3239 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  lancement automatique d'une macro à l'ouverture d'un classeur excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

lancement automatique d'une macro à l'ouverture d'un classeur excel

n°1615995
mephistos1​23
Posté le 27-09-2007 à 14:04:28  profilanswer
 

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

mood
Publicité
Posté le 27-09-2007 à 14:04:28  profilanswer
 

n°1616130
tegu
Posté le 27-09-2007 à 16:15:13  profilanswer
 

L'événement Workbook_Open fonctionne très bien.
Qu'entends-tu par « ...mais ça ne marche pas. » ?

n°1616151
mephistos1​23
Posté le 27-09-2007 à 16:36:44  profilanswer
 

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.

n°1616210
jpcheck
Pioupiou
Posté le 27-09-2007 à 17:05:09  profilanswer
 

mets ton fichier sur cjoint par exemple

n°1616367
mephistos1​23
Posté le 27-09-2007 à 23:56:11  profilanswer
 

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

n°1617215
fragarch
strop bon, skoi ??
Posté le 01-10-2007 à 02:40:59  profilanswer
 

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

n°1617634
mephistos1​23
Posté le 01-10-2007 à 22:08:21  profilanswer
 

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

n°1617745
tegu
Posté le 02-10-2007 à 11:12:45  profilanswer
 

Je ne vois pas pourquoi tu utilises VBA pour faire ça.
Les formules Excel suffisent.
Les fonctions NB(), et LIGNE() pourront t'aider.

n°1618119
mephistos1​23
Posté le 02-10-2007 à 20:51:14  profilanswer
 

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

n°1618168
mephistos1​23
Posté le 03-10-2007 à 00:04:02  profilanswer
 

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????

mood
Publicité
Posté le 03-10-2007 à 00:04:02  profilanswer
 

n°1628751
La Monne
Administrateur
Tu dois rompre.
Posté le 22-10-2007 à 16:56:27  profilanswer
 

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 :
  1. Sub Workbook_Open()
  2.     For Each Cell In Range("A1:DD65" )
  3.    
  4.     If Cell.Interior.ColorIndex = 8 Then
  5.         Cell.Value = 8
  6.         Cell.Font.ColorIndex = 8
  7.     End If
  8. [...]
  9. Next
  10.    
  11. End Sub


Où est la couillade ? :/


---------------
Lu et approuvé.
n°1628764
Paul Hood
Posté le 22-10-2007 à 17:05:44  profilanswer
 

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 ?

n°1628783
tegu
Posté le 22-10-2007 à 17:21:58  profilanswer
 

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 ?


Message édité par tegu le 22-10-2007 à 17:22:47
n°1629048
La Monne
Administrateur
Tu dois rompre.
Posté le 23-10-2007 à 08:51:01  profilanswer
 

Ah yes, j'ai trouvé [:shay]
En fait c'est parce que j'avais fait ça dans un module, et non pas dans ThisWorkbook. Merci :o
 
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 ?


---------------
Lu et approuvé.
n°1629057
Paul Hood
Posté le 23-10-2007 à 09:17:50  profilanswer
 

par Workbook_BeforeSave. Voir aide en ligne pour le détail.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  lancement automatique d'une macro à l'ouverture d'un classeur excel

 

Sujets relatifs
[Macro WORD] Comment insérer plusieurs images ?[WSH Scripting] écrire dans fichier texte depuis fichier excel
appeler une macro depuis une autre, puis revenir à la macro appelante[resolu] Crash lors de l'ouverture d'un fichier [backtrace inside]
Macro fichier de synthèseGestion automatique d'evenement ? CSS/Javascript
supprimer ligne d'excel par VBAinserer des images sur excel
Code calendrier automatique en VBA[PHP] et Excel
Plus de sujets relatifs à : lancement automatique d'une macro à l'ouverture d'un classeur excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR