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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  problème lors de l execution macro automatique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème lors de l execution macro automatique

n°1410416
jagwar
Posté le 20-07-2006 à 16:58:03  profilanswer
 

Je voudrais savoir comment faire pour que ma macro s'exécute automatiquement à l'ouverture du fichier excel qui la contient ??
J'ai lu sur le net qu'il fallait mettre le code dans ThisWorkbook ... mais pour moi cela ne fontionne pas (à l'origine elle s'active par un bouton dans la feuille excel).
 
Autrement : A mon avis c'est pas possible :whistle:. J'aurais voulu que la macro se supprime après son exécution.
(Je vais essayer de le faire faire par un prog externe).

Message cité 1 fois
Message édité par jagwar le 21-07-2006 à 09:29:02
mood
Publicité
Posté le 20-07-2006 à 16:58:03  profilanswer
 

n°1410432
jpcheck
Pioupiou
Posté le 20-07-2006 à 17:07:37  profilanswer
 

jagwar a écrit :

Je voudrais savoir comment faire pour que ma macro s'exécute automatiquement à l'ouverture du fichier excel qui la contient ??
J'ai lu sur le net qu'il fallait mettre le code dans ThisWorkbook ... mais pour moi cela ne fontionne pas (à l'origine elle s'active par un bouton dans la feuille excel).
 
Autrement : A mon avis c'est pas possible :whistle:. J'aurais voulu que la macro se supprime après son exécution.
(Je vais essayer de le faire faire par un prog externe).


sujet déjà traité ici, pour la suppression de la matrice, va voir sur excel labo, tout le code est fourni...

n°1410466
jagwar
Posté le 20-07-2006 à 17:26:51  profilanswer
 

j'arrive po à trouver sur le forum ... sniff  :(  
C'est la fin de journée, les yeux sont fatigués ... :sleep:  
J'ai essayé recherche (sur le forum) : - execution macro automatique
                                                  - lancer macro ouverture
 
Sinon j'ai trouver sur excel labo :
Workbook_open et auto_open
Mais je n'arrive pas  les faire fonctionner (en plus je comprends pas vraiment la différence entre les 2)


Message édité par jagwar le 20-07-2006 à 17:35:14
n°1410484
galopin01
Posté le 20-07-2006 à 17:33:22  profilanswer
 
n°1410487
jagwar
Posté le 20-07-2006 à 17:36:49  profilanswer
 

ça a pas l'air de fonctionner ... Warning SQL ... jcrois que sa BDD a laché ou le lien est obsolète ??


Message édité par jagwar le 20-07-2006 à 17:40:32
n°1410554
galopin01
Posté le 20-07-2006 à 18:56:54  profilanswer
 

ça remarche...

n°1410798
jagwar
Posté le 21-07-2006 à 09:12:35  profilanswer
 

OK merci.  
Mais j'ai un soucis, ma macro s'exécutait bien avant que je passe en ouverture auto. Maintenant elle plante là :  
'Erreur d'exécution '91' : Variable ou objet de bloc With non défini
 
ActiveSheet.Find(What:="Q5", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
 
(à cette ligne je recherche la cellule contenant Q5)
la ligne avant est : Workbooks.OpenText Filename:=.FoundFiles(Ctr), Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:= _
        False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array( _
        1, 1), Array(2, 1))
 
J'ai aussi essayé :  
VarFeuille = ActiveSheet.Name
        Sheets(VarFeuille).Cells.Find(What:="Q5", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
 
Ce qui est bizarre aussi, c'est que si j'appuie sur le bouton contenant le même code, cela fonctionne ????? :??:  
????


Message édité par jagwar le 21-07-2006 à 09:34:59
n°1410827
Paul Hood
Posté le 21-07-2006 à 09:41:28  profilanswer
 

Peut-être devrais-tu positionner la cellule active en "A1" avant de faire le find.


Message édité par Paul Hood le 21-07-2006 à 09:41:42
n°1410835
DamienCYS
Posté le 21-07-2006 à 09:45:48  profilanswer
 

comme ca ca devrait marcher :
 
Cells.Find(What:="Q5", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate


Message édité par DamienCYS le 21-07-2006 à 09:46:17
n°1410839
jagwar
Posté le 21-07-2006 à 09:48:06  profilanswer
 

ça fonctionne merci à tous les deux !!! :bounce:
 
Mais maintenant c'est là que cela plante :    
Charts.Add  
ActiveChart.ChartType = xlXYScatter
    ActiveChart.SetSourceData Source:=Sheets(VarFeuille).Range("D3" )
 
 :pfff: Je crois que tout ce que j'avais fait en mode enregistrement ne passe plus  :pfff:
Ou alors c'est parce que maintenant mon code est dans ThisWorkbook ... autrement je pourrai simuler un clique sur mon bouton (là normalement ça fonctionne)
 
 
J'en suis presque sur maintenant. A l'origine mon code était dans feuill1 et lanc par un bouton, et quand je le déplace dans ThisWorkbook cela noe fonctionne plus...
Il faut que je trouve une autre façon de laner ma macro ... quelqu'un aurait une idée SVP ???
Autrement puis-je faire un exe avec ma macro ????


Message édité par jagwar le 21-07-2006 à 10:51:03
mood
Publicité
Posté le 21-07-2006 à 09:48:06  profilanswer
 

n°1410927
DamienCYS
Posté le 21-07-2006 à 11:05:53  profilanswer
 

si ca fonctionne en mettant le code dans la feuille remets tout ton code dans la feuille et dans l'evt open de ThisWorkbook tu mets simplement <nom de la feuille>.<nom de le macro>

n°1410944
jagwar
Posté le 21-07-2006 à 11:19:54  profilanswer
 

Arf ton idée est pas mal ... mais j'arrive pas à la mettre en application ...
Voici mon code dans ThisWorkbook :
 
Private Sub Workbook_Open()
Feuil1.CommandButton1_Click()
End Sub
 
Il me dit erreur de compilation : erreur de syntaxe ??
 
sachant que ma macro dans Feuil1 ressemble à :
Private Sub CommandButton1_Click()
'tout le code de ma macro  
End Sub

n°1410964
DamienCYS
Posté le 21-07-2006 à 11:39:26  profilanswer
 

ca ne marche pas avec des private et il ne faut pas mettre de parenthèse a l'appel de la fonction ce qui donne :
 
Private Sub Workbook_Open()  
  Feuil1.CommandButton1_Click
End Sub  
 
Public Sub CommandButton1_Click()  
'tout le code de ma macro  
End Sub  

n°1410972
jagwar
Posté le 21-07-2006 à 11:53:11  profilanswer
 

:hello: Merci beaucoup ça fonctionne nickel  :hello:  :wahoo:


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

  problème lors de l execution macro automatique

 

Sujets relatifs
problème de boucle/session : envoi de doublons en nombre variable ?!Probléme de chargement d'image avec GD et Formulaire
probleme de selection selon criteregros probleme de tableau
Problème de dérivation d'un class abstraite[VB6] Probleme de selected avec une file box
creation variable automatiqueProbleme incompatibilite données acces/VBA [résolu]
probleme compilation 
Plus de sujets relatifs à : problème lors de l execution macro automatique


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