Extraction date de modification fichier

Résolu/Fermé
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 - 20 janv. 2020 à 13:26
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 - 29 janv. 2020 à 13:15
Bonjour à tous,

Dans le but de mettre en place un indicateur de temps de traitement de demandes client représentées par des fichier Excel, j'aimerais savoir si il est possible de mettre en place un bouton dans la barre d'accès rapide d'Excel qui va enregistrer le nom de la demande client et la date de dernière modification dans un fichier Excel séparé.
Pour ajouter le bouton dans la barre d’accès rapide, je sais à peu près comment faire mais je ne sais pas comment récupérer la date et le nom de la demande et l'importer dans un autre fichier Excel et incrémenter ce fichier. (Les exemples en ligne ne décrivent pas comment exporter ces informations)

Les plus malins diront qu'il suffit que je rentre la date de modification et le nom du fichier à la main dans un fichier de suivi...et vous avez bien raison! Je veux juste automatiser le processus

Merci d'avance


Configuration: Windows / Chrome 79.0.3945.117
A voir également:

18 réponses

Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 1
20 janv. 2020 à 16:08
C'est un bon début mais cela signifie que je ne peux pas utiliser de point dans le titre?
1
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
21 janv. 2020 à 13:12
Je ne vois pas pourquoi la message box ne s’afficherait pas, chez moi cela fonctionne !
1
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
20 janv. 2020 à 13:52
Bonjour Loiwi

Si tu vraiment automatiser le processus ce n'est pas un bouton qu'il faut mettre en place c'est une macro qui se déclenche à chaque modification d'une colonne dans le fichier, macro qui :
- ouvrira le dossier suivi
- copiera sur la1ere ligne vide le nom de la demande client et la date du jour
- fermera le dossier suivi

Ce qu'il faut déterminer c'est où se situe la modification qui va déclencher le macro
Des exemples de tes fichier de base et de suivi seraient les bienvenus (à poster sur mon-partage.fr, copier les liens créés et revenir les coller ici)

Cdlmnt
Via
0
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 1
Modifié le 20 janv. 2020 à 14:08
Je ne voulais pas aller aussi loin mais si c'est possible de faire quelque chose en ce sens, pourquoi pas?
L'idée de départ c'est de ne pas avoir à rentrer à la main les données dans un fichier.

Est-il possible de déclencher la macro lorsque la demande client est ouverte depuis ma session? Faut-il activer le suivi de modifications pour cela?

Hélas je n'ai pas d'exemple à donner car ce que je souhaite obtenir ne dépend pas du contenu des demandes clients et pour le fichier de suivi, j'ai simplement besoin du nom de la demande et de la date
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
20 janv. 2020 à 14:28
Tu dis que ta demande client est représentée par un fichier Excel
Chaque fois que tu ouvres ce dossier Excel tu voudrais que le nom et la date soient transférés dans le dossier suivi ?
Tu as un fichier Excel par client ? Combien de fichiers alors ?
Il faudrait que la macro soit installée dans chaque fichier client et soit déclenchée soit par l'ouverture soit par la fermeture du fichier client (ce qui est possible)
Si le nom de la demande client est chaque fois dans la même cellule (par ex A1) la macro peut récupérer le nom, si le nom de la demande est le nom du fichier Excel, la macro peut également récupérer ce nom

0
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 1
20 janv. 2020 à 14:43
Non pas à chaque ouverture, j'aurais du être un peu plus précis au départ. Ce que j'imaginais c'est d'avoir deux boutons dans la barre d'accès rapide. Un qui m'enregistre le nom de la demande et la date de dernière modification avant que je commence à travailler dessus (Ceci pour définir la date à laquelle je suis censé commencer à travailler dessus) dans le fichier de suivi (Plus précisément dans la première et la deuxième colonnes) et le deuxième pour enregistrer la date à laquelle j'ai fini de travailler dessus dans la troisième colonne du fichier de suivi.

Si je n'ai pas détaillé ceci c'est parce que j'imaginais que c'était plus ou moins la même macro mais qui enregistre le résultat dans deux colonnes différentes

Il y'a effectivement un fichier par demande client.

J'espère que le nombre de fichiers n'est pas un point bloquant car c'est un indicateur que l'on veut mettre en place durablement

Pour le nom du fichier, il est toujours dans la même cellule mais j'ai une préférence pour récupérer le nom de la demande afin d'éviter qu'un petit plaisantin modifie la position de la cellule contenant le nom de la demande
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
20 janv. 2020 à 15:27
Je comprends mieux les 2 boutons
1) il faudra installer ces 2 boutons avec leurs macros liées dans tous les fichiers demande client ou alors sur un modèle vierge qui est copié pour chaque nouvelle demande client (je en sais pas comment tu fonctionnes)
2) Pour les macros si tu ne récupères pas le nom du fichier dans une cellule où compte-tu le récupérer ?
0
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 1
20 janv. 2020 à 15:37
1) Si je me base sur certains fichiers chez nous, il est possible de créer des commandes dans la barre d'outils accès rapide d'Excel associées à des macros. Pour ce point, je peux redemander à mes collègues comment faire. Et si ça intéresse quelqu'un qui passe sur ce sujet, je pourrais lui expliquer comment faire

2) Peux-t'on récupérer directement le nom du fichier?
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
20 janv. 2020 à 16:03
oui il est possible de créer des commandes associées à des macros et si les macros sont dans le classeur de macros personnel elles sont en principe accessibles depuis n'importe quel fichier excel ouvert sur l'ordinateur qui a le classeur de macro perso

Pour récupérer le nom du fichier actif la ligne de macro serait
nomfic= Left(ActiveWorkbook.Name, Application.WorksheetFunction.Find(".", ActiveWorkbook.Name) - 1)

ActiveWorkbook donne le nom du fichier avec son extension .xlsx par ex; donc on ne prend que ce qui est à gauche du point pour avoir le nom seul


0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
20 janv. 2020 à 16:11
Oui il vaut mieux
ou alors il faudrait une formule plus complexe pour rechercher le dernier point
0
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 1
20 janv. 2020 à 16:14
Nos demandes clients sont référencés par un code qui a toujours la même longueur. Peut-on utiliser une macro qui reprend les n premiers caractères du titre?
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
20 janv. 2020 à 16:18
Dans ce cas oui
Pour prendre les 10 premiers caractères :
nomfic= Left(ActiveWorkbook.Name,10)

0
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 1
20 janv. 2020 à 16:36
Merci, donc pour l'instant, j'ai la macro suivante:
Sub Date_of_entry()
nomfic = Left(ActiveWorkbook.Name, 13)
Sheets("Feuil1").Range("A2") = nomfic
Sheets("Feuil1").Range("B2").Value = ActiveWorkbook.BuiltinDocumentProperties.Item("Last Save Time")
End Sub

J'ai donc réussi à extraire le nom du fichier en A2 et la date de modification en B2
Comment incrémenter la macro pour qu'il m'inscrive les résultats en A3 et B3 la fois suivante, puis A4,B4...etc.? (C'est déjà une victoire pour moi avec mes faibles connaissances en macro)

Si je lance la macro tel quelle dans un fichier Excel, il va inscrire la valeur dans le fichier ouvert et pas dans mon fichier de suivi non?

Autre question, comment convertir la date sous la forme heure, minute,jour,mois,année?
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
20 janv. 2020 à 17:33
La macro modifiée pour inscrire dans suivi
Sub Date_of_entry()
nomfic = Left(ActiveWorkbook.Name, 13)
datemodif = ActiveWorkbook.BuiltinDocumentProperties.Item("Last Save Time")
nomfichsuiv = "fichier_suivi.xlsx"
Workbooks.Open ("D:\1aout2017\GROUPaout16\Autres Ex et PP\" & nomfichsuiv) 'remplacer ici par le chemin de ton fichier de suivi
'remplacer  Feuil1 par autre nom de feuille si nécessaire
ligne = Workbooks(nomfichsuiv).Sheets("Feuil1").Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1 ' première ligne vide en colonne A
Workbooks(nomfichsuiv).Sheets("Feuil1").Range("A" & ligne) = nomfic
Workbooks(nomfichsuiv).Sheets("Feuil1").Range("B" & ligne) = datemodif
Workbooks(nomfichsuiv).Save
Workbooks(nomfichsuiv).Close
MsgBox "Enregistrement du suivi effectué"
End Sub


Les colonne A et B de ton fichier de suivi doivent avoir en ligne 1 un titre pour que la ligne de macro qui recherche la première ligne vide fonctionne
En principe la date s'affiche bien sous la forme 20/01/2020 17:11:21
Si ce n'est pas le cas où si tu veux un autre format passe par un Format personnalisé pour toute ta colonne B de ton fichier suivi
0
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 1
21 janv. 2020 à 08:31
Merci, le code semble bien défini mais je n'arrive pas à le tester. En effet, lorsque je lance la macro, le message "En raison de vos paramètres de sécurité, les macros ont été désactivées".
Je me doute bien que cela n'a rien à voir avec le code mais est plutôt un problème de configuration.
Je suis donc allé dans l'onglet "Paramètres des macros" du centre de gestion de la confidentialité et les options de "Paramètres de macros" sont grisées et non modifiables. Donc que faut-il faire?
0
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 1
21 janv. 2020 à 11:19
Le problème est solutionné, j'ai pu exécuter les deux macros, les dates de dernières modifications sont bien enregistrées par contre la message box ne s'affiche pas
0
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 1
21 janv. 2020 à 14:16
Effectivement c'est bizarre mais ce n'est pas un point bloquant. On peut considérer que tu as répondu à ma demande. merci beaucoup!
0
Loiwi Messages postés 37 Date d'inscription vendredi 1 février 2019 Statut Membre Dernière intervention 29 septembre 2020 1
29 janv. 2020 à 13:15
Bonjour à tous, je voulais juste signaler que j'ai réussi à afficher la messagebox en déplaçant le code la ligne 12 vers la ligne 10 de l'exemple de via55. Ainsi la message box s'affiche et le fichier de suivi ne se ferme pas tant que je n'ai pas cliqué sur "OK". Je peux donc vérifier en temps réel que l'enregistrement a bien fonctionné
0