Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro auto open ACH

14 réponses
Avatar
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

10 réponses

1 2
Avatar
Garette
Bonjour,

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

"alain chatellier" a écrit 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


Avatar
anonymousA
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


Avatar
lSteph
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
wrote:
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


Avatar
alain chatellier
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" a écrit 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







Avatar
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" a écrit dans le message de news:
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


Avatar
lSteph
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" wrote:
| 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" a écrit dans le message de news:
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




Avatar
anonymousA
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" a écrit dans le message de news:
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






Avatar
MichDenis
| 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
'------------------------------------
Avatar
MichDenis
Merci Alain,

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

;-))


"alain chatellier" a écrit 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
Avatar
Jacky
Comme disait Misange, il n'y a pas si longtemps

Chouette! de la bagarre
;o))

--
Salutations
JJ


"MichDenis" a écrit dans le message de news:
O8iZ%
Merci Alain,

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

;-))


"alain chatellier" a écrit
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




1 2