Nom de sauvegarde de fichier Excel

Résolu
chg -  
 patfinger -
je souhaiterais affecté à une cellule le nom de sauvegarde du fichiers excel .
Le contenu de cette cellule sera reporté automatiquement au nom de sauvegarde en lieu
et place du nom du classseur lors de l'enregistrement.
merci pour votre reponse

cordilalement.
Configuration: Windows XP
Firefox 1.5.0.7

7 réponses

  1. LePierre Messages postés 249 Statut Membre 338
     
    bonjour

    voici une solution en mettant le nom du fichier dans la cellule A1 :

    Sub test()
    Chemin = ActiveWorkbook.Path
    Fichier = Cells(1, 1).Value
    ActiveWorkbook.SaveAs Filename:=Chemin & "\" & Fichier & ".xls", FileFormat _
    :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
    False, CreateBackup:=False
    End Sub

    tu peux personnaliser le Chemin si tu veux enregistrer ton fichier ailleurs que dans le dossier par défaut.
    par exemple :
    en A2 tu inscris : C:\Dossier1\SousDossier1
    et dans le code tu indiques : Chemin = Cells(2, 1).Value
    A plus
    1
    1. chg
       
      bonjour,
      je ne sais pas si vous avez reçu ma réponse, mais sachez que cela fonctionne très bien.
      dans le même cas de figure, je souhaiterais mettre un compteur dans une cellule de façon, à ce que chaque fois que l'on enregistre la matrice celle-ci s'incremante d'une unité lors de l'enregistrement du nouveau fichier.
      ceci viendrait en complément de la première partie.

      merci pour votre aide
      cordialement

      chg
      0
    2. LePierre Messages postés 249 Statut Membre 338 > chg
       
      bonjour

      voici une solution en mettant le nom du fichier dans la cellule A1 et la valeur de compteur en B1.

      Pour contrôler les enregistrements, il faut intercepter les commandes "Enregistrer..." des menus : c'est le rôle de la procédure Auto_Open qui s'exécute à l'ouverture du classeur. Auto_Close réinitialise les menus.

      Sub Enregistrer()
      Chemin = ActiveWorkbook.Path
      Fichier = Cells(1, 1).Value
      Compteur = Cells(1, 2).Value
      ActiveWorkbook.SaveAs Filename:=Chemin & "\" & Fichier & Compteur & ".xls", FileFormat _
      :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
      False, CreateBackup:=False
      Compteur = Compteur + 1
      Cells(1, 2).Value = Compteur
      End Sub

      Sub Auto_Open()
      Application.CommandBars("Worksheet Menu Bar"). _
      Controls("Fichier").Controls("Enregistrer").OnAction = "Enregistrer"
      Application.CommandBars("Worksheet Menu Bar"). _
      Controls("Fichier").Controls("En®istrer sous...").OnAction = "Enregistrer"
      Application.CommandBars("Standard").Controls("Enre&gistrer").OnAction = "Enregistrer"
      End Sub

      Sub Auto_Close()
      Application.CommandBars("Worksheet Menu Bar"). _
      Controls("Fichier").Controls("Enre&gistrer").Reset
      Application.CommandBars("Worksheet Menu Bar"). _
      Controls("Fichier").Controls("En®istrer sous...").Reset
      Application.CommandBars("Standard").Controls("Enre&gistrer").Reset
      End Sub

      bonne journée
      0
    3. chg > LePierre Messages postés 249 Statut Membre
       
      comme vous avez pu le constater je ne maitrise pas du tout les macros.
      lors de l'enregistrement du fichier le compteur fonctionne bien, mais à chaque sauvegarde il affiche 0,11,22,33,44etc...

      de plus, je voulais savoir, s' il y aurait un livre pour apprendre à programmer sous excel (macro) pour un débutant.
      dans l'attente de vous relire....

      Merci
      Cordialement
      0
    4. LePierre Messages postés 249 Statut Membre 338 > chg
       
      bonjour

      le fonctionnement de ton compteur est pour le moins étrange car je l'ai testé et il s'incrémente bien de 1 en 1 chez moi.
      est-ce que le nom des fichiers enregistrés sont de la forme : nomfichier1.xls; nomfichier2.xls ; ...
      ou bien de la forme : nomfichier11.xls; nomfichier22.xls ; ... ?


      je ne connais pas de livre particulier mais tu peux aller sur le site :
      http://www.info-3000.com/vbvba/index.php
      où il y a de nombreux tutoriels et exemples.

      à plus
      0
    5. chg > LePierre Messages postés 249 Statut Membre
       
      bonsoir,
      sur les cellules excel le compteur incremante de 1en 1,
      mais dans le repertoire il affiche 11.xls au lieu 1.xls
      pour 22.xls au lieu de 2.xls

      merci pour le site, et ton aide

      cordialement
      0
  2. chg
     
    https://www.cjoint.com/?dzoJ2YFAeL

    je t'ai placé mon fichier dans le lien ci-dessus.

    merci pour ton aide

    chg
    0
    1. LePierre Messages postés 249 Statut Membre 338
       
      bonjour

      j'ai identifié le problème :
      dans la cellule A1 il faut inscrire le nom de ton fichier ( dans ton classeur rectifié j'ai indiqué NomFichier mais tu peux mettre le nom que tu veux)
      comme tu avais inscrit une formule qui récupérait le N° d'enregistrement du compteur, ton fichier se nommait donc 0 pour l'enregistrement 0 soit un fichier 00.xls et ainsi de suite
      maintenant tu auras : NomFichier0.xls, NomFichier1.xls, ...

      voici le fichier rectifié sur ce lien :

      https://www.cjoint.com/?dzpzm4Gf3f

      cordialement.
      0
    2. chg > LePierre Messages postés 249 Statut Membre
       
      Bonjour,

      un grand merci pour votre aide.
      Je garde en reserve votre adresse pour la prochaine fois.

      Cordialement et bonne journée.

      CHG
      0
    3. LePierre Messages postés 249 Statut Membre 338 > chg
       
      bonjour

      j'ai complété les macros de ton fichier pour en modifier un peu le principe pour ;
      - conserver toujours le même nom pour le fichier de saisie avec enregistrement pour sauvegarde du N° de compteur (ce sera ton document principal de travail)
      - au moment de l'enregistrement :
      * copier dans un nouveau classeur la feuille de saisie en supprimant tous les liens et menus déroulants
      * enregistrer ce nouveau classeur sous le nom : Nomfichier20080001.xls, ...

      Si tu diffuses ce nouveau classeur, il n'y aura pas de macro commandes attachées qui risqueraient de dérouter tes correspondants. Ceci me semble plus propre.

      Si tu es intéressé je te le ferai passer.

      A plus
      0
    4. CHG > LePierre Messages postés 249 Statut Membre
       
      Bonjour,

      Je suis d'accord sur le principe.

      J'attends ton retour de courrier pour pouvoir l'exploiter.

      Cdlt

      CHG
      0
    5. LePierre Messages postés 249 Statut Membre 338 > CHG
       
      bonjour

      voici le lien : https://www.cjoint.com/?dBn761IYwx

      il y a une feuille cachée nommée "Modèle" qui comporte des liaisons avec la feuille "matrice"
      c'est cette feuille "Modèle" qui est copiée pour créer les fiches Ddetravaux lorsque tu lances un enregistrement.
      En même temps il y a sauvegarde de ton fichier de travail pour conserver le N° de compteur.

      Tu peux encore perfectionner en lançant également un effacement des différentes cellules de ton imprimé pour être prêt pour une nouvelle fiche de demande de travaux.

      tu noteras que le nom des classeurs créés portent le nom de Dde_Travaux200 et que le N° commence à 8001, tu pourras ainsi faire un archivage par année si tu le souhaites.

      à plus
      0
  3. LePierre Messages postés 249 Statut Membre 338
     
    Bonjour

    Je n'ai peut être pas tout compris mais il me semble que tu souhaites avoir un bordereau récapitulatif de tous tes bons de commande ?
    Si c'est ce que tu souhaites, le plus simple est de mettre à jour ton bordereau au moment de la sauvegarde pour création du bon de demande de travaux.
    Ensuite, dans ton bordereau, un double click sur le nom du fichier te permettrais de l'ouvrir pour consultation par exemple.

    Donne moi ton avis pour que je puisse te bâtir un petit module si tu le souhaites.

    à plus
    0
  4. LePierre Messages postés 249 Statut Membre 338
     
    Bonjour

    En complément de mon message précédent, voici un exemple à partir duquel on peut développer.
    L'accès à la saisie se fait dans le menu "Suivi_Ddes_Travaux" : https://www.cjoint.com/?ikqPBRU7Bw
    à plus
    0
    1. chg
       
      bonjour,
      je trouve cela excellent, mais il faut rajouter sur la feuille bordereau : visa(dde_travaux : c12),et dans effectué : rajouter la date (dde_travaux : a44)et l'intervenant( dde_travaux :b44).

      au niveau du nombre de ligne, faut-il définir les lignes immediatement(environ 250) ou faut-il dans le menu :" suivi_dde_travaux "rajouter une ligne pour "creation de lignes suppléméntaire" dans le cas ou il en manqueraient avec le nombre souhaité?

      dans l'attente de ta réponse, je te souhaite une bonne journée.
      Cordialement

      CHG
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. LePierre Messages postés 249 Statut Membre 338
     
    Bonjour

    Les lignes nouvelles s'ajoutent automatiquement (copier coller d'une ligne vierge).

    Fais moi passer un fichier avec le bordereau complet au niveau de tes colonnes pour que je puisse adapter la macro et surtout gérer le double click pour ouvrir un fichier "bon de travaux"
    à plus
    0
  7. chg
     
    https://www.cjoint.com/?imna3c1ymw

    bonjour,

    j'ai mis en entête de chaque colonne, la reference de chaque cellule qui correspond à la cellule des" ddes de travail".
    De cette façon nous pouvons retrouver le contenu de ces cellules dans ce bordereau.
    Pense que la cellule noir puisse prendre un nom de notre choix . la feuille que tu as s'appelle Franval.
    Si j'ai bien compris tu clic dans la colonne "N° de Bon" pour ouvrir la "dde de travail" recherché.

    à plus

    chg
    0
  8. LePierre Messages postés 249 Statut Membre 338
     
    bonjour

    Voici une nouvelle version opérationnelle : https://www.cjoint.com/?imphgbVsZJ
    Qu'en penses-tu ?
    En cliquant 2 fois sur le N° du bon, tu ouvres le fichier (s'il existe bien sûr)
    La consultation du bon met à jour automatiquement les champs concernés (ceci sera utile après mise à jour du bon de travaux par l'intervenant avec la date d'intervention par exemple)
    à plus
    0
    1. chg
       
      Bonjour,

      Ce matin, j'ai regardé si j'avais une réponse de toi, et j'ai eu la surprise de trouver ton fichier. Merci pour ta rapidité.
      Pour l'instant je vois avec la personne avec qui je travaille pour confirmer. Si elle ne veut rajouter un point ou deux. Pour ma part c'est bon.
      Dès que j'ai du nouveau je reviens auprès de toi.

      Il y a quelques messages de cela, je t'avais demandé comment et avec quoi je pouvais apprendre les macros.
      J'ai trouver sur internet un livre que j'ai acheter qui est "VBA EXCEL 2003" programmer sous excel : Macros et langage VBA edité par Michèle Amelot.

      Maintenant il me reste à démarrer. quand?????



      Cordialement
      CHG
      0
      1. patfinger > chg
         
        salut, j'ai suivi l'évolution et l'amélioration de ta macro de sauvegarde de fichier sur excel.

        je souhaiterais que tu m'en donne un exemplaire pour que je puisse l'utiliser.

        il ma étét demandé le meme travail.
        merci d'vance

        CORDIALEMENT pat
        0