Bonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True à
droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
Daniel
Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True à
droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True à
droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True à
droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
Daniel
Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True à
droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True à
droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de contrôle
(puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble devoir
faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui simplement
annule le plein écran (dans ce cas là, Fichier/Fermer est accessible...) et
que l'utilisateur clique sur Annuler avant d'enregitrer le classeur, ce
dernier va rester en affichage "normal" jusqu'à la prochaine fermeture !
jpBonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True
à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de contrôle
(puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble devoir
faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui simplement
annule le plein écran (dans ce cas là, Fichier/Fermer est accessible...) et
que l'utilisateur clique sur Annuler avant d'enregitrer le classeur, ce
dernier va rester en affichage "normal" jusqu'à la prochaine fermeture !
jp
Bonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
Daniel
Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True
à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de contrôle
(puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble devoir
faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui simplement
annule le plein écran (dans ce cas là, Fichier/Fermer est accessible...) et
que l'utilisateur clique sur Annuler avant d'enregitrer le classeur, ce
dernier va rester en affichage "normal" jusqu'à la prochaine fermeture !
jpBonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True
à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Re,
En désespoir de cause je vais ajouter :
Private Sub Fermer_Click()
Application.CommandBars(1).Enabled = True
End Sub
... et Fermer/Enregistrer le classeur depuis la barre de menus.
Ce n'est pas ce que je voulais, mais ça marche.
jpBonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de
contrôle (puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble devoir
faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui
simplement annule le plein écran (dans ce cas là, Fichier/Fermer est
accessible...) et que l'utilisateur clique sur Annuler avant d'enregitrer
le classeur, ce dernier va rester en affichage "normal" jusqu'à la
prochaine fermeture !
jpBonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Re,
En désespoir de cause je vais ajouter :
Private Sub Fermer_Click()
Application.CommandBars(1).Enabled = True
End Sub
... et Fermer/Enregistrer le classeur depuis la barre de menus.
Ce n'est pas ce que je voulais, mais ça marche.
jp
Bonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de
contrôle (puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble devoir
faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui
simplement annule le plein écran (dans ce cas là, Fichier/Fermer est
accessible...) et que l'utilisateur clique sur Annuler avant d'enregitrer
le classeur, ce dernier va rester en affichage "normal" jusqu'à la
prochaine fermeture !
jp
Bonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
Daniel
Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Re,
En désespoir de cause je vais ajouter :
Private Sub Fermer_Click()
Application.CommandBars(1).Enabled = True
End Sub
... et Fermer/Enregistrer le classeur depuis la barre de menus.
Ce n'est pas ce que je voulais, mais ça marche.
jpBonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de
contrôle (puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble devoir
faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui
simplement annule le plein écran (dans ce cas là, Fichier/Fermer est
accessible...) et que l'utilisateur clique sur Annuler avant d'enregitrer
le classeur, ce dernier va rester en affichage "normal" jusqu'à la
prochaine fermeture !
jpBonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Re,
Pourquoi, lorsque je clique sur "Oui" à partir de ce nouvel essai :
'----
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Message As Byte
Message = MsgBox("Voulez-vous enregister les modifications ?", vbYesNo)
If Message = vbNo Then Cancel = True Else : ThisWorkbook.Save
End Sub
'----
... Excel me demande une 2nd fois si je veux sauvegarder ????
Il est sourd ???
Si je dis "Oui", "If Message = vbNo Then Cancel = True Else :
ThisWorkbook.Save" aboutit bien à "ThisWorkbook.Save" !?!? Non ???
jpRe,
En désespoir de cause je vais ajouter :
Private Sub Fermer_Click()
Application.CommandBars(1).Enabled = True
End Sub
... et Fermer/Enregistrer le classeur depuis la barre de menus.
Ce n'est pas ce que je voulais, mais ça marche.
jpBonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de
contrôle (puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble devoir
faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui
simplement annule le plein écran (dans ce cas là, Fichier/Fermer est
accessible...) et que l'utilisateur clique sur Annuler avant d'enregitrer
le classeur, ce dernier va rester en affichage "normal" jusqu'à la
prochaine fermeture !
jpBonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !",
_
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Re,
Pourquoi, lorsque je clique sur "Oui" à partir de ce nouvel essai :
'----
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Message As Byte
Message = MsgBox("Voulez-vous enregister les modifications ?", vbYesNo)
If Message = vbNo Then Cancel = True Else : ThisWorkbook.Save
End Sub
'----
... Excel me demande une 2nd fois si je veux sauvegarder ????
Il est sourd ???
Si je dis "Oui", "If Message = vbNo Then Cancel = True Else :
ThisWorkbook.Save" aboutit bien à "ThisWorkbook.Save" !?!? Non ???
jp
Re,
En désespoir de cause je vais ajouter :
Private Sub Fermer_Click()
Application.CommandBars(1).Enabled = True
End Sub
... et Fermer/Enregistrer le classeur depuis la barre de menus.
Ce n'est pas ce que je voulais, mais ça marche.
jp
Bonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de
contrôle (puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble devoir
faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui
simplement annule le plein écran (dans ce cas là, Fichier/Fermer est
accessible...) et que l'utilisateur clique sur Annuler avant d'enregitrer
le classeur, ce dernier va rester en affichage "normal" jusqu'à la
prochaine fermeture !
jp
Bonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
Daniel
Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !",
_
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Re,
Pourquoi, lorsque je clique sur "Oui" à partir de ce nouvel essai :
'----
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Message As Byte
Message = MsgBox("Voulez-vous enregister les modifications ?", vbYesNo)
If Message = vbNo Then Cancel = True Else : ThisWorkbook.Save
End Sub
'----
... Excel me demande une 2nd fois si je veux sauvegarder ????
Il est sourd ???
Si je dis "Oui", "If Message = vbNo Then Cancel = True Else :
ThisWorkbook.Save" aboutit bien à "ThisWorkbook.Save" !?!? Non ???
jpRe,
En désespoir de cause je vais ajouter :
Private Sub Fermer_Click()
Application.CommandBars(1).Enabled = True
End Sub
... et Fermer/Enregistrer le classeur depuis la barre de menus.
Ce n'est pas ce que je voulais, mais ça marche.
jpBonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de
contrôle (puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble devoir
faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui
simplement annule le plein écran (dans ce cas là, Fichier/Fermer est
accessible...) et que l'utilisateur clique sur Annuler avant d'enregitrer
le classeur, ce dernier va rester en affichage "normal" jusqu'à la
prochaine fermeture !
jpBonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !",
_
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
effectivement il semblerait qu'il ne puisse plus faire de copie après la
macro beforeclose.
Pourquoi ne met tu pas directement la sauvegarde dans la macro du bouton
Private Sub CommandButton1_Click()
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
.Close
End With
End Sub
Xavier
j-pascal a écrit :Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True à
droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
effectivement il semblerait qu'il ne puisse plus faire de copie après la
macro beforeclose.
Pourquoi ne met tu pas directement la sauvegarde dans la macro du bouton
Private Sub CommandButton1_Click()
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
.Close
End With
End Sub
Xavier
j-pascal a écrit :
Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True à
droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
effectivement il semblerait qu'il ne puisse plus faire de copie après la
macro beforeclose.
Pourquoi ne met tu pas directement la sauvegarde dans la macro du bouton
Private Sub CommandButton1_Click()
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
.Close
End With
End Sub
Xavier
j-pascal a écrit :Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie datée)
dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il ne
fonctionne pas quand on le ferme avec un Bouton de la boîte à outils de
contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la ligne
:
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec ou
sans actualisation ... avec des DoEvents et des Application.Enable = True à
droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonjour.
Pour éviter les malentendus, peux-tu poster ton classeur avec uniquement les
macros impliquées sur www.cjoint.com ? Supprime les données et les feuilles
inutiles.
DanielRe,
Pourquoi, lorsque je clique sur "Oui" à partir de ce nouvel essai :
'----
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Message As Byte
Message = MsgBox("Voulez-vous enregister les modifications ?", vbYesNo)
If Message = vbNo Then Cancel = True Else : ThisWorkbook.Save
End Sub
'----
... Excel me demande une 2nd fois si je veux sauvegarder ????
Il est sourd ???
Si je dis "Oui", "If Message = vbNo Then Cancel = True Else :
ThisWorkbook.Save" aboutit bien à "ThisWorkbook.Save" !?!? Non ???
jpRe,
En désespoir de cause je vais ajouter :
Private Sub Fermer_Click()
Application.CommandBars(1).Enabled = True
End Sub
... et Fermer/Enregistrer le classeur depuis la barre de menus.
Ce n'est pas ce que je voulais, mais ça marche.
jpBonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de
contrôle (puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble
devoir faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui
simplement annule le plein écran (dans ce cas là, Fichier/Fermer est
accessible...) et que l'utilisateur clique sur Annuler avant d'enregitrer
le classeur, ce dernier va rester en affichage "normal" jusqu'à la
prochaine fermeture !
jpBonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !",
_
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie
datée) dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il
ne fonctionne pas quand on le ferme avec un Bouton de la boîte à outils
de contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonjour.
Pour éviter les malentendus, peux-tu poster ton classeur avec uniquement les
macros impliquées sur www.cjoint.com ? Supprime les données et les feuilles
inutiles.
Daniel
Re,
Pourquoi, lorsque je clique sur "Oui" à partir de ce nouvel essai :
'----
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Message As Byte
Message = MsgBox("Voulez-vous enregister les modifications ?", vbYesNo)
If Message = vbNo Then Cancel = True Else : ThisWorkbook.Save
End Sub
'----
... Excel me demande une 2nd fois si je veux sauvegarder ????
Il est sourd ???
Si je dis "Oui", "If Message = vbNo Then Cancel = True Else :
ThisWorkbook.Save" aboutit bien à "ThisWorkbook.Save" !?!? Non ???
jp
Re,
En désespoir de cause je vais ajouter :
Private Sub Fermer_Click()
Application.CommandBars(1).Enabled = True
End Sub
... et Fermer/Enregistrer le classeur depuis la barre de menus.
Ce n'est pas ce que je voulais, mais ça marche.
jp
Bonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de
contrôle (puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble
devoir faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui
simplement annule le plein écran (dans ce cas là, Fichier/Fermer est
accessible...) et que l'utilisateur clique sur Annuler avant d'enregitrer
le classeur, ce dernier va rester en affichage "normal" jusqu'à la
prochaine fermeture !
jp
Bonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
Daniel
Bonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !",
_
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie
datée) dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il
ne fonctionne pas quand on le ferme avec un Bouton de la boîte à outils
de contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP
Bonjour.
Pour éviter les malentendus, peux-tu poster ton classeur avec uniquement les
macros impliquées sur www.cjoint.com ? Supprime les données et les feuilles
inutiles.
DanielRe,
Pourquoi, lorsque je clique sur "Oui" à partir de ce nouvel essai :
'----
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Message As Byte
Message = MsgBox("Voulez-vous enregister les modifications ?", vbYesNo)
If Message = vbNo Then Cancel = True Else : ThisWorkbook.Save
End Sub
'----
... Excel me demande une 2nd fois si je veux sauvegarder ????
Il est sourd ???
Si je dis "Oui", "If Message = vbNo Then Cancel = True Else :
ThisWorkbook.Save" aboutit bien à "ThisWorkbook.Save" !?!? Non ???
jpRe,
En désespoir de cause je vais ajouter :
Private Sub Fermer_Click()
Application.CommandBars(1).Enabled = True
End Sub
... et Fermer/Enregistrer le classeur depuis la barre de menus.
Ce n'est pas ce que je voulais, mais ça marche.
jpBonjour Daniel,
Exactement ce qui est dans mon dernier post (cf. ci dessous) :
A l'ouverture, les feuilles passent en mode plein écran (je conserve
uniquement les onglets).
Pour fermer le classeur, j'ai prévu un bouton de la boite outils de
contrôle (puisque l'utilisateur n'a plus recours à Fichier/Fermer ...
Private Sub Fermer_Click()
ThisWorkbook.Close 'savechanges:úlse
End Sub
Quand on clique sur le bouton, on passe bien par :
Workbook_BeforeClose
puis
Workbook_BeforeSave
... mais le code de Workbook_BeforeSave ne fait pas ce qu'il semble
devoir faire :
'---
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
End With
'---
Le problème, c'est que si j'affecte à ce bouton une procédure qui
simplement annule le plein écran (dans ce cas là, Fichier/Fermer est
accessible...) et que l'utilisateur clique sur Annuler avant d'enregitrer
le classeur, ce dernier va rester en affichage "normal" jusqu'à la
prochaine fermeture !
jpBonsoir.
J'ai regardé de loin test derniers posts. Dis-nous plutôt ce que tu veux
faire, c'est plus facile de nous expliquer ce qui bugue.
Cordialement.
DanielBonsoir,
Je tourne en rond et c'est peu de le dire !!
Code :
'----
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
MsgBox "Désolé, l'option Enregistrer sous... est impossible !",
_
vbExclamation, " Veuillez utiliser fichier / fermer "
Cancel = True
Else
With ThisWorkbook
ChDrive "C"
ChDir .Path
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " &
.Name
End With
End If
End Sub
'----
Question :
Pourquoi ce code fonctionne-t-il parfaitement (sauvegarde + copie
datée) dès lors qu'on ferme le classeur par "Fichier/Fermer", et qu'il
ne fonctionne pas quand on le ferme avec un Bouton de la boîte à outils
de contrôle ????????????
J'ai mis des "Stop" partout ; la procédure se déroule strictement de la
même façon dans les deux cas !!
Quand on ferme le classeur avec le bouton, le code passe bien par la
ligne :
'---
.SaveCopyAs Format(Now, "yyyymmdd-hh""h""nn") & " " & .Name
'---
et pourtant, la copie ne se fait pas !!
J'ai même fait une recherche sur tout le poste de travail au cas où la
sauvegarde se serait mise là où je ne l'attendais pas ... RIEN !!! Avec
ou sans actualisation ... avec des DoEvents et des Application.Enable =
True à droite, à gauche...
(Evidemment la procédure passe dans les deux cas par le
WorkBook.BeforeClose ...).
Je ne sais plus quoi faire ;-(
Help, please !!!
JP