empêcher les Msgbox quand execution de plusieurs macros successivement

superbog

XLDnaute Occasionnel
Bonjour,

J'ai fait un certain nombre de macros, chacune se termine par un Msgbox du type
Code:
MsgBox "opération effectuée"
.

Je les utilise individuellement et fais régulièrement des modifications et des améliorations sur ces macros.

Je voudrais pouvoir faire une macro qui lance certaines ces macro successivement comme ça
Code:
Call macro1
Call macro2
Call macro3
MAIS je ne veux pas que les Msgbox de macro1, macro2, macro3 apparaissent, comment faire?
Je ne peux pas utiliser sandesk car je ne veux pas changer chacune de mes macros.

Je ne peux pas faire de copie de mes macros car le risque d'erreur ou d'omission quand je fais des mises à jour est trop important.

merci d'avance
 

STephane

XLDnaute Occasionnel
Re : empêcher les Msgbox quand execution de plusieurs macros successivement

bonjour,

je ne suis pas sûr que cela soit conseillé mais il semblerait que tu puisses les désactiver.
voir ici

sinon, en ce qui me concerne, je remplace si nécessaire les msgbox par cette fonction qui permet un affichage temporaire d'une boîte de dialogue simple.

Code:
Private Function QAB_MsgboxLtd(Msg, Optional scds, Optional Title)'
'=======================================================================
'= Procedure    : MsgboxLtd                                            =
'= Type         : Function                                             =
'=                                                                     =
'= Purpose      : displays a temporary dialogbox                       =
'=                                                                     =
'= Parameters   : msg - variant - contents of the message to display.  =
'=                scds - variant - display duration                    =
'=                title - variant - dialogbox's optional title         =
'=                                                                     =
'= Returns      : nothing                                              =
'=                                                                     =
'= Version:  Date:         Developer:      Action:                     =
'=---------|---------------|---------------|-------------------------- =
'=  1.0.0  | Long time Ago |   STéphane    | Created                   =
'=  1.0.0  | 09/02/2012    |   STéphane    | Opensourced               =
'=======================================================================
'
' La fonction affiche une boîte de dialogue temporaire.
' Elle doit être appelée en spécifiant au moins un message et un nombre de seconde ;
' le titre de la boîte de dialogue peut être spécifié, il prend par défaut la valeur "Alerte".
'
If IsMissing(Title) Then Title = "Alerte"
CreateObject("WScript.Shell").Popup Msg, IIf(IsMissing(scds), 1, scds), Title
End Function
 

pierrejean

XLDnaute Barbatruc
Re : empêcher les Msgbox quand execution de plusieurs macros successivement

Bonjour à tous

A tester

Code:
Sub macro1(msg)
If msg Then
  MsgBox ("bonjour 1")
End If
End Sub
Sub macro2(msg)
If msg Then
  MsgBox ("bonjour 2")
End If
End Sub
Sub macro3(msg)
If msg Then
  MsgBox ("bonjour 3")
End If
End Sub
Sub macro()
Call macro1(0)
Call macro2(0)
Call macro3(1)
End Sub
 

superbog

XLDnaute Occasionnel
Re : empêcher les Msgbox quand execution de plusieurs macros successivement

euhhh Pierre Jean je ne comprends pas exactement ce que je dois faire?
4 macros supplémentaires? rajouter dans les macros existantes?
 

pierrejean

XLDnaute Barbatruc
Re : empêcher les Msgbox quand execution de plusieurs macros successivement

Re

Tu modifies les macro existantes en
Ajoutant le paramètre msg comme ceci macro1(msg)
Encadrant le message par if msg then et end if

Et dans ta macro globale tu appelles avec call macrox(0) si tu ne veux pas du msgbox ou call macrox (1) si tu le veux

Est-ce clair ?
 

superbog

XLDnaute Occasionnel
Re : empêcher les Msgbox quand execution de plusieurs macros successivement

Re

Tu modifies les macro existantes en
Ajoutant le paramètre msg comme ceci macro1(msg)
Encadrant le message par if msg then et end if

Et dans ta macro globale tu appelles avec call macrox(0) si tu ne veux pas du msgbox ou call macrox (1) si tu le veux

Est-ce clair ?
top merci de ton explication limpide
 

superbog

XLDnaute Occasionnel
Re : empêcher les Msgbox quand execution de plusieurs macros successivement

Bonsoir (et bonne année),

je viens de faire l'essai, ca marche très bien mais par contre la macro ne fonctionne plus en direct...
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas