Mise à jour d'un fichier avec vba

Leskwal

XLDnaute Occasionnel
Bonjour à tous.

Voici ma demande.

J'ai créé un fichier avec de multiples macro dont l'objectif est le suivi de stagiaires sur différentes formations.
Quand je dis : "j'ai créé" : Merci aux nombreuses personnes du forum qui m'ont filé de sacrés coups de mains...:D.

Pourquoi ce fichier : afin d'uniformiser le travail des 11 assistantes qui travaillent sur le suivi de ces formations.


La démarche :

Le fichier vierge (qu'on appellera toto.xlsm) est placé sur le serveur.
Les assistantes le copient dans le répertoire de travail correspondant à la formation.
Elles le complètent quotidiennement et une procédure sauvegarde le fichier et exporte la synthèse (fichier formaté) à un endroit précis du serveur.
Un autre fichier que je lance me permets de faire la synthèse de l'ensemble des fichiers (formations/stagiaires) qui ont été exportés.
Voilà globalement la démarche.

Comme tout humain, il y'a eu de la part des assistantes une résistance au changement.
Mais rapidement, (quelques jours), voyant le temps gagné grâce aux procédures automatiques le fichier a été adopté.
Il faut savoir que la logique d'utilisation du fichier et son objectif ont été pensés avec l'aide de 2 assistantes...

Aujourd'hui, je suis "victime" :) du succès de l'application, car plusieurs assistantes souhaitent certains rajouts comme fusionner certaines données avec un document WORD... etc...

Le Problème :

Le fichier de base TOTO.XLSM se trouve sur le serveur.

Les fichiers toto1.xlsm, toto2.xlsm ... créés par les assistantes se trouvent dans leurs répertoires de travail.

Si je mets à jour le fichier TOTO.xlsm, les nouveautés ne seront valables que pour les nouveaux fichiers créés à partir du TOTO.XLSM màj.

Mais tous les fichiers créés antérieurement ne le seront pas.


Est-il possible d'UPGRADER le fichier de base TOTO.XLSM ainsi que les fichiers TOTO1.xlsm, TOT2.xlsm...anciennement créés. (les noms des fichiers créés commencent tous par TOTO...)

C'est à dire copier dans ces fichiers
- de nouveaux modules
- créer un nouvel onglet
- créer dans ce nouvel onglet, un bouton associé à un module
- modifier le code VBA (ou simplement supprimer l'ancien code VBA et coller le nouveau)
- Insérer le mot de passe permettant d'accéder au code VBA
- ...

Voilà ;)

Merci d'avoir pris le temps de me lire et d'avance merci pour celui que vous prendrez pour me répondre. ;)

Cordialement


Pascal
 

Leskwal

XLDnaute Occasionnel
Re : Mise à jour d'un fichier avec vba

Bonjour joss56

Pour ce qui est d'envoyer le fichier, il fait plus d'1 Mo.

Le nettoyer pour le réduire risque de me prendre un sacré bout de temps... :D

Je vais créer des fichiers exemple...

Merci d'avoir répondu aussi rapidement

Cordialement

Pascal
 

Leskwal

XLDnaute Occasionnel
Re : Mise à jour d'un fichier avec vba

Fichier nettoyé et découpé

Merci d'avance.


Pascal

Mot de passe onglet : toto
Mot de passe VBA : toto


Test1.zip est bon

Pour test1.Z01.zip supprimer le .zip à la fin. A faire aussi pour test1.Z02.zip, test1.Z03.zip, test1.Z04.zip (dans l'envoie suivant)
 

Pièces jointes

  • test 1.z01.zip
    45 KB · Affichages: 33
  • test 1.zip
    40.6 KB · Affichages: 26
  • test 1.z02.zip
    45 KB · Affichages: 21
  • test 1.z03.zip
    45 KB · Affichages: 21
  • test 1.zip
    40.6 KB · Affichages: 26
  • test 1.zip
    40.6 KB · Affichages: 25

Leskwal

XLDnaute Occasionnel
Re : Mise à jour d'un fichier avec vba

Bonsoir à tous

Joss56 : Voici le lien

Cijoint.fr - Service gratuit de dépôt de fichiers


56 que du bonheur.... le fameux festival...Une chaleur celtique...
HA Lorient : tu me manques. Et Ploemeur, patrie de ma Maman...
Mais pourquoi dois-je habiter en région Parisienne .... ?
Ah bah oui, j'oubliais : le boulot... :D

Très cordialement

Pascal
 

joss56

XLDnaute Accro
Re : Mise à jour d'un fichier avec vba

Bonjour le forum, Leskwal

Si j'ai bien compris, tu souhaites gérer les heures apprenants.
Plusieurs personnes sont amenées à saisir des informations et tu souhaites un accès partagé à la base de données.

Dis moi si je me trompe

A+

Jocelyn
 

Leskwal

XLDnaute Occasionnel
Re : Mise à jour d'un fichier avec vba

Bonjour

Nonnon.

En fait, sur le serveur se situe le fichier : test 1.xlsm.

L'assistante copie/colle le fichier test1.xlsm dans le répertoire de travail correspondant à la formation et cela pour chaque formation.

Serveur ( S: )
(Fichier Test1.xlsm dans : S:\Copiez_Collez le fichier dans répertoire de la formation\test1.xlsm)
|
|
|
-------------- Fichier Test1.xlsm copié dans le répertoire (S:\Formations\MVA\Stagiaires). L'assistante travaille à même ce fichier
|
|
|
-------------- Fichier Test1.xlsm copié dans le répertoire (S:\Formations\CAP Petite Enfance\Stagiaires). L'assistante travaille à même ce fichier
|
|
|
|.............ETC
|
|
|
-------------- S:\Répertoire où l'ensemble des fichiers exportés sont traités collectivement\ Test1_MVA.xlsm; test1_CAP_PTE_Enfance.xlsm, etc



Donc comme tu as pu le voir, un bouton d'exportation existe en haut à gauche sur l'onglet Septembre.

Quand l'assistante a fini de compléter les absences journalières pour une formation elle enregistre son fichier de travail, appuie sur le bouton, indique le répertoire de traitement collectif et, s'en suit l'exportation des données dans le fichier créé (test1_CAP_PTE_Enfance.xlsm par exemple). Bien sur, il lui est demandée d'écraser l'ancienne version du fichier.


J'ai créé un fichier qui ouvre chaque chaque fichier exporté, copie les données de chaque fichier et les colle dans un fichier de synthèse.

Ceci me permet d'avoir le taux d'absence, par formation, pour l'ensemble des formations, les périodes en centre, les périodes en entreprise...Etc.

J'espère avoir été plus clair.

Mon problème :

Les fichiers sur lesquelles travaillent les assistantes sont de version Test1.xlsm et cela pour toute la durée de la formation qui peut durer plus de huit mois.

Et voilà mon problème de mise à jour :


Si je mets à jour le fichier maître Test1.Xlsm en Test2.xlsm, les assistantes utiliseront le fichier nouvellement crée pour les nouvelles formations..

Cependant, comment mettre à jour les fichiers Test1.Xlsm en Test2.xlsm
qui se trouvent dans les répertoires des actions de formation DéJà COMMENCÉES ?

En effet, je ne vais pas demander aux assistantes de tout refaire le travaille à chaque mise à jour du fichier maître. :D (Je tiens encore à vivre un p'tit moment :))


Ce que je souhaiterais, si c'est possible, c'est de savoir comment créer un fichier qui mettrait à jour les versions de travail des assistantes.


Exemple :

Je crée un nouveau module, un nouveau bouton, un nouvel Onglet dans le fichier maître TEST2.xlsm.

Cette mise à jour sera prise en compte pour toutes les nouvelles formations dans lesquelles les assistantes copieront ce nouveau fichier.

Parallèlement je crée un fichier s'appelant Mise_A_Jour_Test1_En_Test2. XLSM prenant en compte les nouveautés.

L'assistante copie le fichier Mise_A_Jour_Test1_En_Test2. XLSM et le colle dans le répertoire de travail où se trouve le fichier : TEST1.xlsm (Correspondant à la formation).
Elle lance le fichier Mise_A_Jour_Test1_En_Test2. XLSM.

Et voilà ce que j'aimerais qu'il fasse :D

1/ Le fichier détecte le fichier TEST1.xlsm et le sauvegarde en TEST1_BAK.xlsm.

2/ Crée un Onglet "Statistiques"

3/ Déverrouille l'onglet "Sept" (Mot de passe # toto)

4/ Crée un Bouton intitulé "FUSION" dans "Sept"

5/ Ouvre l'environnement VBA (Code " Toto")

6/ Colle un module, ainsi que le code, intitulé "Fusion"

7/ Associe le bouton SEPT\ "FUSION" au Module "Fusion"

8/ Verrouille l'onglet "Sept" (toto)

9/ Sauvegarde le fichier en : TEST2.xlsm et fermeture

10/ Destruction du fichier TEST1.xlsm



Voilà, Voilà

Un TRÈS GRAND MERCI D'AVANCE

Bonne fin de W-E

PASCAL
 

joss56

XLDnaute Accro
Re : Mise à jour d'un fichier avec vba

Bonjour le forum, Leskwal,

Ce que tu demandes est sûrement faisable.
Néanmoins ma crainte, si j'étais à ta place, est que tout ça tourne à l'infernale usine à gaz...et quid des sauvegardes, de la consultation des actions menées il y a 2 ans, 6 ans...?

Je crois qu'une autre solution est envisageable: une application Excel VBA et une base de données multidimensionnelle (open source). Tous les avantages d'une vraie base de données en terme de stockage et de partage en réseau.

Ça t'obligerait à tout casser et refaire, c'est vrai!

Tiens moi au courant.

Bonne journée

Jocelyn
 

Discussions similaires

Statistiques des forums

Discussions
314 653
Messages
2 111 576
Membres
111 205
dernier inscrit
Adrien25