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 :

Insérer dans différents fichier selon le mois [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Djromé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 172
    Par défaut Insérer dans différents fichier selon le mois
    Salut les Kracks,

    J'ai un fichier que je place au quotidien sur un drive (une macro me fait la transformation et me la sauvegarde au bon endroit), cependant, pour une question d'archivage, je souhaiterai que le Workbook du jour aille se placer dans le fichier correspondant au mois et à l'année en cours (en rouge dans mon exemple):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ChDir _
            "X:\February 2010"'du genre Format("mmmm") & _ & "yyyy")
        ActiveWorkbook.SaveAs Filename:= _
            "X:\February 2010\" & "Mon classeur" & Format(Date, "ddmmyyyy") & ".xls" _
            , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
    Comme le workbook est toujours celui du jour 04022010, il suffit donc de pouvoir moduler de la même manière les classeurs des mois, la difficulté est dans le fait que ceux-ci doivent se nommer: February, March etc... à la place 02 2010, 03 2010 etc...

    Merci

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut
    Et pourquoi pas un Select Case? Du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim LeMois As String, LeFolder As String
     
    Select Case Month(Date)
        Case Is = 1
            LeMois = "January "
        Case Is = 2
            LeMois = "February"
        'Et ce pour les 12 mois
    End Select
     
    LeFolder = "X:\" & LeMois & " " & Year(Date)
    A+

  3. #3
    Membre confirmé Avatar de Djromé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 172
    Par défaut
    Merci pour ton aide!

    Bonjour Vandermeulen,

    J'ai déclaré mes variables et tous semble fonctionner.
    Cependant, je pense que je ne connais pas la syntaxe qui va avec une variable pour la fonction ACtiveworkboo.saveas Filename

    Pour le ChDir, il m'indique bien le chemin voulu, mais il me met le code aprés en erreur (en rouge ici):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ChDir _
            LeFolder
        ActiveWorkbook.SaveAs Filename:= _
           "LeForder\" & "Mon report " & Format(Date, "ddmmyyyy") & ".xls" _
            , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
    D'avance merci

  4. #4
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    De deux choses l'une, tu as écrit LeForder au lieu de LeFolder.
    De plus tu l'as mis en guillements, donc est considéré comme du text et non plus comme une variable, la bonne syntaxe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ChDir _
            LeFolder
        ActiveWorkbook.SaveAs Filename:= _
           LeFolder & "\" & "Mon report " & Format(Date, "ddmmyyyy") & ".xls" _
            , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
    A+

  5. #5
    Membre confirmé Avatar de Djromé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 172
    Par défaut
    Merci Frédéric,

    Je me suis un peu emmêlé les pinceaux avec les " et les &...


    Bonne journée

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

Discussions similaires

  1. Insérer dans un fichier Excel
    Par eltamatrox dans le forum ASP
    Réponses: 7
    Dernier message: 24/04/2009, 18h28
  2. [Débutant] accéder à des variables partagées dans différents fichiers
    Par jane40 dans le forum MATLAB
    Réponses: 16
    Dernier message: 24/04/2009, 15h17
  3. Envoyer requete dans plusieurs fichier selon champ
    Par mat_lefebvre dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 05/03/2007, 09h30
  4. tableau 2D dans différents fichiers .c
    Par abelolive dans le forum C
    Réponses: 18
    Dernier message: 05/07/2006, 17h44
  5. Réponses: 4
    Dernier message: 10/02/2005, 16h10

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