à l'ouverture du classeur A, la "Private Sub Workbook_Open" affiche un
msgbox.
Si c'est une macro du classeur B qui ouvre le classeur A, j'aimerais
que le msgbox du classeur A ne soit pas affiché.
Donc il faudrait que dans le classeur B je puisse définir une variable
ou une constante qui serait encore "vivante" quand j'arrive dans le
classeur A afin de pouvoir mettre une condition sur l'ouverture du
msgbox.
Merci d'avance à qui pourrait me dire comment réaliser cette manip.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Dans le classeur A, tu transforme ta sub Workbook open ce cette façon :
Dans cette procédure, remplace Classeur3.xls par le nom du classeur B dans ton application. Évidemment, cela ne te permettra pas de rebaptiser ton classeur B par la suite !
'---------------------------------- Private Sub Workbook_Open()
Dim Op As Integer On Error Resume Next Application.DisplayAlerts = False Op = Application.ExecuteExcel4Macro("'Classeur3.xls'!toto") Application.DisplayAlerts = True If Err = 0 Then MsgBox "Ce que tu veux" Else Err.Clear End If MsgBox "Bonjour à toi" 'Le reste de ta macro End Sub '----------------------------------
Et dans ton classeur B, pour ouvrir le classeur A, tu utilises ceci :
à l'ouverture du classeur A, la "Private Sub Workbook_Open" affiche un msgbox.
Si c'est une macro du classeur B qui ouvre le classeur A, j'aimerais que le msgbox du classeur A ne soit pas affiché.
Donc il faudrait que dans le classeur B je puisse définir une variable ou une constante qui serait encore "vivante" quand j'arrive dans le classeur A afin de pouvoir mettre une condition sur l'ouverture du msgbox.
Merci d'avance à qui pourrait me dire comment réaliser cette manip.
Jac
Dans le classeur A, tu transforme ta sub Workbook open ce cette façon :
Dans cette procédure, remplace Classeur3.xls par le nom du
classeur B dans ton application. Évidemment, cela ne te permettra
pas de rebaptiser ton classeur B par la suite !
'----------------------------------
Private Sub Workbook_Open()
Dim Op As Integer
On Error Resume Next
Application.DisplayAlerts = False
Op = Application.ExecuteExcel4Macro("'Classeur3.xls'!toto")
Application.DisplayAlerts = True
If Err = 0 Then
MsgBox "Ce que tu veux"
Else
Err.Clear
End If
MsgBox "Bonjour à toi"
'Le reste de ta macro
End Sub
'----------------------------------
Et dans ton classeur B, pour ouvrir le classeur A,
tu utilises ceci :
"Jac" <Jsansp@mfra.net> a écrit dans le message de news:
mn.bb907d87011669a6.89607@mfra.net...
Bonjour à tous,
à l'ouverture du classeur A, la "Private Sub Workbook_Open" affiche un
msgbox.
Si c'est une macro du classeur B qui ouvre le classeur A, j'aimerais
que le msgbox du classeur A ne soit pas affiché.
Donc il faudrait que dans le classeur B je puisse définir une variable
ou une constante qui serait encore "vivante" quand j'arrive dans le
classeur A afin de pouvoir mettre une condition sur l'ouverture du
msgbox.
Merci d'avance à qui pourrait me dire comment réaliser cette manip.
Dans le classeur A, tu transforme ta sub Workbook open ce cette façon :
Dans cette procédure, remplace Classeur3.xls par le nom du classeur B dans ton application. Évidemment, cela ne te permettra pas de rebaptiser ton classeur B par la suite !
'---------------------------------- Private Sub Workbook_Open()
Dim Op As Integer On Error Resume Next Application.DisplayAlerts = False Op = Application.ExecuteExcel4Macro("'Classeur3.xls'!toto") Application.DisplayAlerts = True If Err = 0 Then MsgBox "Ce que tu veux" Else Err.Clear End If MsgBox "Bonjour à toi" 'Le reste de ta macro End Sub '----------------------------------
Et dans ton classeur B, pour ouvrir le classeur A, tu utilises ceci :
à l'ouverture du classeur A, la "Private Sub Workbook_Open" affiche un msgbox.
Si c'est une macro du classeur B qui ouvre le classeur A, j'aimerais que le msgbox du classeur A ne soit pas affiché.
Donc il faudrait que dans le classeur B je puisse définir une variable ou une constante qui serait encore "vivante" quand j'arrive dans le classeur A afin de pouvoir mettre une condition sur l'ouverture du msgbox.
Merci d'avance à qui pourrait me dire comment réaliser cette manip.
Jac
ctac
Peut être comme ça ?
Private Sub Workbook_Open() On Error Resume Next If IsError(Application.Caller) Then MsgBox "Bonjour" On Error GoTo 0 End Sub
ctac
"Jac" a écrit dans le message de news:
Bonjour à tous,
à l'ouverture du classeur A, la "Private Sub Workbook_Open" affiche un msgbox.
Si c'est une macro du classeur B qui ouvre le classeur A, j'aimerais que le msgbox du classeur A ne soit pas affiché.
Donc il faudrait que dans le classeur B je puisse définir une variable ou une constante qui serait encore "vivante" quand j'arrive dans le classeur A afin de pouvoir mettre une condition sur l'ouverture du msgbox.
Merci d'avance à qui pourrait me dire comment réaliser cette manip.
Jac
Peut être comme ça ?
Private Sub Workbook_Open()
On Error Resume Next
If IsError(Application.Caller) Then MsgBox "Bonjour"
On Error GoTo 0
End Sub
ctac
"Jac" <Jsansp@mfra.net> a écrit dans le message de news:
mn.bb907d87011669a6.89607@mfra.net...
Bonjour à tous,
à l'ouverture du classeur A, la "Private Sub Workbook_Open" affiche un
msgbox.
Si c'est une macro du classeur B qui ouvre le classeur A, j'aimerais que
le msgbox du classeur A ne soit pas affiché.
Donc il faudrait que dans le classeur B je puisse définir une variable ou
une constante qui serait encore "vivante" quand j'arrive dans le classeur
A afin de pouvoir mettre une condition sur l'ouverture du msgbox.
Merci d'avance à qui pourrait me dire comment réaliser cette manip.
Private Sub Workbook_Open() On Error Resume Next If IsError(Application.Caller) Then MsgBox "Bonjour" On Error GoTo 0 End Sub
ctac
"Jac" a écrit dans le message de news:
Bonjour à tous,
à l'ouverture du classeur A, la "Private Sub Workbook_Open" affiche un msgbox.
Si c'est une macro du classeur B qui ouvre le classeur A, j'aimerais que le msgbox du classeur A ne soit pas affiché.
Donc il faudrait que dans le classeur B je puisse définir une variable ou une constante qui serait encore "vivante" quand j'arrive dans le classeur A afin de pouvoir mettre une condition sur l'ouverture du msgbox.
Merci d'avance à qui pourrait me dire comment réaliser cette manip.
Jac
Jac
Bonjour michdenis et ctac,
merci pour vos suggestions. Ce n'est pas encore tout à fait au point, mais j'y reviendrai plus tard. Pour le moment, j'ai modifié ma procédure afin d'éviter le problème (je déclenche depuis le fichier qui est déjà ouvert, donc le msgbox n'est plus sollicité...).
Bonjour à tous,
à l'ouverture du classeur A, la "Private Sub Workbook_Open" affiche un msgbox.
Si c'est une macro du classeur B qui ouvre le classeur A, j'aimerais que le msgbox du classeur A ne soit pas affiché.
Donc il faudrait que dans le classeur B je puisse définir une variable ou une constante qui serait encore "vivante" quand j'arrive dans le classeur A afin de pouvoir mettre une condition sur l'ouverture du msgbox.
Bonjour michdenis et ctac,
merci pour vos suggestions. Ce n'est pas encore tout à fait au point,
mais j'y reviendrai plus tard. Pour le moment, j'ai modifié ma
procédure afin d'éviter le problème (je déclenche depuis le fichier qui
est déjà ouvert, donc le msgbox n'est plus sollicité...).
Bonjour à tous,
à l'ouverture du classeur A, la "Private Sub Workbook_Open" affiche un
msgbox.
Si c'est une macro du classeur B qui ouvre le classeur A, j'aimerais que le
msgbox du classeur A ne soit pas affiché.
Donc il faudrait que dans le classeur B je puisse définir une variable ou une
constante qui serait encore "vivante" quand j'arrive dans le classeur A afin
de pouvoir mettre une condition sur l'ouverture du msgbox.
merci pour vos suggestions. Ce n'est pas encore tout à fait au point, mais j'y reviendrai plus tard. Pour le moment, j'ai modifié ma procédure afin d'éviter le problème (je déclenche depuis le fichier qui est déjà ouvert, donc le msgbox n'est plus sollicité...).
Bonjour à tous,
à l'ouverture du classeur A, la "Private Sub Workbook_Open" affiche un msgbox.
Si c'est une macro du classeur B qui ouvre le classeur A, j'aimerais que le msgbox du classeur A ne soit pas affiché.
Donc il faudrait que dans le classeur B je puisse définir une variable ou une constante qui serait encore "vivante" quand j'arrive dans le classeur A afin de pouvoir mettre une condition sur l'ouverture du msgbox.