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

Excel Discussion :

Création d'une macro dans une base de données afin de créer un nouveau classeur [XL-2003]


Sujet :

Excel

  1. #1
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Points : 523
    Points
    523
    Par défaut Création d'une macro dans une base de données afin de créer un nouveau classeur
    Bonjour,

    Je suis en train de créer une base de données et je suis en train de me heurter à un problème certainement déjà connu pour lequel je ne trouve pas de réponse sur le Net.
    Ma macro consiste à ouvrir un nouveau classeur dans lequel viendra se coller des renseignements pris dans ma base de données. Ce nouveau classeur s'intitule donc dès son ouverture : "Classeur 1". A la fin de ma macro le classeur s'enregistre sous un nouveau nom. Jusque là aucun problème.
    Mais dès que je veux recliquer sur le bouton activant ma macro, celà va générer un nouveau classeur qui va s'intutiler "Classeur 2" et là je bloque puisque dans ma macro, Excel ne connait pas "Classeur 2" mais "Classeur 1".
    Je suis obligé pour que çà fonctionne de refermer Excel afin qu'il recrée "Classeur 1" et ce n'est pas ce que je recherche.
    Auriez vous une solution à mon souci de "Classeur 1".
    En vous remerciant...

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Il suffit d'assigner une variable au moment de la création du classeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Dim Wbk As Workbook
        Set Wbk = Workbooks.Add
    Pour l'enregistrer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wbk.SaveAs "cequetuveux.xls"
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Points : 523
    Points
    523
    Par défaut Tjrs un bug sur CLASSEUR 1
    Voici un bout de 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
        Sheets("Feuil1").Select
        Range("D1:E150").Select
        Selection.Copy
        
        Dim Wbk As Workbook
        Set Wbk = Workbooks.Add
        
       
        ActiveSheet.Paste
        Columns("B:B").Select
        Application.CutCopyMode = False
        Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
            :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
        Range("C1").Select
        ActiveCell.FormulaR1C1 = "Prénoms"
        Range("D1").Select
        ActiveCell.FormulaR1C1 = "Groupe"
        Range("D2").Select
        ActiveCell.FormulaR1C1 = "Discipline"
        Range("D2").Select
        Selection.AutoFill Destination:=Range("D2:D150"), Type:=xlFillCopy
        Range("D2:D150").Select
        ActiveWindow.SmallScroll Down:=-132
        Range("E1").Select
        Windows("Donnees globales.xls").Activate
        Range("HN1:HO150").Select
        Range("HO150").Activate
        Selection.Copy
        Windows("Classeur1").Activate
        ActiveSheet.Paste
    En couleur VERT, le code que j'ai rajouté
    En couleur ROUGE, arrêt de la macro car bug.

    Il faut savoir que la macro fait des copier/coller de ma base de données vers le "CLASSEUR 1" plusieurs fois afin d'extraire certaines colonnes.


    Attention dans mon code ce ne sont pas des smiley's mais deux points :
    Cordialement.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Remplace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Windows("Classeur1").Activate
    par :

    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  5. #5
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Points : 523
    Points
    523
    Par défaut
    Ben oui, en + c'est logique.
    Trop de boulot, çà vous ramolli les neurones

    Encore

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

Discussions similaires

  1. Utiliser une valeur d'une variable dans une Macro
    Par ca_adrien dans le forum Macro
    Réponses: 7
    Dernier message: 01/08/2013, 14h14
  2. utiliser une macro dans une macro
    Par Calimero33 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2010, 17h48
  3. Réponses: 2
    Dernier message: 24/02/2009, 17h40
  4. écrire le résultat d'une macro dans une cellule d'une feuille à choisir
    Par ririrourou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2008, 11h56
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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