IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Dupliquer un fichier Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Dupliquer un fichier Excel
    Bonjour,

    J'ai un classeur Excel avec 12 feuilles . J'ai une feuille que je dois copier sur un nouveau document. Ce nouveau document doit avoir comme nom le nom de l'ancienne feuille de classeur + récupérer la valeur d'un champs contenu dans une cellule + la date du jour

    Voici le code :

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     Private Sub CommandButton1_Click()
     
    Dim nom_feuille_classeur As String
    Dim nom_document As String
    Dim trigramme_apv As String
    Dim nouveau_fichier As String
    Dim repertoire_de_sauvegarde As String
    Dim lien_nouveau_fichier As String
     
    nom_feuille_classeur = ActiveSheet.Name ' recuperation nom de la feuille dans le classeur de départ
     
    trigramme_apv = Range("D1").Value ' recuperation nom de AVP
     
    ActiveSheet.Copy
     
    repertoire_de_sauvegarde = "C:\" ' nom repertoire ou mettre le nouveau fichier
     
    nouveau_fichier = nom_feuille_classeur & " " & trigramme_apv & Now & " .xlsm " ' nom du nouveau document
     
    lien_nouveau_fichier = repertoire_de_sauvegarde & nouveau_fichier ' nouveau document
     
    ActiveWorkbook.SaveAs lien_nouveau_fichier ' lien nouveau fichier
     
    End Sub

    J'ai une erreur 1004 sur la ligne " ActiveWorkbook.SaveAs lien_nouveau_fichier ' lien nouveau fichier ".

    Je ne vois pas ou est le problème ?!

    Merci d'aiguiller

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 69
    Par défaut
    Bonjour, tu utilises un Now dans le nom du fichier, or Now renvoie une date au format "dd/mm/yyyy hh:mm:ss" et les ":" sont interdits dans un nom de fichier.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Il faut au minimum la date du jour , je remplace par date ou day ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 69
    Par défaut
    Date devrait marcher car il me semble qu'il ne renvoi pas l'heure avec.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut ,

    Ma dernière ligne de commande ne crée pas le fichier comme voulu .

    Cas 1 : je veux créer le fichier sur le M:/ , il s'ouvre avec le bon nom de fichier mais pas de trace sur le répertoire réseau M:/
    Cas 2 : je veux créer le fichier sur le C:/ ou le D:/ en local sur ma machine , le fichier s'ouvre mais avec le mauvais nom "Classeur X" et nul trace du fichier en local ...

    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub CommandButton1_Click()
     
    Dim nom_feuille_classeur As String
    Dim nom_document As String
    Dim trigramme_apv As String
    Dim nouveau_fichier As String
    Dim repertoire_de_sauvegarde As String
    Dim lien_nouveau_fichier As String
     
    nom_feuille_classeur = ActiveSheet.Name ' recuperation nom de la feuille dans le classeur de départ
     
    trigramme_apv = Range("D6").Value ' recuperation nom de AVP
     
    ActiveSheet.Copy
     
    repertoire_de_sauvegarde = "M:\" ' nom repertoire ou mettre le nouveau fichier
     
    nouveau_fichier = Year(Date) & Month(Date) & Day(Date) & " " & trigramme_apv & " APV " & nom_feuille_classeur & " adherents .xlsm " ' nom du nouveau document
     
    lien_nouveau_fichier = repertoire_de_sauvegarde & nouveau_fichier ' nouveau document
     
    ActiveSheet.SaveAs Filename:=lien_nouveau_fichier ' lien nouveau fichier >> problème avec le ActiveSheet.SaveAs et le Filename:= , c est l erreur 1004
     
    End Sub

    Merci de m'aiguiller

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonsoir

    Je refais le programme et ça ne marche pas , je vais poster ce que j'ai refait et vous me direz

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/06/2013, 08h09
  2. dupliquer fichier excel en base Access
    Par houshous dans le forum Access
    Réponses: 1
    Dernier message: 25/09/2009, 07h52
  3. Dupliquer fichier excel
    Par hassenssas dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/06/2008, 09h29
  4. [Turbo Pascal] Utiliser un fichier Excel
    Par Lady dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 09/03/2003, 20h34
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo