Erreur d'exécution '1004' sur fermeture d'un fichier sauvegardé

j espère ne pas avoir d ennuis avec l'administrateur du réseau...

quand pensez vous ?

Bah le souci c'est que l'option choisie concerne excel et tous les fichiers contenant des macro. Elle n'est donc pas dédiée à votre fichier spécifique. Donc si vous ouvrez des fichiers avec des macros cela pourrait faire buguer excel voire le rendre inaccessible.
Par exemple si une macro s'exécute à l'ouverture du fichier qui modifie les menus ou qui vous envoie un virus. Mais bon no panic !

Sinon l'option "Paramètres des macros" était positionnée où avant ?
De mon coté elle est sur "désactiver toutes les macros avec notification".

Dans votre premier message, vous parlez d'erreur 1004. Mais en cliquant sur "debogage" cela s'arrêtait sur quelle ligne de code ?

Bonjour Dan,

Je ne suis plus sur mon lieu de travail je pourrai vous dire cela vers +18h aujourd'hui. sinon je crois que c'est toujours cette ligne

2022 02 24 13 07 26

et chez moi PC maison c'est cette même erreur

Cordialement

Non je parle de votre premier message. ici --> https://forum.excel-pratique.com/s/goto/1044033

Re,

Je ne comprends plus rien, je viens de refaire des test avec le premier code du message "https://forum.excel-pratique.com/s/goto/1044033"

et plus erreur !!!

2022 02 27 12 25 12

j'ai aussi remis comme à l'origine

incroyable

bon je vais tester ce soir sur poste de travail pour voir je vous tiens au courant

sinon j'ai une petite question sur un fichier batch

j'ai créer un petit fichier .bat qui ouvre ce que j'ai besoin pour la journée en autres des fichiers excel.

J'aurai voulu savoir comment ne pas ouvrir un fichier excel daté d'aujourd'hui à ne pas s'ouvrir.

Je ne comprends plus rien, je viens de refaire des test avec le premier code du message et plus d'erreur

Ah ok. Ben tant mieux. Peut être qu'excel a enregistré quelque chose lié au fichier.
Sinon le choix 2 me semble bien car il vous permet d'accepter l'utilisation des macros moyennant le click sur un bouton situté en dessous de la barre de formule

Sinon quelques liens intéressants sur l'activation ou désactivation des macros :

https://support.microsoft.com/fr-fr/office/macros-dans-les-office-fichiers-12b036fd-d140-4e74-b45e-1...
https://belowzerofatfreezingclinic.com/fr/comment-activer-et-d%C3%A9sactiver-les-macros-dans-votre-e...
https://answers.microsoft.com/fr-fr/msoffice/forum/all/desactivation-macros/a36bb5e1-0f9b-40e7-962b-...

Pour le fichier .bat, je ne sais pas trop. Mais juste une idée, créer une macro OPEN dans thisworkbook du fichier à ouvrir et qui fait le contrôle.
Je suppose que le contrôle doit se faire sur le nom du fichier ?

Oui pour les .bat. il doit contrôler si les fichiers archives ( nom du fichier avec la date du jour) existent et si ils existent, il ne doit pas ouvrir le fichier d'origine ( nom du fichier sans la date d'archive) et bien sûr ouvrir le fichier d'origine si le fichier d'archive n'existe pas.

je vais tester encore aujourd'hui sur mon poste de travail pour voir si tout fonctionne si je remets d'origine les options d excel. Avec le classeur 2 que tu as créé.

Je vous dis cela tout à l'heure.

Bonsoir Dan,

Voilà pour le premier fichier en .xls pas de problème avec le code du premier message

Pour un deuxième fichier en .xlsm une information avant envoi

img 20220227 185448

attention, certaines parties de votre document peuvent inclure des informations personnelles qui ne peuvent pas être supprimées par l'inspecteur de documents.

voila

Cela ne concerne pas le code.

C'est dû aux informations personnelles que vous avez supprimées dans les propriétés trouvées dans Fichier -->. Informations

Donc je me retrouve toujours avec le problème de l'ouverture du fichier archivé qui prend en compte le code et qui crée une nouvelle archive ...

je vais essayer avec le classeur 2 que tu m'a envoyé...

je te tiens au courant pour l'instant pose

Voilà de retour

img 20220227 210745 img 20220227 210642

donc j'ai utilisé le classeur 2 que tu m'as envoyé Dan j'ai simplement changer les chemins

et créé un dossier archives (test).

img 20220227 211421

donc dossier archives vide et erreur

Désolé d'envoyer des photos comme tu le sais je suis sur mon lieu de travail...

donc j'ai utilisé le classeur 2 que tu m'as envoyé Dan j'ai simplement changer les chemins et créé un dossier archives (test).

Dans votre variable Chemin, il manque un anti slash ( \) derrière TEST. Du coup c'est normal que le code s'arrête sur cette ligne

Bonjour Dan j'espère que tu as passé un trés bon weekend.

Voilà le retour à la maison. donc je suis sur les testes avec classeur 2 celui que tu as crée.

alors il crée une archive dans le chemin du dossier défini,

j'ai simplement ajouter heure et minute

et toujours cette erreur 1004

classeur 2
11classeur2.xlsm (15.13 Ko)

Je ne comprends pas ce que vous faites là

- Nomdossier : soit vous laissez Thisworkbook.path & "\" soit "C\:users......" mais pas les deux !
- Activeworkbook.saveas -> vous remettez "C\:users...." La variable Nomdossier ne sert à rien dans ce cas.
- Dans la ligne jaune, ce n'est pas workbook mais Thisworkbook

Je vous avais donné le code ici --> https://forum.excel-pratique.com/s/goto/1044328

Bonjour, voilà pourquoi j'ai mis directement le nom de chemin

classeur1

Non ce n'est pas correct. relisez mon message précédent au sujet de Nomdossier

Voilà je pense avoir corrigé,

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Procédure permettant de réaliser un fichier de sauvegarde à la fermeture
'Déclaration des variables
Dim NomFichier As String
'Affectation des variables
NomDossier = ThisWorkbook.Path & "\"
'Désactiver les messages d'alertes
Application.DisplayAlerts = True
'Création du nom du fichier de sauvegarde (Date + Nom)
NomFichier = Format(Now, "yyyy-mm-dd hh\hmm") & "_" & "Classeur.xlsm"
'Sauvegarde du fichier backup
ActiveWorkbook.SaveAs NomDossier & NomFichier
With ActiveWorkbook
        With .VBProject.VBComponents("ThisWorkbook").CodeModule
            .DeleteLines 1, .CountOfLines
        End With
        .Close SaveChanges:=True
End With

'On affiche le message de confirmation
Application.DisplayAlerts = False

MsgBox "Votre fichier de sauvegarde intitul_ : " & NomFichier & vbNewLine & _
"est dans le dossier suivant : " & NomDossier, vbOKOnly + vbInformation, "CONFIRMATION"

End Sub

toujours une erreur sur cette ligne

With .VBProject.VBComponents("ThisWorkbook").CodeModule

Ce n'est pas tout à fait ce que j'avais proposé mais c'est bon comme cela

- Au niveau sécurité des macros vous êtes sur quelle option ?
- est-ce la case "Accès approuvé au modèle d'objet du projet VBA" est bien cochée ?

Aussi une remarque. l'instruction ci-dessous n'est d'aucune utilité dans votre code. Par défaut excel la considère toujours à TRUE.
Donc vous pouvez la supprimer au début et à la fin du code

Application.DisplayAlerts = True

Re Dan

Donc niveau des option des macros

désactiver toutes les macrons VBA sans notification "activer"

et accés approuvé au modèle d'objet du projet VBA " activer"

j'ai supprimer les deux lignes de code "Application.DisplayAlerts = True"

et tout fonctionne merci Dan de votre paticien

encore un petit détail le dossier mis en archive avec la date n'est pas mis dans un sous dossier, comment puis je faire?.

et autre chose, quand je quitte il sauvegarde (affiche le message comme quoi il sauvegarde), puis il ferme le dossier d'origine mais ne quitte pas Excel. comment puis je faire ?.

tout fonctionne merci Dan de votre paticien

Ok. Merci

1. encore un petit détail le dossier mis en archive avec la date n'est pas mis dans un sous dossier, comment puis je faire?.

Pas sûr d'avoir compris. Si oui, vous devez adapter le répertoire dans la variable Nomdossier. Dans votre dernier code posté, remplacez Thisworkbook.path & "\" par le répertoire souhaité. Vous aviez fait cela précédemment --> "C:\users\....."
Attention à bien mettre les guillemets avant et à la fin du répertoire choisi.

2. et autre chose, quand je quitte il sauvegarde (affiche le message comme quoi il sauvegarde), puis il ferme le dossier d'origine mais ne quitte pas Excel. comment puis je faire ?.

Si vous voulez quitter excel, mettez Application.quit avant le END SUB. Mais comme je vous ai signalé avant ce n'est pas une bonne idée car si vous avez d'autres fichiers ouverts, ils seront aussi fermés.

Cordialement

Ok

maintenant je vais continuer mes recherches sur le fichier batch à l'ouverture de la session pour eviter l'ouverture du fichier si il est déjà existant en archive.

MERCI Dan.

MERCI Jean Paul.

Rechercher des sujets similaires à "erreur execution 1004 fermeture fichier sauvegarde"