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 :

Choisir le mois dans une date pour servir de condition à l'ouverture d un fichier [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Février 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Février 2017
    Messages : 23
    Par défaut Choisir le mois dans une date pour servir de condition à l'ouverture d un fichier
    Bonjour,

    Pour vous expliquer j'ai fait cette macro pour copier/coller des données d un fichier excel vers un autre fichier excel,

    Cependant la limite c est que dés que le fichier de sauvegarde sera plein je devrais changer le nom du fichier dans la macro...

    Afin d'eviter cela j'aimerai créer une condition pour l'ouverture d un fichier :
    En effet la cellule A2 va contenir une date par exemple : 02/07/2017

    J'aimerai qu'en fonction du mois dans l'exemple (07) => cette macro ouvre le fichier de sauvegarde avec dans le nom 07

    Avec cette macro, je voudrais prendre comme condition pour l'ouverture du fichier le mois de la cellule A2

    merci de trouver ci dessous le 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
    15
    16
    17
    18
    19
    Sub COPIEDONNEES()
    
    Dim fichier_a_completer As Workbook
    Dim valeur As Date
    
    valeur = Range("A2").Left(A2, 3) & Right(A2, 3)
    
    
    Set fichier_a_completer = Application.Workbooks.Open("S:\ETS\CLS ") & valeur & (".xlsm")
    
      'Ici tu mets les copies des cellules de la feuille d'entrée vers la feuille de sortie
     ThisWorkbook.Worksheets("Sheet1").Range("A2:O65536").Copy Destination:=fichier_a_completer.Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp)
     
      ' Sauvegarde du fichier
     fichier_a_completer.Save
      'ferme le fihcier à compléter
     fichier_a_completer.Close
    
    End Sub
    Pour la ligne de code en gras j avoue etre perdu,

    cdt

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Salut,

    tu peux utiliser la fonction Month + Format pour arriver a tes fins

    attention egalement a ton erreur de syntaxe sur la ligne d'ouverture du fichier, dont la correction apparait egalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    valeur = Format(Month(Range("A2").Value),"00")
    Set fichier_a_completer = Application.Workbooks.Open("S:\ETS\CLS " & valeur & ".xlsm")
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Février 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Février 2017
    Messages : 23
    Par défaut Choisir le mois dans une date pour servir de condition à l'ouverture d un fichier
    Tout d'abord merci pour ton message,

    après modification du 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
    15
    16
    17
    18
    19
    Sub COPIEDONNEES()
    
    Dim fichier_a_completer As Workbook
    Dim valeur As Date
    
      'fichier de sortie
    valeur = Format(Month(Range("A2").Value), "00")
    Set fichier_a_completer = Application.Workbooks.Open(".....\.....\" & valeur & ".xlsm")
    
      'Ici tu mets les copies des cellules de la feuille d'entrée vers la feuille de sortie
     ThisWorkbook.Worksheets("Sheet1").Range("A2:O65536").Copy Destination:=fichier_a_completer.Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp)
     
      ' Sauvegarde du fichier
     fichier_a_completer.Save
      'ferme le fihcier à compléter
     fichier_a_completer.Close
    
    End Sub
    le résulat de valeur est = 06/01/1900 alors que dans la cellule A2 il 06/07/2017

    je comprends pas pourquoi valeur n est pas égal à "07"

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Remplace
    par
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Février 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Février 2017
    Messages : 23
    Par défaut
    merci pour ton aide,

    cela marche parfaitement

    cdt

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

Discussions similaires

  1. Récupérer le jour, le mois dans une date mysql
    Par sandddy dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/03/2008, 12h54
  2. Extraction du mois dans une date
    Par Kallamou dans le forum Access
    Réponses: 4
    Dernier message: 02/02/2007, 23h13
  3. [Dates] ajouter des mois dans une date
    Par illegalsene dans le forum Langage
    Réponses: 7
    Dernier message: 16/01/2007, 15h41
  4. [Dates] récupérer le mois dans une date
    Par griese dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2006, 16h25
  5. [LG] Extraire le mois dans une date en PASCAL
    Par JPCOCU dans le forum Langage
    Réponses: 1
    Dernier message: 03/10/2005, 16h40

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