> Tous les forums > Forum Bureautique
 Excel 2016 me demande d'enregistrer même sans modificationsSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Artefact0
  Posté le 06/10/2016 @ 06:45 
Aller en bas de la page 
Astucien

Bonjour à tous,

Comme indiqué dans le titre, je cherche pourquoi certains fichiers Excel, lorsque je les ouvre et referme aussitôt (c à d, sans y apporter aucune modification), me demandent si je veux enregistrer ou pas, alors que d'autres ne le demandent pas!

Donc, quelle serait l'option à activer/désactiver?

J'espère avoir été assez clair dans mes explications et pour la plupart d'entre vous, cette question devrait trouver réponse facilement.

Merci d'avance.

Publicité
poussebois
 Posté le 06/10/2016 à 08:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Bonjour ,

Sous réserve, car je suis loin d'en être sûr.

J'ai le même phénomène. Cela se produit avec des fichiers contenant des macros, créés avec des versions d'Excel antérieures à 2007.

Comme cela ne me gène pas, je n'ai jamais pris le temps de rechercher pourquoi afin de corriger ... probablement une question de compatibilité.

@ +

Artefact0
 Posté le 06/10/2016 à 09:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

poussebois,

Dans mon cas, tous ces fichiers ont été créés avec Excel 2007, voire 2010.

Ce serait donc l'explication. Et comme toi, ce n'est guère important, c'était juste pour savoir et éventuellement y remédier d'une simple case à cocher ou décocher.

Merci de ta réponse.

Bonne journée.

erbo01
 Posté le 06/10/2016 à 09:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

J'ai le même phénomène avec Excel 2010 et également un Excel 2013 les deux sur W7.

Mais je n'utilise pas de macros.

Pas plus gênant que cela mais je m'éviterais volontiers ce clic supplémentaire.

Artefact0
 Posté le 06/10/2016 à 10:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

erbo01 a écrit :

Bonjour,

J'ai le même phénomène avec Excel 2010 et également un Excel 2013 les deux sur W7.

Mais je n'utilise pas de macros.

Pas plus gênant que cela mais je m'éviterais volontiers ce clic supplémentaire.

Bonjour erbo01,

Quand tu dis le même problème, veux-tu dire que comme moi, ce phénomène se produit sur certains fichiers seulement?

Comme pour toi, pas très (trop) gênant, mais je m'en passerais volontiers!

ferrand
 Posté le 06/10/2016 à 13:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

C'est que quelque chose a été modifié dès l'ouverture du fichier... Cela peut provenir de macro ou de formules...

Si cela gêne, tu peux éventuellement l'éviter avec une procédure dans le module ThisWorkbook :

Private Sub Workbook_Open()
Me.Saved = True
End Sub

C'est le passage de ce paramètre à False dès l'ouverture qui provoque la demande d'enregistrement même si tu n'as touché à rien...

Cordialement.

poussebois
 Posté le 06/10/2016 à 13:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

,

Merci Ferrand .

Cela ne me gênait pas outre mesure et je m'en accommodais sans y penser.

Mais puisque tu apportes la solution, je l'ai intégrée et ça marche, bien évidemment.

Artefact0
 Posté le 06/10/2016 à 15:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour Ferrand,

Là, on monte d'un cran eu égard à mes connaissances et je ne sais pas comment et où trouver le module ThisWorkbook.

Une recherche sur le net, m'a donné Alt + F11, mais ça s'arrête là.

C'est juste pour apprendre.

Merci d'avance.

erbo01
 Posté le 06/10/2016 à 16:25 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Comme Artefact0 je suis largué avec "thisworkbook"

si vous pouviez nous donner la marche précise à suivre...

Merci bien

poussebois
 Posté le 06/10/2016 à 17:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

,

Je suis sous Excel 2007, donc peut-être à adapter selon les versions.

Aller dans l'onglet "Développeur".

Dans la partie "Code" (à gauche chez moi), cliquer sur "Visual Basic".

Une fenêtre s'ouvre. Double cliquer sur Thisworkbook.

Insérer à droite la procédure fournie par ferrand. Fermer le tout. C'est fait !

Artefact0
 Posté le 06/10/2016 à 17:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Purée, ça fait une heure que je cherche cet onglet "Développeur", sans succès!!

Bien évidemment, j'ai aussi essayé de le trouver en ouvrant les autres onglets un par un, mais pas mieux!!

ferrand
 Posté le 06/10/2016 à 17:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut Poussebois !

Je me dis toujours que je devrais le faire sur quelques fichiers qu'il m'arrive d'ouvrir fréquemment pour consultation visuelle avant de refermer... Bon...!

Artefact0, erbo01 :

Quand vous faîtes Alt+F11, vous ouvrez l'éditeur VBA.

Une fois dans l'éditeur (dont vous n'avez certainement pas encore eu loisir de modifier l'apparence), vous verrez un volet d'exploration à gauche. Il ne devrait y avoir que cela car c'est le seul qui est affiché par défaut à l'origine.

Si toutefois il n'y avait pas ce volet : menu Affichage, clic sur Explorateur de projets.

Ce volet affiche en haut : VBAProject suivi entre parenthèses du nom du classeur. Il y en aura plusieurs si plusieurs classeurs sont ouverts. Si l'arborescence n'est pas visible, cliquer sur les + à gauche pour tout déplier (de la même façon que dans l'Explorateur).

Si le classeur ne contient pas de macros ou autres éléments ajoutés, VBAProject ne contiendra qu'un seul dossier : Microsoft Excel Objets, lequel contiendra les objets afférents au classeur ouvert.

On verra donc apparaître un objet par feuille du classeur et en queue de liste un objet nommé ThisWorkbook.

Ces objets sont des Modules, c'est dire des feuilles se présentant comme une page blanche, destinées à accueillir du texte correspondant à des commandes qui pourront être exécutées, texte appelé code, organisé en procédures (autrement appelées macros).

Il peut y avoir d'autres objets si l'on a créé un formulaire utilisateur (Userform) ou si l'on a des macros ordinaires dans ce classeur. A la suite des objets Excel on pourra donc avoir un dossier Feuilles (contenant les Userforms) et un dossier Modules (pour les modules Standard) [voire éventuellement un dossier Modules de classe, si l'on a procédé à des créations de classes d'objets personnalisés... mais nous n'en sommes pas encore là !!!)

Lorsqu'on crée une macro, qu'on lancera dans des conditions habituelles avec un bouton, un raccourci, la boîte macros, etc., on la place normalement dans un Module standard (Insertion > Module pour en insérer un). Les modules que l'on voit en ouvrant l'éditeur VBA dans un classeur qui ne contient pas de macros ou autres, sont bien des modules mais des modules de classes particuliers, en ce sens qu'ils sont prédéfinis, déjà attachés à un objet existant dans le classeur (il sont prêt à l'emploi sans qu'on ait besoin d'une initialisation quelconque pour les faire fonctionner).

Un double-clic sur ThisWorkbook va ouvrir le module attaché au classeur. Ce module sert principalement à programmer ce que l'on nomme des procédures évènementielles (macros qui se déclencheront automatiquement lorsque survient un évènement programmable affectant le classeur). De la même façon les modules des feuilles accueilleront des procédures d'évènements survenant sur la feuille correspondante.

Le module ThisWorkbook ouvert, on note qu'il s'agit d'une page blanche, surmontée de deux listes déroulantes : à gauche apparaît (Général) et à droite (Déclarations).

Déroulons la liste de gauche : sous (Général), on voit qu'il y a aussi : Workbook. Un clic sur Workbook et dans la feuille s'inscrit une déclaration de procédure : Private Sub Workbook_Open suivie d'une ligne blanche suivie de End Sub. Il s'agit de la procédure d'évènement par défaut d'un classeur, et la liste déroulante de gauche affiche maintenant Open, procédure dont on a activé la déclaration. Si on déroule cette liste, on verra la liste de tous les évènements programmables du classeur, un clic dans cette liste se traduira par l'inscription de la déclaration de procédure correspondante, de la même façon que pour Open. Si on clique sur un évènement déjà déclaré, il n'y aura pas de 2e inscription (il ne peut y qu'une procédure par évènement) mais le curseur ira se positionner sur la déclaration.

Revenons à Open : entre les deux instructions composant la déclaration : Private Sub... et End Sub, on va pouvoir mettre le code que l'on exécuter automatiquement à chaque ouverture du classeur. Au cas particulier, la ligne de commande indiquée...

Si on colle la macro globalement dans ce module, cela fonctionnera de la même façon (si pas d'erreur de copie), mais ci-dessus la méthode régulière pour insérer une macro évènementielle. Il est toujours préférable de laisser VBA inscrire les déclarations, cela peut éviter bien des erreurs.

Cordialement.

Artefact0
 Posté le 06/10/2016 à 17:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bon, j'ai trouvé "Développeur" en fouillant dans les options. Ça n'était pas coché.

Et maintenant, il est bien là!

Je vais aussi regarder la longue réponse de ferrand, mais pour tout ça il va me falloir un peu de temps, alors ne vous étonnez pas si je ne réponds pas ce soir!

Merci encore de votre aide.

Artefact0
 Posté le 06/10/2016 à 18:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bon, j'ai réussi à atteindre le volet VBA Project et c'est tout.

Mais, à l'inverse de la capture de poussebois, je ne peux développer et par conséquent, nulle part, je ne vois "ThisWorkbook".

Si je clique sur "VBAProject" (à tout hasard ), une petite fenêtre s'ouvre, disant : "Projet verrouillé. Le projet ne peut être affiché".

Voilà, c'est tout pour l'instant, je dois m'absenter un moment.

A + tard.

ferrand
 Posté le 07/10/2016 à 00:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

A qui appartient le fichier donc ? Si verrouillé, quelqu'un l'a verrouillé !

Artefact0
 Posté le 07/10/2016 à 05:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Le fichier m'appartient (c'est quelque chose de très basique qui me sert à gérer les dépenses d'une personne âgée), c'est moi qui l'ai créé et personne d'autre n'y touche ou n'y a touché!

Par contre, on peut lire qu'il est "partagé" ce fichier. Ne me demande pas pourquoi!!

Cela m'a interpellé et du coup, je suis allé dans l’onglet "Révision" et j'ai décoché la case "Permettre une modification..."

Puis, vérification et bingo, le fichier se ferme maintenant sans la demande d'enregistrement.

Dans mon cas, plus besoin de me gaver de Doliprane à cause des VBA, macros ou autres ThisWorkbook!

Dossier réglé! Je marque comme "résolu" et je vous dis merci à tous.

Une fois de plus, PCA m'a tiré d'affaire, même si dans ce cas précis il n'y avait pas mort d'homme.

Bonne fin de semaine.

erbo01
 Posté le 07/10/2016 à 10:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour

j'ouvre mon ordi à l'instant et je vois vos réponses.

Merci beaucoup d'avoir pris le temps pour ces tutos.

J'étudie tout cela et m'en vais essayer.

erbo01
 Posté le 07/10/2016 à 10:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Ok j'ai ouvert un classeur, n'importe lequel, et trouvé :

Private Sub Workbook_Open()

End Sub

dans "Général" -> Workbook

Si j'a bien compris je mets "Me.Saved = True" entre les deux lignes?

Question : cela va-t-il s'appliquer à tout les classeurs passés et à venir ou seulement au classeur modifié (ce qui ne servirait pas )

P.S. Formidables tes explications Ferrand encore merci.

Lien vers une image externe

Modifié par erbo01 le 07/10/2016 10:35
Artefact0
 Posté le 07/10/2016 à 12:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Debrief,

Je ne sais pas si c'est à moi ou à erbo01, que tu t'adresses, mais si c'est à moi, je ne pige pas ce que tu veux dire. Désolé.

Sinon juste pour info, depuis que j'ai décoché la case "Permettre..." dont je parle plus haut, j'ai accès à ThisWorkbook.

Bon app'

ferrand
 Posté le 07/10/2016 à 14:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour à tous,

erbo01: cette méthode ne s'applique qu'au classeur dans lequel tu mets cette macro, très légère et vite collée.

Mais nul besoin que cela s'applique systématiquement, ce phénomène ne survient qu'avec un nombre relativement limité de classeurs (il faut des conditions !) et cela n'est vraiment gênant que si tu es amené à ouvrir et fermer sans intervention de façon fréquente...

Cordialement.

erbo01
 Posté le 07/10/2016 à 16:11 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Merci Ferrand

En fait je dois fréquemment consulter certains documents (au travail) afin de savoir ce qui à été déjà fait

et chaque fois : "voulez -vous enregistrer"... clic...

mais comme déjà dit c'est pas plus grave que ça,

ton intervention et celle des autres intervenant nous aurons, avec Artefact0 je pense, appris quelques rudiments supplémentaires.

Bonne soirée à tous

Artefact0
 Posté le 07/10/2016 à 16:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Debrief a écrit :

Cher Artefact0,

Oui c'est bien à toi que je m'adressais en lisant ta question initiale.

je cherche pourquoi certains fichiers Excel, lorsque je les ouvre et referme aussitôt (c à d, sans y apporter aucune modification), me demandent si je veux enregistrer ou pas, alors que d'autres ne le demandent pas!

Une hypothèse: un classeur dans lequel une feuille utilise la fonction AUJOURDHUI() ou a une erreur #REF (ça je suis moins sûr mais ça m'est arrivé) demandera toujours à être enregistré même s'il n'y a eu aucune modification dans le classeur.

Cordialement,
D.

Très bien, c'est bon à savoir.

Merci.

Artefact0
 Posté le 07/10/2016 à 16:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

erbo01 a écrit :

Merci Ferrand

En fait je dois fréquemment consulter certains documents (au travail) afin de savoir ce qui à été déjà fait

et chaque fois : "voulez -vous enregistrer"... clic...

mais comme déjà dit c'est pas plus grave que ça,

ton intervention et celle des autres intervenant nous aurons, avec Artefact0 je pense, appris quelques rudiments supplémentaires.

Bonne soirée à tous

Je ne peux qu'approuver!

Publicité
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
654,90 €Carte graphique Zotac Gaming GeForce RTX 3070 Twin Edge LHR - 8 Go à 654,90 €
Valable jusqu'au 28 Juin

RueDuCommerce fait une belle promotion sur la carte graphique Zotac Gaming GeForce RTX 3070 Twin Edge LHR qui passe à 654,90 €. On la trouvait encore à 999 € il y a quelques mois.


> Voir l'offre
269,99 €Portable 15.6 pouces Lenovo IdeaPad 3 (Celeron, 4Go, SSD 128Go) + Office 365 à 269,99 €
Valable jusqu'au 28 Juin

Cdsicount fait une promotion sur le PC portable 15.6 pouces Lenovo IdeaPad 3 15IGL05 qui passe à 269,99 € alors qu'on le trouve ailleurs à partir de 349 €. Ce portable possède un écran 15.6 pouces HD (1366x768) antireflet, un processeur Intel Celeron N4020, 4 Go de RAM et un SSD de 128 Go. Le WiFi, le bluetooth et l'USB 3.2 sont de la partie. Le tout tourne sous Windows 10S que vous pouvez gratuitement passer à Windows 10 Famille (puis Windows 11). Un abonnement d'un an à Microsoft Office 365 est également inclus. Une bonne affaire pour un PC adapté à la bureautique, à Internet et que vous pourrez emmener partout avec vous.


> Voir l'offre
19,99 €Ventilateur sur pied Oceanic (40 cm, 45W, oscillant, 3 puissances, hauteur réglable) à 19,99 €
Valable jusqu'au 28 Juin

Cdisount fait une promotion sur le ventilateur sur pied Oceanic (40 cm, 45W, oscillant, 3 puissances, hauteur réglable) à 19,99 € au lieu de 35 €. 


> Voir l'offre

Sujets relatifs
Enregistrer les modifications Excel 2013
excel 2016 format date
excel 2016 macro
EXCEL 2016: mise en forme conditionnelle
Outlook 2016 : on me demande de me connecter...
Excel 2016 n'ouvre pas les fichiers mais juste le logiciel
Fonction sous Excel 2016
EXCEL 2016 gratuit?
Enregistrer 5 pages sur une même feuille A4, pdf
Excel 2007 Copier/Coller d’une feuille à l’autre Dans un même classeur.
Plus de sujets relatifs à Excel 2016 me demande d''enregistrer même sans modifications
 > Tous les forums > Forum Bureautique