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

comment désactiver le bouton annuler du message box d'excel

11 réponses
Avatar
Sarrel
Bonjour,

Dans un fichier excel, j'a un code VBA qui s'exécute
au démarrage et qui pour rôle de fermer tous les autres
classeurs excel ouverts suaf celui qui contient le code.
Par ailleurs, j'autorise l'apparition du message box automatique
d'excel qui demande d'enregister les fichiers avant de les fermer.
si on répond à ce message oui ou non la fermeture des fichiers se
fait sans problème, par contre si j'annule sur message box alors
je reçois un message d'erreur.
Pouvez m'aider à contourner ce bouton annuler.

Merci de votre aide

1 réponse

1 2
Avatar
Sarrel
C'est une autre façon de lui demander d'afficher le message box pour
enregister.
si cette ligne est true il n'affiche pas le message box et ferme le Wbk.
Merci en tout cas de ton aide, j'ai pu résoudre le problème en créeant un
message box uniquement avec oui/non et en empêchant d'afficher le mgs box
d'excel. Et ça marche très bien

"michdenis" a écrit :

Je ne comprends pas le sens de cette ligne de code
Wbk.Saved = False dans ta procédure.

A -
Si tu veux qu'Excel considère ton fichier comme sauvegardé,
Wbk.Saved devrait être à True. Comme il et à False, Excel va
te demander explicitement si tu veux sauvegarder le fichier
même si ce dernier n'a pas une seule modification. La ligne
de code "Wbk.Close" lance la fermeture du fichier et aussi
la boîte de dialogue "Désirez-vous sauvegarder ..." si le fichier
a subi des modifications depuis son ouverture. Pourquoi la
répétition de la commande ?

B - Je suppose que tu dois avoir une procédure qui a pour
but d'ouvrir ton formulaire. Pourquoi ne pas insérer ton
code dans cette procédure juste avant l'ouverture de ce
dernier.

C - Tu peux toujours employer la ligne de code suivante au
début de ta procédure actuelle :
On Error Resume Next

'-------------------------
Sub Ouvrir le Formulaire()
For Each Wbk In Workbooks
If Wbk.Name <> ThisWorkbook.Name Then
' Wbk.Saved = False
Wbk.Close
End If
MonFormulaire.Show 0
'-------------------------





"Sarrel" a écrit dans le message de groupe de
discussion :
En fait, l'erreur se produit car au même temps que j'essaie de fermer les
autres fichiers excel, j'ouvre aussi un formulaire sur mon fichier de travail
et comme le message box s'ouvre sur le fichier à fermer, l'userform que
j'ouvre se trouve sur la même feuille du fichier à fermer et là ça bug ,
normal car je sélectionne une feuille qui pas la bonne.
En fait ce que je voudrais mettre comme instruction c'est:
si le choix de la réponse au message box est "annuler" alors exit sub.
Mais je n'arrive pas pour l'instant!
Merci de ton support

"Daniel.C" a écrit :

> Bonjour.
> Je n'ai pas pu reproduire le problème. Quelle est exactement la ligne
> en erreur ?
> Daniel
>
> > Merci de ton support,
> > Non pas de procédure dans le thisworkbook du classeur
> > le bout de code que je met dans userform_initialize est:
> > For Each Wbk In Workbooks
> > If Wbk.Name <> ThisWorkbook.Name Then
> > Wbk.Saved = False
> > Wbk.Close
> > End If
> > et quand j'appelle l'userform le message box apparaît sur l'autre fichier
> > excel ouvert pour l'enregister avant fermeture si nécessaire. Par contre si
> > on répond annuler sur message box, on reçoit le message suivant:
> > Erreur d'éxécution '9': l'indice n'appartient pas à la sélection.
> >
> >
> > "michdenis" a écrit :
> >
> >> Bonjour,
> >>
> >> As-tu des procédures événementielles dans le thisworkbook du classeur ?
> >>
> >> Quel est le message d'erreur que tu reçois ?
> >>
> >>> j'autorise l'apparition du message box automatique
> >> ***C'est une boîte d'Excel ou une que tu as programmée ?
> >>
> >>
> >>
> >> "Sarrel" a écrit dans le message de
> >> groupe de discussion :
> >> Bonjour,
> >>
> >> Dans un fichier excel, j'a un code VBA qui s'exécute
> >> au démarrage et qui pour rôle de fermer tous les autres
> >> classeurs excel ouverts suaf celui qui contient le code.
> >> Par ailleurs, j'autorise l'apparition du message box automatique
> >> d'excel qui demande d'enregister les fichiers avant de les fermer.
> >> si on répond à ce message oui ou non la fermeture des fichiers se
> >> fait sans problème, par contre si j'annule sur message box alors
> >> je reçois un message d'erreur.
> >> Pouvez m'aider à contourner ce bouton annuler.
> >>
> >> Merci de votre aide
> >>
>
>
> .
>
1 2