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 :

Export sélection filtrée vers fichier txt


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Export sélection filtrée vers fichier txt
    Bonjour

    J'ai cherché sur divers forum ainsi que celui-ci mais je n'ai pas trouvé de réponses complète pour m'en sortir.
    Je souhaiterais exporter une colonne (F) d'un tableau excel qui a été auparavant filtré avec filtre auto sur plusieurs ou une seul colonne (C à E)
    La colonne F contient une formule et je voudrais exporter les valeurs et non la formule. J'arrive a faire l'export et créer le fichier txt mais celui-ci contient toutes les valeurs alors que je voudrais seulement le résultat du filtre.
    Actuellement je fait un copier coller de ce qui est filtré et je le colle dans un fichier txt.
    J'aimerais pour voir le faire en vba que j'appliquerai a un bouton.

    merci pour vos réponses

    Markol

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour copier une plage filtrée il faut utiliser SpecialCells(xlCellTypeVisible)
    Exemple d'une copie de cellules filtrées de la feuille nommée db vers la feuille shtExport (CodeName).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub CopyPaste()
     With ThisWorkbook.Worksheets("db").Range("A1:J106")
     .SpecialCells(xlCellTypeVisible).Copy shtExport.Range("A1")
     End With
    End Sub

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour Philippe

    Merci pour votre réponse mais elle ne fonctionne pas. J'ai essayé sur mon fichier excel et ensuite sur un nouveau en créant les 2 feuilles comme dans l'exemple et dans les 2 cas j'ai une erreur d'éxecution (424) objet requis.

    J'ai oublié de préciser, dans mon fichier la 1ère ligne contient les entêtes et que celle ci ne doit pas être exporté mais uniquement la colonne F depuis la ligne 2 jusqu'au dernier enregistrement visible.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par Markol Voir le message
    Bonjour Philippe
    Merci pour votre réponse mais elle ne fonctionne pas. J'ai essayé sur mon fichier excel et ensuite sur un nouveau en créant les 2 feuilles comme dans l'exemple et dans les 2 cas j'ai une erreur d'éxecution (424) objet requis.
    C'est curieux, je teste toujours les codes avant de les publier et je n'ai pas de message d'erreur (Testé avec la version 2010 mais je ne crois pas que cela change quoi que ce soit avec ce cas précis)
    Mais il est possible que tu n'as pas renommé le CodeName de la feuille que j'utilise dans mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     With ThisWorkbook.Worksheets("db").Range("A1:J106")
     '.SpecialCells(xlCellTypeVisible).Copy shtExport.Range("A1") ' ici CodeName de la feuille
     .SpecialCells(xlCellTypeVisible).Copy Worksheets("Feuil2").Range("A1") ' Là le nom de la feuille
    End With
    J'ai oublié de préciser, dans mon fichier la 1ère ligne contient les entêtes et que celle ci ne doit pas être exporté mais uniquement la colonne F depuis la ligne 2 jusqu'au dernier enregistrement visible.
    Chez moi aussi la première ligne contient l'en-tête mais bien évidemment dans mon exemple, je prend tout. Tu n'as pas précisé dans ta demande qu'il fallait prendre les données filtrées sans les étiquettes.
    Deux exemples où je passe par la feuille (CodeName : shtExport)
    Premier exemple ou rngTo est la variable objet contenant les éléments filtrés sans les étiquettes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim rngFrom As Range, rngTo As Range
    Set rngFrom = ThisWorkbook.Worksheets("db").Range("A1").SpecialCells(xlCellTypeVisible)
    rngFrom.Copy shtExport.Range("A1")
    With shtExport.Range("A1").CurrentRegion
     Set rngTo = .Offset(1).Resize(.Rows.Count - 1)
    End With
    Deuxième exemple avec une variable tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Dim rngFrom As Range, rngTo As Range, myTable()
    Set rngFrom = ThisWorkbook.Worksheets("db").Range("A1").SpecialCells(xlCellTypeVisible)
    rngFrom.Copy shtExport.Range("A1")
    With shtExport.Range("A1").CurrentRegion
     myTable = .Offset(1).Resize(.Rows.Count - 1)
    End With
    Debug.Print myTable(1, 2)

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour Philippe

    Oui je n'avais pas précisé et c'est là que l'on se rend compte entre ce qu'on demande et ce que les autres comprennent. Pour celui qui pose la question c'est évident.

    Je ne comprend pas l'histoire avec le CodeName. J'ai créer un classeur avec 2 feuilles (db et shtExport). Quesque je devrais faire avec le CodeName et où je peux nommer le CodeName de cette feuille?

    Dans ton exemple avec le nom de la feuille (.SpecialCells(xlCellTypeVisible).Copy Worksheets("Feuil2").Range("A1") ' Là le nom de la feuille) cela fonctionne mais avec les 2 autres exemple j'ai de nouveau ce problème. Si tu pouvais m'aider avec ce CodeName comment faire.
    Merci

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Concernant le CodeName d'une feuille, le plus simple est de lire le chapitre II-B-6. CodeName du tuto Description de l'objet Feuille de calcul dans Excel

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour Philippe

    J'ai survolé ton tuto et ça ma l'air plus clair maintenant mais je n'ai eu de temps cette semaine.

    Je vais regarder la semaine prochaine mais je comprend maintenant ce codeName et ou il faut aller pour nommer la feuille.

    Encore un grand MERCI pour ton aide.

Discussions similaires

  1. Export de table vers fichier txt
    Par cetir dans le forum SAS Base
    Réponses: 2
    Dernier message: 20/01/2011, 10h22
  2. Debutant : Export Feuille Excel vers fichier .txt
    Par mat75019 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/12/2008, 07h32
  3. [VBA] Export table access vers fichier.txt
    Par fabiolous dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/04/2007, 17h55
  4. Réponses: 41
    Dernier message: 02/05/2006, 14h17
  5. [MSSqlServeur 2000] export vers fichier txt
    Par squal_13 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/11/2004, 12h19

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