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 :

extraire une feuille excel [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 33
    Points : 30
    Points
    30
    Par défaut extraire une feuille excel
    Bonjour je souhaite creer une macro qui extrait une feuille d'un fichier excel ouvert pour la stocker dans un nouveau classeur.

    J'ai trouver une solution cependant elle ne me convient pas car j'ai une copie qui apparait et je perd du temp à la supprimer, et quand je veut modifier le code en enlvant la copy ça ne marche plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub CommandButton1_Click()
    Dim fichier As String
    Sheets("Feuil2").Copy
    fichier = "fait par gautier le " & Format(Date, "dd mm yy") & ".xls"
    ActiveWorkbook.SaveCopyAs Filename:="E:\Dir MCA\ASS\Accès libre\TABLEAUX DE BORD\Projet\trace\" & fichier
    End Sub
    Merci de votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Bonjour,

    L'enregistreur de macros est ton ami, il faut toujours penser à lui !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sheets("test").Select
        Sheets("test").Move Before:=Workbooks("Classeur2").Sheets(1)
        Windows("Classeur1").Activate
        ActiveWindow.WindowState = xlNormal
        Windows("Classeur2").Activate
        ActiveWindow.WindowState = xlNormal
    Bon, je te laisse simplifier, enlever ces infâmes Select et tout ce qui est de trop.

    Tu vois donc que tu peux "copy" une sheet mais que tu peux aussi la "move" (pas de copie de faite donc). Tu peux déplacer ta feuille avant ou après une autre dans le nouveau classeur. Je te propose simplement de ré-enregistrer ta macro dans son intégralité en ne cochant pas la case "Créer une copie" lorsque tu fais clic droit sur ta feuille puis "Déplacer ou copier".

    A toi d'adapter pour la mettre dans un classeur qui n'est pas ouvert.

    Bonne chance pour la suite.
    DeaD

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    Je deteste le générateur auto de Excel

    En fait la feuille qui doit être extraite ne doit pas se loger dans un nouveau classeur mais être un nouveau classeur!

  4. #4
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    J'ai trouver une solution cependant elle ne me convient pas car j'ai une copie qui apparait et je perd du temp à la supprimer, et quand je veut modifier le code en enlvant la copy ça ne marche plus
    Il te suffit de remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveCopyAs Filename:="E:\Dir MCA\ASS\Accès libre\TABLEAUX DE BORD\Projet\trace\" & fichier
    Par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveAs Filename:="E:\Dir MCA\ASS\Accès libre\TABLEAUX DE BORD\Projet\trace\" & fichier

    Et ca devrait marcher.


    Je deteste le générateur auto de Excel
    C'est pourtant tellement pratique pour connaitre certaines commandes, a mon sens il faut l'utiliser pour cela pour ensuite coder soit même.


    Edit1: Bonjour Ormonth je crois que l'on a répondu en même temps

  5. #5
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    bonjour,

    Je deteste le générateur auto de Excel
    Tu as peut-être tort , il ne s'agit d'ailleurs pas d'aimer, mais d'utiliser à bon escient.

    En fait la feuille qui doit être extraite ne doit pas se loger dans un nouveau classeur mais être un nouveau classeur!
    Dans le cas présent, il te donne la solution en 2 lignes dont une seule est utile... pas trop mal

    Sinon, une feuille ne peut pas être un classeur, mais un classeur peut ne contenir qu'une feuille (il ne s'agit pas d'ergoter, mais c'est cette approche qui te donne la bonne conceptualisation de ton code )

    Donc après avoir appliqué la ligne donnée par l'enregistreur, tu fais un saveas en donnant le chemin et le nom voulu...


    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  6. #6
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    SaveCopyAs Je n'avait même pas remarquer. Merci à tous pour votre précieuse aide!
    Pour le générateur je vais peut être l'utiliser comme exemple pour des procédure un peu complexe.
    Merci @+

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

Discussions similaires

  1. Comment extraire les selections d'une combobox vers une feuille excel
    Par froggyaz dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/09/2008, 16h58
  2. Extraire les donnees d'une Feuille Excel avec ADO
    Par blondelle dans le forum C++Builder
    Réponses: 1
    Dernier message: 26/02/2008, 21h01
  3. [CR]Importer des données d'une feuille excel
    Par rolan dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 17/12/2004, 22h32
  4. [VBA-E]Type d'une feuille excel
    Par LitteulKevin dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/05/2004, 14h43

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