Délai fermeture automatique du classeur

Bonsoir,

Chez moi, l’onglet STATS n’est pas mis à jour après avoir cliqué sur le bouton Enregistrer ou Modifier. Il me semble que la ligne Run(« Actualiser_Stats ») ne démarre pas :

  • Le problème n’est-il pas dû au fait que l’onglet STATS est protégé par MDP ? Merci de le régler.

Merci pour l’enregistrement en Pdf. J’ai mis à jours l’onglet STATS pour mieux tester. Lorsque j’écris 1/3, j’enregistre les pages 1,2 et 3 ensemble. Si 1/1 --> page 1. Et 2/2 --> page 2. C’est super !

  • Mais est-il possible d’enregistrer 1/3/4 et d’obtenir les pages 1, 3, et 4 ensemble (saut des pages ou pages discontinues) ?

Merci de m’avoir fait remarquer que la macro précédemment envoyée enregistre mais n’imprime pas. A cet effet, pour la faire évoluer jusqu’à l’impression, peux-tu y ajouter ou la modifier ainsi (après demander le nom du document et les numéros de pages) :

  • une boîte de dialogue demande si imprimer le document ? Si oui, une imprimante active
    imprime le document ;

  • Si non, le document est tout simplement enregistrer en Pdf comme c’est le cas actuellement.

Merci pour le copier / coller de STATS sur Word. Au lieu de se limiter aux colonnes A à C, peux-tu :

  • étendre la zone de la colonne A à F (en accord avec la mise à jour actuelle de l’onglet STAT) ?

Ensuite, peux-tu améliorer la macro copier / coller ainsi :

  • avant de coller sur Word, la macro demande d’attribuer un nom au document, l’enregistre sur C:\Users\TOSHIBA\Documents, le document Word reste ouvert et la macro arrête de tourner (comme c’est le cas en ce moment) ?

Mettre les évolutions dans la version ci-jointe : id2 Apli_Stats.xlsm (118,2 Ko)

Encore merci pour tout,

Bonjour

« Chez moi, l’onglet STATS n’est pas mis à jour après avoir cliqué sur le bouton Enregistrer ou Modifier. Il me semble que la ligne Run(« Actualiser_Stats ») ne démarre pas : »

Si tu mets un point d’arrêt dans la macro « Actualiser_Stats » sur sa seule ligne de code :

ActiveWorkbook.RefreshAll

En activant le bouton « ENREGISTRER » ou « MODIFIER » le traitement stop sur ce point d’arrêt :

C’est la preuve que la macro dans le traitement des boutons est bien sollicité

« Mais est-il possible d’enregistrer 1/3/4 et d’obtenir les pages 1, 3, et 4 ensemble (saut des pages ou pages discontinues) ? »

Le code que tu m’as fourni gère la 1° page et la dernière à enregistrer en pdf
Il ne donne pas la possibilité de morceler
Il y a la solution de gérer autant de fichier pdf que de morceaux en rajoutant pour chacun à la fin du nom d’enregistrement souhaité un indice en correspondance avec le numéro de la page
Mais c’est un peux lourd car pour 3 pages sur 4 souhaitées 3 fichiers pdf enregistrés alors qu’un seul fichier comporterait les 4 pages avec quelles gènes pour un tel fichier ?

« une boîte de dialogue demande si imprimer le document ? Si oui, une imprimante active
imprime le document ; »

C’est pas simple à mettre en place surtout que les procédures trouvées sur internet s’adresse au machines version 32 bits moi je suis sur un 64 bits
Impossible pour moi de mettre en place et d’adapter les codes proposés
Je peux trouver le pendant 64 bits mais il ne fonctionnera pas pour tous les utilisateurs et peut être même avec toi (la version 32 bits est celle qui occupe le plus de PC encore à ce jour)
Pour quoi pour cette dernière phase dont tu veux en plus une validation par boîte de dialogue ne pas agir directement sur le fichier pdf enregistré qui est ouvert au moment de sa constitution juste à le rendre actif à l’écran et de choisir ou non de l’imprimer puis de le fermer
Ce n’est pas à mon sens une tâche insurmontable

"Merci pour le copier / coller de STATS sur Word. Au lieu de se limiter aux colonnes A à C, peux-tu :

  • étendre la zone de la colonne A à F (en accord avec la mise à jour actuelle de l’onglet STAT) ?"

C’est fait dans cette version ci-jointe je recopie l’intégralité de l’onglet « STATS » dans un nouveau document Word

avant de coller sur Word, la macro demande d’attribuer un nom au document, l’enregistre sur C:\Users\TOSHIBA\Documents, le document Word reste ouvert et la macro arrête de tourner (comme c’est le cas en ce moment) ?

C’est inclus dans cette version mais je n’ai pas bridé le traitement si le nom n’est pas fourni seul l’enregistrement n’est pas effectué dans cette éventualité

Teste cette version avec toutes ces améliorations décrites

id2 Apli_Stats.xlsm (133,6 Ko)

Re,
Merci pour les solutions alternatives et les conseils.
Je fais les tests et t’en dis.

Re,

Résultat du test :

  • nouvelle saisie sur le formulaire / clique sur Enregistrer ==> toujours pas d’actualisation de STATS (pareillement avec Modifier). C’est-à-dire que le total général 57 ne devient pas 58 ou plus! Tente la saisie chez toi et vérifie. Est-ce que le résultat change chez toi ?

  • Si j’actualise à la main, une boîte de dialogue affiche : Tableau croisé dynamique
    impossible à modifier dans une feuille protégée
    et après déverrouiller, l’actualisation est faite.

  • Solution (d’apprenti) proposée à :

Sub Actualiser_Stats()
Ajoute une ligne pour d’abord déverrouiller STATS
ActiveWorkbook.RefreshAll
Ajoute ensuite une ligne pour reverrouiller STATS
End Sub

  • A défaut de la solution précédente, je pense aussi à l’introduction de Si…Then aux macros verrouiller et déverrouiller pour créer une sorte d’exception pour qu’à chaque clique sur Enregistrer ou Modifier, il se produise aussi une actualisation à STATS.

Ok pour les idées sur l’utilisation des documents PDF et WORD. Juste un détail sur le copier / coller en WORD. On dirait que le presse-papier garde les infos copiées même après que l’action soit longtemps terminée (même après fermeture du document WORD). A mon avis, cela peut ralentir le PC surtout en cas d’autres fichiers ouverts simultanément. Ci-joint une image qui l’atteste (ça ne disparait seulement que lorsque je me connecte au formulaire, par exemple!).

img1

  • Peux-tu ajouter une ligne à la macro copier / coller pour libérer la mémoire vive ?

Merci,

Bonjour

Sub Actualiser_Stats()
Ajoute une ligne pour d’abord déverrouiller STATS
ActiveWorkbook.RefreshAll
Ajoute ensuite une ligne pour reverrouiller STATS
End Sub

C’est fait dans cette nouvelle version et fonctionne test à l’appui
Attention les lignes de code pour déverrouiller ou verrouiller l’onglet « STATS » vont chercher le mot de passe onglet « MOT DE PASSE » en cellule C2
Bien veiller à ce qu’il soit toujours présent et correct
J’ai rajouter la procédure derrière le bouton « SUPPRIMER » du formulaire

« Peux-tu ajouter une ligne à la macro copier / coller pour libérer la mémoire vive ? »

c’est inclus derrière le bouton « Word » onglet « CONNEXION »

Le presse papier est vidé en fin de traitement test à l’appui

Ci-joint la nouvelle version enrichie de ces améliorations

Testes et dis moi

id2 Apli_Stats.xlsm (125,2 Ko)

Bonjour,

Je teste et t’en dis. Merci.
Je constate que je commence à trouver la logique pour résoudre certains problèmes. Il me restera qu’à savoir les écrire correctement en VBA. Effectivement, il fallait prendre aussi en compte le bouton SUPPRIMER. Pour les MDP, tu as bien fait d’avoir créer un onglet à cet effet. Ainsi, lorsque je les changerai-là, ils seront pris en compte partout où ils sont sollicité. T’inquiète, dès que je les changerai, ils seront écrits ailleurs.

Toute à l’heure après les test,

" T’inquiète, dès que je les changerai, ils seront écrits ailleurs."

Attention toute fois pour le verrouillage/déverouillage de l’onglet « STATS » si tu change son mot de passe alors que cette onglet est toujours verrouillé avec l’ancien il faudra dans un premier le déverrouiller avec le précédent avant d’utiliser le nouveau (soit par bouton soit manuellement) il y aura un ordre à respecter pour ce changement
J’attends de tes nouvelles

Re,

Super, tous les tests son BONS ! J’ai désormais une application VBA / Excel comme point de départ pour bien d’autres projets. Je ne serai plus au niveau primaire…

Attention toute fois pour le verrouillage/déverouillage de l’onglet « STATS » si tu change son mot de passe alors que cette onglet est toujours verrouillé avec l’ancien il faudra dans un premier le déverrouiller avec le précédent avant d’utiliser le nouveau (soit par bouton soit manuellement) il y aura un ordre à respecter pour ce changement

Est-il possible que de m’évite cette acrobatie ? Si non ou trop compliqué, beh je note ta recommandation quelque part. Si oui, je suis preneur. Lire les quelques propositions de solutions ci-dessous :

Un petit rappel peut être utile à la solution :

  • il a été prévu qu’en cas d’oubli de cliquer sur le bouton verrouiller dans STATS, ce dernier se verrouille tout de même (tu peux vérifier l’action qui l’enclenche en arrière plan).

  • le MDP Toto (A2) donne accès à CONNEXION et STATS (uniquement en mode lecture seule). Une fois sur STATS, avec MDP dupond (C2), l’administrateur peut modifier STATS.

  • Est-il possible d’ajouter une ligne (à l’endroit approprié) qui ferait : si connection avec MDP localisé en A2 (donc Toto ou son remplaçant éventuel) alors STATS est verrouillé par C2 (dupond ou son remplaçant éventuel). Comme la ligne précédente est exclusive, je présume qu’il n’en serait pas de même pour une connection avec le MDP en B2 (dupont ou autre). L’approche que je propose suppose une suppression du MDP par Excel qui fait en sorte que l’accès par MDP Toto permette seulement de visualiser STATS en lecture seule (cette possibilité est conservée avec mon approche).

Voilà, je pense qu’ainsi, je pourrais changer les MDP avec comme seul souci de ne pas les oublier !

Dans l’attente de ta réponse,

« il a été prévu qu’en cas d’oubli de cliquer sur le bouton verrouiller dans STATS, ce dernier se verrouille tout de même (tu peux vérifier l’action qui l’enclenche en arrière plan). »

C’est opérationnel à l’ouverture du classeur avant la demande de saisie du MDP

« le MDP Toto (A2) donne accès à CONNEXION et STATS (uniquement en mode lecture seule). Une fois sur STATS, avec MDP dupond (C2), l’administrateur peut modifier STATS. »

Cela fonctionne comme décrit

« Est-il possible d’ajouter une ligne (à l’endroit approprié) qui ferait : si connection avec MDP localisé en A2 (donc Toto ou son remplaçant éventuel) alors STATS est verrouillé par C2 (dupond ou son remplaçant éventuel). Comme la ligne précédente est exclusive, je présume qu’il n’en serait pas de même pour une connection avec le MDP en B2 (dupont ou autre). L’approche que je propose suppose une suppression du MDP par Excel qui fait en sorte que l’accès par MDP Toto permette seulement de visualiser STATS en lecture seule (cette possibilité est conservée avec mon approche). »

Dés que le mot est demandé avant qu’il ne soit saisi l’onglet « STATS » est verrouillé
Seul une intervention manuelle ou l’utilisation du bouton « Déverrouillage » permet moyennant le MDP C2 de déverrouiller l’onglet

Maintenant si l’on met un nouveau mot de passe en C2 alors que l’onglet « STATS » est resté verrouillé avec le précédent mot de passe il faudra intervenir manuellement pour le déverrouiller avec l’ancien avant de fonctionner avec le nouveau
L’idéal si l’on souhaite mettre un nouveau MDP en C2 c’est de le faire après avoir déverrouiller l’onglet « STATS » avec celui en cours
Une fois C2 actualisé on verrouille STATS avec les procédure automatique qui prendront sa nouvelle valeur

Fais des tests et si souci reviens vers moi

Résultats des tests du changement du MDP en C2 STATS :

  • protection MDP dupond otée dans Excel par format… (STATS est modifiable)
  • ensuite, MDP dupond remplacé par albert en C2 de MOT DE PASSE
  • je me connecte au formulaire avec par exemple le MDP dupont pour l’autoverrouiller
  • je Quitte le formulaire puis revient sur STATS
  • si je le déverrouille avec l’ancien MDP dupond; le résultat est Mot de passe erroné
  • si je le déverrouille avec le nouveau MDP albert; l’accès est autorisé.

C’est nickel et simple. Je note cela quelque part. Je pense que la logique est : pour verrouiller ou changer de MDP pour verrouiler, il faut bien d’abord que l’objet soit ouvert ou déverrouillé !

Lorsque je ne respecte pas la procédure ci-après, Excel m’affiche comme indiqué ci-dessous :

2020-06-26 15_38_39-test - Excel

Pour sortir du problème, je clique sur Fin, puis respecte la procédure et tout rendre dans l’ordre (nouveau MDP accepté).

Impeccable donc tout baigne
Si souci reviens vers moi

Bon courage pour la suite

Oui, très bien. Je me lance dans d’autres applications sur la base de celle-ci. J’espère être suffisamment à l’aise en VBA comme toi ! Je constate qu’on apprend plus vite en acquérant quelques connaissances basiques et en traitant un certains nombre de projets par cas.

C’est tout à fait mon opinion
Mettre les mains dans le cambouis rien de tel

C’est comme cela que j’ai débuté dans ce monde

Du courage de la ténacité et tout s’éclairci au fil dutemps

A ta dispo quand tu veux

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.