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 :

Modification du nom de fichier


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 9
    Points
    9
    Par défaut Modification du nom de fichier
    Bonjour,

    Je me permet de revenir vers vous ayant été très satisfaite la dernière fois que je suis venu sur ce site.

    Donc voila je fait appel à un fichier qui s'appelle structure clients mais ce fichier va se modifier chaque jour et s'appeller structure_clients_.2014-05-28.xls et cela va se modifier chaque jour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set structure_clients_ = Application.Workbooks.Open(Filename:="C:\Users\SJH5594\Desktop\test\structure_clients_.xls")
    Je voulais donc savoir s'il y'avait une solution pour que mon fichier que j'appelle se modifie également sans que je le tape moi même à la main.

    Merci

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 69
    Points : 134
    Points
    134
    Par défaut
    Bonsoir, est-ce que c'est quelque chose comme ça que vous cherchez ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set structure_clients_ = Application.Workbooks.Open(Filename:="C:\Users\SJH5594\Desktop\test\structure_clients_." & Format(Now, "yyyy-mm-dd") & ".xls")
    Si ce n'est pas le cas merci de donner plus de précisions.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Bonjour letudiant68,

    J'ai testé ce que tu m'as donné mais j'ai rencontré d'autres problèmes est ce que c'est normal que si je déclare un workbook qui ne correspond pas au fichier excel ou j'ai mit mon code cela ne fonctionne pas.

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim structure_clients_ As Workbook, structure_clients_gourmand As Workbook
    quand je met le code dans mon fichier excel structure_clients_ cela fonctionne mais si je déclare un workbook autre que celui-ci cela ne fonctionne pas.

    De plus,quand je déclare un workbook ou je met un point ou des chiffres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim structure_clients_.2014-06-03 As Workbook
    il me le met en rouge il me dit que c'est faux.

    Est ce que cela est normal ?

    Merci d'avance

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 69
    Points : 134
    Points
    134
    Par défaut
    Bonjour, j'ai du mal à vous suivre, qu'essayez-vous de faire exactement ?

    Les points sont interdits dans les noms de variables car ils sont utilisés en VBA pour marquer la différence entre un objet et un membre de cet objet.
    Exemple : Workbook.Open
    Workbook est un objet et Open est un membre de cet objet (une méthode pour être plus précis)

  5. #5
    Invité
    Invité(e)
    Par défaut Bonjour,
    on vas utiliser le fichier comme un modèle!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    Dim structure_clients_ As Workbook
    Set structure_clients_ = Application.Workbooks.Add("C:\MyTest\Classeur1.xlsm")
    MonNouveauFichier = "C:\MyTest\toto.xlsm"
    structure_clients_.SaveAs Filename:=MonNouveauFichier, FileFormat:= _
            xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    End Sub

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Je récuppère des rapports BO sous fichier excel chaque mois donc le nom de mon fichier se modifie chaque mois et il se modifie toujours de la même façon c'est à dire mon nom de fichier.ladate(yyyy-mm-dd).xls.

    Je cherche à copier chacune des cellules que je récuppère dans un fichier excel et donc faire en sorte que chaque mois elle se modifie également de façon automatique.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Je suis toujours bloquée. Mon classeur s'écrit obligatoirement de cette façon : Dim structure_clients_.2014-06-12 As Workbook ( structure_clients_.(date du jour)) mais il me met une erreur dû au point et au tiret mais je ne peux pas l'écrire d'une autre façon.

    Quelqu'un aurait une solution ?

    Merci d'avance.

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Bonjour
    Citation Envoyé par sonia599 Voir le message
    .... Dim structure_clients_.2014-06-12 As Workbook ...

    Merci d'avance.
    cette instruction "Dim" permet de déclarer ta variable, le nom de ta variable n'as aucun lien avec ton nom de fichier, tu ne peu pas utiliser le caractère "." dans ton nom de variablle ...!!

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Je cherche à copier -coller une cellule entre 2 classeurs.
    Mon premier fichier excel (celui ou je copie)est différent car tous les mois j'ai un nouveau fichier excel qui se crée avec comme nom de fichier (nom du fichier.date du jour(yyyy-mm-dd)) et le second (celui ou je vais coller) lui est toujours le même.

    Mon code fonctionne bien quand je met mon code dans le premier fichier mais le problème est que cela ne vas plus fonctionner quand je vais avoir la création d'un nouveau fichier à la fin du mois.

    Et je ne peux pas copier-coller mon code à chaque fois dans le fichier excel tous les mois car cela doit être automatiser.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub CopierCollerTest2()
     
     
    Dim structure_clients_ As Workbook, structure_clients_gourmand As Workbook
     
    Set structure_clients_ = Application.Workbooks.Open(Filename:="C:\Users\SJH4\Desktop\test\structure_clients_." & Format(Now, "yyyy-mm-dd") & ".xls")
    Set structure_clients_gourmand = Application.Workbooks.Open(Filename:="C:\Users\SJH4\Desktop\test\structure_clients_gourmand.xls")
     
    Workbooks("structure_clients_gourmand").Sheets("par compteur colis").Cells(1, Year(Now) - 2013) = Workbooks("structure_clients_").Sheets("par compteur colis").Range("C3").Value
     
    structure_clients_gourmand.Close
     
     
    End Sub
    Donc si quelqu'un aurait une idée je suis preneuse car je ne vois pas du tous comment faire ou si cela est possible.

    Merci d'avance.

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    bonsoir,

    tu confond toujours les noms de tes classeurs et le nom de tes variables... , tu as définit des variables "pointant" sur test 2 classeurs , utilise les ...!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    structure_clients_gourmand.Sheets("par compteur colis").Cells(1, Year(Now) - 2013) =  structure_clients_.Sheets("par compteur colis").Range("C3").Value

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Merci bcp bbil. Cela fonctionne très bien.

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

Discussions similaires

  1. [Batch] ajouter la date de dernière modification au nom du fichier
    Par Knoizell dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 25/05/2012, 15h13
  2. modification de nom de fichier
    Par oliv27400 dans le forum MATLAB
    Réponses: 4
    Dernier message: 31/05/2010, 21h07
  3. [XL-2003] Modification du nom du fichier
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 18/12/2009, 10h15
  4. Modification nom de fichier
    Par rookie_shell dans le forum Linux
    Réponses: 2
    Dernier message: 25/05/2009, 16h11
  5. Modification nom de fichier dans macro
    Par gueyou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/07/2008, 15h48

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