> 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
  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
Petit 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
  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
Petit astucien

Comme Artefact0 je suis largué avec "thisworkbook"

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

Merci bien

Publicité
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
  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.

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

Bonjour,

Sinon si tu as dans une formule la fonction AUJOURDHUI() ou une erreur de type #REF ça provoque le phénomène

Cordialement,
D.

Publicité
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
Petit 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
Petit 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'

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

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.



Modifié par Debrief le 07/10/2016 12:48
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
Petit 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 poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
59,99 €Souris Logitech MX Master 2S à 59,99 €
Valable jusqu'au 27 Février

Amazon fait une promotion sur la souris sans fil Logitech MX Master 2S qui passe à 59,99 € livrée gratuitement alors qu'on la trouve ailleurs autour de 85 €. Cette évolution de la MX Master est équipée de la technologie Logitech Flow. Cette dernière, révolutionnaire, vous permet de déplacer le curseur de votre souris d'un ordinateur à un autre (jusqu'à 3 ordinateurs), d'effectuer des copier/coller de textes, d'une images ou encore de fichiers d'une machine à une autre. Vous allez ainsi pouvoir transférer vos contenus entre 3 ordinateurs différents sans la moindre difficulté. 


> Voir l'offre
13,88 €Carte mémoire microSDXC UHS-I U3 SanDisk Extreme 64 Go (jusqu'à 160 Mo/s) à 13,88 €
Valable jusqu'au 03 Mars

Amazon fait une promotion sur la carte mémoire microSDXC UHS-I U3 SanDisk Extreme 64 Go qui passe à 13,88 €. Cette carte mémoire offre des vitesses jusqu'à 160 Mo/s et est idéale pour les téléphones, caméras et appareils photo HD. Elle est compatible GoPro, Switch et est accompagnée d'un adaptateur SD.


> Voir l'offre
GratuitJeu PC Faeria gratuit
Valable jusqu'au 27 Février

Epic Game Store offre actuellement le jeu PC Faeria. Faeria est un jeu de cartes. Construisez des decks incroyables et façonnez le champ de bataille dans des combats épiques. Élevez des montagnes, bâtissez des forêts, remplissez des lacs, ou maîtrisez le sable du désert. Tracez votre propre chemin vers la victoire.


> 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