macro auto open ACH

Le
alain chatellier
cBonjour à tous !
Je veux par macro ouvrir un autre fichier excel; mais
celui-ci execute une macro auto_open .
Comment puis-je ouvrir ce fichier par macro VBA en empechant la macro
auto-open de se lancer

Cordialement
Alain
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Garette
Le #4394361
Bonjour,

Sub test()
Application.EnableEvents = False
Workbooks.Open Filename:="C:Classeur2.xls"
Application.EnableEvents = True
End Sub

"alain chatellier" le message de news:
cBonjour à tous !
Je veux par macro ouvrir un autre fichier excel; mais
celui-ci execute une macro auto_open .
Comment puis-je ouvrir ce fichier par macro VBA en empechant la macro
auto-open de se lancer...

Cordialement
Alain


anonymousA
Le #4394341
Bonjour,

Précisions sur différences entre Auto_open et Workbook_Open. Ce dernier
est executé des que l'événement Open se produit quelle qu'en soit la cause.
Auto_Open n'est executé QUE SI le classeur est ouvert par
Fichier/Ouvrir (ou un double-clic), et donc PAS sur une ouverture à
partir d'un code VBA (c'est pourquoi il faut coder un truc du genre
ActiveWorkbook.RunAutoMacros which:=xlAutoOpen (de mémoire)

Si tu veux invalider un workbook_open lors d'une ouvertire par VBA , il
te faut placer avant l'instruction Open , l'instruction
Aplication.enableeventsúlse
puis une fois ton affaire réalisée, ne pas oublier de remettre le
Enableevents =true.

A+


cBonjour à tous !
Je veux par macro ouvrir un autre fichier excel; mais
celui-ci execute une macro auto_open .
Comment puis-je ouvrir ce fichier par macro VBA en empechant la macro
auto-open de se lancer...

Cordialement
Alain


lSteph
Le #4394331
Bonjour,

Sub ouvsansmac()
Application.EnableEvents = False
On error goto fin
Workbooks.Open Filename:="C:monclasseur.xls"
Application.EnableEvents = True
Exit sub
fin:
msgbox "chemin ou fichier non valide"
Application.EnableEvents = True
End Sub

'lSteph

On 11 avr, 10:22, alain chatellier
cBonjour à tous !
Je veux par macro ouvrir un autre fichier excel; mais
celui-ci execute une macro auto_open .
Comment puis-je ouvrir ce fichier par macro VBA en empechant la macro
auto-open de se lancer...

Cordialement
Alain


alain chatellier
Le #4394301
Merci beaucoup pour ce bon coup de pouce
Cordialement

Alain


Bonjour,

Sub test()
Application.EnableEvents = False
Workbooks.Open Filename:="C:Classeur2.xls"
Application.EnableEvents = True
End Sub

"alain chatellier" le message de news:
cBonjour à tous !
Je veux par macro ouvrir un autre fichier excel; mais
celui-ci execute une macro auto_open .
Comment puis-je ouvrir ce fichier par macro VBA en empechant la macro
auto-open de se lancer...

Cordialement
Alain







MichDenis
Le #4394231
| te faut placer avant l'instruction Open , l'instruction
| Aplication.enableeventsúlse
| puis une fois ton affaire réalisée, ne pas oublier de remettre le
| Enableevents =true.

Totalement inefficace pour les versions Excel d'avant 2002.
On s'attendrait d'un peu plus de rigueur de la part d'un pédagogue .....!

;-)))))))))



"anonymousA" 461cab42$0$5082$
Bonjour,

Précisions sur différences entre Auto_open et Workbook_Open. Ce dernier
est executé des que l'événement Open se produit quelle qu'en soit la cause.
Auto_Open n'est executé QUE SI le classeur est ouvert par
Fichier/Ouvrir (ou un double-clic), et donc PAS sur une ouverture à
partir d'un code VBA (c'est pourquoi il faut coder un truc du genre
ActiveWorkbook.RunAutoMacros which:=xlAutoOpen (de mémoire)

Si tu veux invalider un workbook_open lors d'une ouvertire par VBA , il
te faut placer avant l'instruction Open , l'instruction
Aplication.enableeventsúlse
puis une fois ton affaire réalisée, ne pas oublier de remettre le
Enableevents =true.

A+


cBonjour à tous !
Je veux par macro ouvrir un autre fichier excel; mais
celui-ci execute une macro auto_open .
Comment puis-je ouvrir ce fichier par macro VBA en empechant la macro
auto-open de se lancer...

Cordialement
Alain


lSteph
Le #4394161
Bien le bonjour MD ,

;o)) et c'est tout..?§
Tu nous avais habitué à mieux,
amha l'auto_open est surtout à oublier au profit de workbook_open
ensuite la priorité s'il en est une est la réactivation des
événements
d'où mon idée de gèrer ainsi la possibilité d'erreur de nom de
fichier
ou son absence.

lSteph
(d'éminents contributeurs qui s'envoient des fleurs , est-ce vraiment
pédagogique?)

On 11 avr, 12:09, "MichDenis"
| te faut placer avant l'instruction Open , l'instruction
| Aplication.enableeventsúlse
| puis une fois ton affaire réalisée, ne pas oublier de remettre le
| Enableevents =true.

Totalement inefficace pour les versions Excel d'avant 2002.
On s'attendrait d'un peu plus de rigueur de la part d'un pédagogue .... .!

;-)))))))))

"anonymousA" 461cab42$0$5082$
Bonjour,

Précisions sur différences entre Auto_open et Workbook_Open. Ce derni er
est executé des que l'événement Open se produit quelle qu'en soit l a cause.
Auto_Open n'est executé QUE SI le classeur est ouvert par
Fichier/Ouvrir (ou un double-clic), et donc PAS sur une ouverture à
partir d'un code VBA (c'est pourquoi il faut coder un truc du genre
ActiveWorkbook.RunAutoMacros which:=xlAutoOpen (de mémoire)

Si tu veux invalider un workbook_open lors d'une ouvertire par VBA , il
te faut placer avant l'instruction Open , l'instruction
Aplication.enableeventsúlse
puis une fois ton affaire réalisée, ne pas oublier de remettre le
Enableevents =true.

A+


cBonjour à tous !
Je veux par macro ouvrir un autre fichier excel; mais
celui-ci execute une macro auto_open .
Comment puis-je ouvrir ce fichier par macro VBA en empechant la macro
auto-open de se lancer...

Cordialement
Alain




anonymousA
Le #4394031
Tiens, le "Je sais tout du Canada" est de retour !
Comment se fait-ce que Sa Seigneurie s'abaisse à réponde à un nain de
mon espèce ?.
Enfin, pour la gouverne du demandeur, il faut quand même stipuler qu'en
la matière présente, tu racontes des c...

Fais donc l'essai toi même avant de débiter des sornettes et tu
t'apercevras de la pleine validité de ce que j'écris, sutrout qu'en plus
j'ai Excel 2000.

Mais sans doute, le désir d'envoyer une pique mesquine aura t-il
obscurci ton jugement, sinon c'est plus grave que je ne pensais !!!.

Je ne te salue pas.

| te faut placer avant l'instruction Open , l'instruction
| Aplication.enableeventsúlse
| puis une fois ton affaire réalisée, ne pas oublier de remettre le
| Enableevents =true.

Totalement inefficace pour les versions Excel d'avant 2002.
On s'attendrait d'un peu plus de rigueur de la part d'un pédagogue .....!

;-)))))))))



"anonymousA" 461cab42$0$5082$
Bonjour,

Précisions sur différences entre Auto_open et Workbook_Open. Ce dernier
est executé des que l'événement Open se produit quelle qu'en soit la cause.
Auto_Open n'est executé QUE SI le classeur est ouvert par
Fichier/Ouvrir (ou un double-clic), et donc PAS sur une ouverture à
partir d'un code VBA (c'est pourquoi il faut coder un truc du genre
ActiveWorkbook.RunAutoMacros which:=xlAutoOpen (de mémoire)

Si tu veux invalider un workbook_open lors d'une ouvertire par VBA , il
te faut placer avant l'instruction Open , l'instruction
Aplication.enableeventsúlse
puis une fois ton affaire réalisée, ne pas oublier de remettre le
Enableevents =true.

A+


cBonjour à tous !
Je veux par macro ouvrir un autre fichier excel; mais
celui-ci execute une macro auto_open .
Comment puis-je ouvrir ce fichier par macro VBA en empechant la macro
auto-open de se lancer...

Cordialement
Alain






MichDenis
Le #4394021
| Tu nous avais habitué à mieux,

Ce n'est pas obligatoire d'être toujours pertinent ! Et ma réponse
ne s'adressait pas au répondeur et n'était pas destiné à résoudre
sa problématique... As-tu besoin de plus d'explications ?

Ceci étant, si anonymousA t'avait appris à "pécher" tu aurais pu
retrouver ces 2 messages de deux éminents personnages appartenant
à l'historique de ce forum.

;-))

| amha l'auto_open est surtout à oublier au profit de workbook_open

Sais-tu si auto_open est toujours disponible sous Excel 2007 ?

Je suis d'accord avec toi, il faut être catégorique ... après tout
tu sais de quoi tu parles.... à cet effet un message paru sous
la plume de Frédéric Sigonneau ...
'------------------------------------
Sub Discret(fich)
Dim xl As Object, wbk As Workbook
Set xl = CreateObject("Excel.Application")
xl.EnableEvents = False
Set wbk = xl.Workbooks.Open(fich)
wbk.Sheets(1).Range("D1").Value = "discret22"
xl.EnableEvents = True
wbk.Close (True)
xl.Quit
Set wbk = Nothing
Set xl = Nothing
End Sub

Sub Nomdufichier()
Dim NomFichier
NomFichier = Application.GetOpenFilename
Discret NomFichier
' Workbooks.Open Filename:=NomFichier
End Sub

La désactivation des événements d'une instance d'Excel créée par Automation
semble être une nouveauté d'Excel 2002. L'instruction que j'avais postée
(xl.EnableEventsúlse) n'est donc pas reconnue par Excel 2000.
Il est néanmoins possible (testé aujourd'hui) d'arriver au même résultat avec
Excel 2000, à condition de mettre les instructions à exécuter à l'ouverture du
classeur dans une procédure Auto_Open au lieu d'utiliser l'événement
Workbook_Open. Les procédures Auto_xxx ne sont en effet pas exécutées,
semble-t-il, lorsqu'Excel 2000 est créé par Automation. Je ne sais pas ce qu'il
en est, par contre, pour Excel 97, je n'ai pas pu tester.
'------------------------------------

Voici un autre message de Laurent Longre sur le sujet paru aussi sur ce Forum :
'------------------------------------
Si tu veux simplement désactiver sa procédure Workbook_Open :

Application.EnableEvents = False
Workbooks.Open("C:MonClasseur.xls")
Application.EnableEvents = True

(remplace "MonClasseur.xls" par le classeur dont tu veux désactiver les
macros)

Si tu veux désactiver la totalité de ses macros :

- Insère un module de classe ("Classe1") dans le 1er classeur et copie les
lignes suivantes :

Public WithEvents App As Application

Private Sub App_WorkbookActivate(ByVal Wb As Workbook)
On Error Resume Next
If Wb Is Workbooks("MonClasseur.xls") Then _
CommandBars.FindControl(ID:05).Execute
End Sub

- Dans le module ThisWorkbook du 1er classeur :

Dim XLApp As Classe1

Private Sub Workbook_Open()
Set XLApp = New Classe1
Set XLApp.App = Application
End Sub
'------------------------------------
MichDenis
Le #4393971
Merci Alain,

Ton fil m'a fait comme dirait les français bien marrer !

;-))


"alain chatellier"
cBonjour à tous !
Je veux par macro ouvrir un autre fichier excel; mais
celui-ci execute une macro auto_open .
Comment puis-je ouvrir ce fichier par macro VBA en empechant la macro
auto-open de se lancer...

Cordialement
Alain
Jacky
Le #4393961
Comme disait Misange, il n'y a pas si longtemps

Chouette! de la bagarre
;o))

--
Salutations
JJ


"MichDenis" O8iZ%
Merci Alain,

Ton fil m'a fait comme dirait les français bien marrer !

;-))


"alain chatellier" dans le message de news:

cBonjour à tous !
Je veux par macro ouvrir un autre fichier excel; mais
celui-ci execute une macro auto_open .
Comment puis-je ouvrir ce fichier par macro VBA en empechant la macro
auto-open de se lancer...

Cordialement
Alain




Publicité
Poster une réponse
Anonyme