OVH Cloud OVH Cloud

Exit

8 réponses
Avatar
Denys
Bonjour à tous,

Existe-t-il une commande en VBA permettant de sortir de toutes les
instructions suivantes ?

Exit sub me permet de sortir d'une macro..... Mais de sortir de tout au
complet?

Genre Exit All ????

Merci

Denys

8 réponses

Avatar
Nicolas B.
Salut Denys,

End

Tu quittes alors toutes les procédures et réinitialises toutes les
variables.


A+
Nicolas B.

Bonjour à tous,

Existe-t-il une commande en VBA permettant de sortir de toutes les
instructions suivantes ?

Exit sub me permet de sortir d'une macro..... Mais de sortir de tout au
complet?

Genre Exit All ????

Merci

Denys


Avatar
Denys
Bonjour Nicolas,

Merci bien, sauf que ça ne fonctionne pas dans le workbook before_close.....

Excel demande quand même si on veut sauver les changements..... C'est ce que
je veux éviter.... Je voudrais que l'utilisateur puisse sortir de This
workbook before_close comme s'il n'y était pas entré.... Voici le code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Msg, Style, Title, Fichier As String
Fichier = "W:MFRP ResourcesInternal ResourcesPrinting
Database.xls"
If IsFileOpen(Fichier) Then
MsgBox "File Already in use" & Chr(13) & "Please Try Later"
End
Else
Trsf
End If
Suite:
End Sub

Donc, si le fichier est déjà ouvert, je veux que l'on sorte du Before_Close
sans quÈexcel me demande si je veux sauvegarder le fichier actif...

Saurais-tu comment?

Merci

Denys







Salut Denys,

End

Tu quittes alors toutes les procédures et réinitialises toutes les
variables.


A+
Nicolas B.

Bonjour à tous,

Existe-t-il une commande en VBA permettant de sortir de toutes les
instructions suivantes ?

Exit sub me permet de sortir d'une macro..... Mais de sortir de tout au
complet?

Genre Exit All ????

Merci

Denys





Avatar
michdenis
Bonjour Denys,

Je ne comprends pas le sens de ta question. Quelles sont tes atentes ?


Salutations!





"Denys" a écrit dans le message de news:
Bonjour Nicolas,

Merci bien, sauf que ça ne fonctionne pas dans le workbook before_close.....

Excel demande quand même si on veut sauver les changements..... C'est ce que
je veux éviter.... Je voudrais que l'utilisateur puisse sortir de This
workbook before_close comme s'il n'y était pas entré.... Voici le code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Msg, Style, Title, Fichier As String
Fichier = "W:MFRP ResourcesInternal ResourcesPrinting
Database.xls"
If IsFileOpen(Fichier) Then
MsgBox "File Already in use" & Chr(13) & "Please Try Later"
End
Else
Trsf
End If
Suite:
End Sub

Donc, si le fichier est déjà ouvert, je veux que l'on sorte du Before_Close
sans quÈexcel me demande si je veux sauvegarder le fichier actif...

Saurais-tu comment?

Merci

Denys







Salut Denys,

End

Tu quittes alors toutes les procédures et réinitialises toutes les
variables.


A+
Nicolas B.

Bonjour à tous,

Existe-t-il une commande en VBA permettant de sortir de toutes les
instructions suivantes ?

Exit sub me permet de sortir d'une macro..... Mais de sortir de tout au
complet?

Genre Exit All ????

Merci

Denys





Avatar
Nicolas B.
End permet de sortir des procédures, y compris des procédures
événementielles comme Workbook_BeforeClose, mais pas d'annuler ici la
fermeture du classeur.

Si c'est ce que tu veux faire, il faut définir la variable Cancel à
True en la combinant avec un Exit Sub (pas besoin de End, car il n'y a
qu'une procédure appelée) :


Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Msg, Style, Title, Fichier As String
Fichier = "W:MFRP ResourcesInternal ResourcesPrinting
Database.xls"
If IsFileOpen(Fichier) Then
MsgBox "File Already in use" & Chr(13) & "Please Try Later"
cancel = true
exit sub
Else
Trsf
End If
Suite:
End Sub


Est-ce que ça répond à ta question ?


Nicolas B.

Bonjour Nicolas,

Merci bien, sauf que ça ne fonctionne pas dans le workbook before_close.....

Excel demande quand même si on veut sauver les changements..... C'est ce que
je veux éviter.... Je voudrais que l'utilisateur puisse sortir de This
workbook before_close comme s'il n'y était pas entré.... Voici le code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Msg, Style, Title, Fichier As String
Fichier = "W:MFRP ResourcesInternal ResourcesPrinting
Database.xls"
If IsFileOpen(Fichier) Then
MsgBox "File Already in use" & Chr(13) & "Please Try Later"
End
Else
Trsf
End If
Suite:
End Sub

Donc, si le fichier est déjà ouvert, je veux que l'on sorte du Before_Close
sans quÈexcel me demande si je veux sauvegarder le fichier actif...

Saurais-tu comment?

Merci

Denys


Avatar
Denys
Bonjour Denis,

J'étais en train de t'expliquer ce que je souhaitais et je me suis aperçu
que ce que je veux n'a pas de sens....

Je transfère des données d'un fichier à un autre. Cependant, avant de
transférer, je vérifie si ce fichier est déjà ouvert. S'il l'est, un message
averti l'utilisateur que le fichier est ouvert et lui demande de recommencer
plus tard....Et donc de garder le fichier transférant ouvert.

Sauf que j'avais mis ces instructions dans le Workbook BeforeClose..... Ce
n'est pas logique puisque je veux garder le fichier ouvert si le destinataire
l'est....

Quelle solution serait la meilleure?

1) Mettre un bouton de commande afin que le trasfert se fasse de façon
manuelle par l'utilisateur...

2)Mettre le fichier qui reçoit les données en "Shared workbook" de façon à
ce qu'il soit déjà ouvert ne cause plus un problème ???

Note: le fichier qui reçoit les données n'es rien d'autre qu'une base de
données qui reçoit les infos de plusieurs applications

Qu'en pensez-vous?

Merci

Denys


Bonjour Denys,

Je ne comprends pas le sens de ta question. Quelles sont tes atentes ?


Salutations!





"Denys" a écrit dans le message de news:
Bonjour Nicolas,

Merci bien, sauf que ça ne fonctionne pas dans le workbook before_close.....

Excel demande quand même si on veut sauver les changements..... C'est ce que
je veux éviter.... Je voudrais que l'utilisateur puisse sortir de This
workbook before_close comme s'il n'y était pas entré.... Voici le code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Msg, Style, Title, Fichier As String
Fichier = "W:MFRP ResourcesInternal ResourcesPrinting
Database.xls"
If IsFileOpen(Fichier) Then
MsgBox "File Already in use" & Chr(13) & "Please Try Later"
End
Else
Trsf
End If
Suite:
End Sub

Donc, si le fichier est déjà ouvert, je veux que l'on sorte du Before_Close
sans quÈexcel me demande si je veux sauvegarder le fichier actif...

Saurais-tu comment?

Merci

Denys







Salut Denys,

End

Tu quittes alors toutes les procédures et réinitialises toutes les
variables.


A+
Nicolas B.

Bonjour à tous,

Existe-t-il une commande en VBA permettant de sortir de toutes les
instructions suivantes ?

Exit sub me permet de sortir d'une macro..... Mais de sortir de tout au
complet?

Genre Exit All ????

Merci

Denys










Avatar
Denys
Bonjour Nicolas !!

Merci beaucoup !!!! Voilà ce que je souhaitais.

Désolé, je ne m'étais pas bien exprimé la première fois.....

Bonne fin de journée

Denys


End permet de sortir des procédures, y compris des procédures
événementielles comme Workbook_BeforeClose, mais pas d'annuler ici la
fermeture du classeur.

Si c'est ce que tu veux faire, il faut définir la variable Cancel à
True en la combinant avec un Exit Sub (pas besoin de End, car il n'y a
qu'une procédure appelée) :


Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Msg, Style, Title, Fichier As String
Fichier = "W:MFRP ResourcesInternal ResourcesPrinting
Database.xls"
If IsFileOpen(Fichier) Then
MsgBox "File Already in use" & Chr(13) & "Please Try Later"
cancel = true
exit sub
Else
Trsf
End If
Suite:
End Sub


Est-ce que ça répond à ta question ?


Nicolas B.

Bonjour Nicolas,

Merci bien, sauf que ça ne fonctionne pas dans le workbook before_close.....

Excel demande quand même si on veut sauver les changements..... C'est ce que
je veux éviter.... Je voudrais que l'utilisateur puisse sortir de This
workbook before_close comme s'il n'y était pas entré.... Voici le code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Msg, Style, Title, Fichier As String
Fichier = "W:MFRP ResourcesInternal ResourcesPrinting
Database.xls"
If IsFileOpen(Fichier) Then
MsgBox "File Already in use" & Chr(13) & "Please Try Later"
End
Else
Trsf
End If
Suite:
End Sub

Donc, si le fichier est déjà ouvert, je veux que l'on sorte du Before_Close
sans quÈexcel me demande si je veux sauvegarder le fichier actif...

Saurais-tu comment?

Merci

Denys





Avatar
michdenis
Bonjour Denys,

| Quelle solution serait la meilleure?

Je ne connais pas suffisamment ton application et ton environnement pour cela.
De plus, chacun à ses préférences.


Salutations!



"Denys" a écrit dans le message de news:
Bonjour Denis,

J'étais en train de t'expliquer ce que je souhaitais et je me suis aperçu
que ce que je veux n'a pas de sens....

Je transfère des données d'un fichier à un autre. Cependant, avant de
transférer, je vérifie si ce fichier est déjà ouvert. S'il l'est, un message
averti l'utilisateur que le fichier est ouvert et lui demande de recommencer
plus tard....Et donc de garder le fichier transférant ouvert.

Sauf que j'avais mis ces instructions dans le Workbook BeforeClose..... Ce
n'est pas logique puisque je veux garder le fichier ouvert si le destinataire
l'est....

Quelle solution serait la meilleure?

1) Mettre un bouton de commande afin que le trasfert se fasse de façon
manuelle par l'utilisateur...

2)Mettre le fichier qui reçoit les données en "Shared workbook" de façon à
ce qu'il soit déjà ouvert ne cause plus un problème ???

Note: le fichier qui reçoit les données n'es rien d'autre qu'une base de
données qui reçoit les infos de plusieurs applications

Qu'en pensez-vous?

Merci

Denys


Bonjour Denys,

Je ne comprends pas le sens de ta question. Quelles sont tes atentes ?


Salutations!





"Denys" a écrit dans le message de news:
Bonjour Nicolas,

Merci bien, sauf que ça ne fonctionne pas dans le workbook before_close.....

Excel demande quand même si on veut sauver les changements..... C'est ce que
je veux éviter.... Je voudrais que l'utilisateur puisse sortir de This
workbook before_close comme s'il n'y était pas entré.... Voici le code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Msg, Style, Title, Fichier As String
Fichier = "W:MFRP ResourcesInternal ResourcesPrinting
Database.xls"
If IsFileOpen(Fichier) Then
MsgBox "File Already in use" & Chr(13) & "Please Try Later"
End
Else
Trsf
End If
Suite:
End Sub

Donc, si le fichier est déjà ouvert, je veux que l'on sorte du Before_Close
sans quÈexcel me demande si je veux sauvegarder le fichier actif...

Saurais-tu comment?

Merci

Denys







Salut Denys,

End

Tu quittes alors toutes les procédures et réinitialises toutes les
variables.


A+
Nicolas B.

Bonjour à tous,

Existe-t-il une commande en VBA permettant de sortir de toutes les
instructions suivantes ?

Exit sub me permet de sortir d'une macro..... Mais de sortir de tout au
complet?

Genre Exit All ????

Merci

Denys










Avatar
Yvan
Bonjour!

| Donc, si le fichier est déjà ouvert, je veux que l'on sorte du Before_Close
| sans quÈexcel me demande si je veux sauvegarder le fichier actif...
|
| Saurais-tu comment?
|
Dans le Workbook_BeforeClose, il faut forcer la propriété .Saved du classeur à Vrai

ThisWorkBook.Saved = True

Excel ne demandera plus si il faut enregistrer le classeur.

@+

Yvan