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 :

Transférer des colonnes vers une autre feuille en fonction d'un mot


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Transférer des colonnes vers une autre feuille en fonction d'un mot
    Bonjour à tous,

    Je voudrais faire une macro pour transférer automatiquement plusieurs colonnes en fonction d'un mot contenu dans le nom de la colonne.

    J'ai un fichier avec plusieurs colonnes, et j'ai plusieurs colonnes avec dans le titre de la colonne le mot photo (photo1, photo2, photo_lib,...).
    Je n'ai pas toujours le même nombre de colonnes et pas toujours dans le même ordre.

    Je voudrais avoir une macro qui me permette de transférer toutes les colonnes qui contiennent le mot photo dans un deuxième onglet.

    Merci d'avance pour votre aide.

    Bonne journée,

    SK

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 414
    Points : 16 256
    Points
    16 256
    Par défaut
    Bonjour

    Si le nombre de colonne est variable, le filtre avancé est délicat.

    Mais avec 2016, PowerQuery, intégré, fera cela très bien... sauf si le résultat doit être complété manuellement d'autres données
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour Chris,

    Je n'ai jamais utilisé Power Query, pourriez-vous svp me donner plus de détails sur les étapes à faire ?

    Merci par avance.

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 414
    Points : 16 256
    Points
    16 256
    Par défaut
    Bonjour

    • Soit 1 soit 2
      1. mettre ta source sous forme de tableau, Nommer le tableau puis Données, A partir d'un tableau
        cela ouvre l'interface PowerQuery

      2. Créer une plage nommée par formule de la plage Source par formule de façon à ce qu'elle soit dynamique.
        Exemple Nom Source, Formule
        Code : Sélectionner tout - Visualiser dans une fenêtre à part
        =DECALER(Feuil1!$A$1;0;0;NBVAL(Feuil1!$A:$A);NBVAL(Feuil1!$1:$1))
        Ensuite : Données, Nouvelle requête, A partir d'autres sources, Requête vide : cela ouvre l'interface PowerQuery
        Dans la barre de formule taper
        Code : Sélectionner tout - Visualiser dans une fenêtre à part
        = Excel.CurrentWorkbook(){[Name="Source"]}[Content]
    • Tes données sources vont apparaitre au centre
    • A droite tu as 3 lignes d'actions : supprime Type Modifié et renomme En-têtes promus en PreviousStep
    • Supprime une colonne (peu importe laquelle) et remplace le code de cette action dans la barre de formule par
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      = Table.RemoveColumns(PreviousStep , List.Select(Table.ColumnNames(PreviousStep ), each Text.Contains(Text.Upper(_),"PHOTO")=false))

    Sortir par Fermer et charger dans, Table : choisir l'emplacement du tableau

    Il suffira d'utiliser Données, Actualiser Tout en cas d'évolution de la source pour mettre à jour la restitution
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  5. #5
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Chocca Voir le message
    Je voudrais avoir une macro qui me permette de transférer toutes les colonnes qui contiennent le mot photo dans un deuxième onglet.
    Il y a plus simple : copier tout l'onglet et supprimer les colonnes qui ne contiennent pas "photo" dans le titre.
    Pour ça, faire une boucle For To allant du dernier numéro de colonne jusqu'à 1 avec un Step -1.
    Pour supprimer une colonne : Columns(x).Delete (x étant le numéro de la colonne ou une variable qui contient ce numéro.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 414
    Points : 16 256
    Points
    16 256
    Par défaut
    RE
    Citation Envoyé par Menhir Voir le message
    Il y a plus simple : copier tout l'onglet et supprimer les colonnes qui ne contiennent pas "photo" dans le titre.
    Pour ça, faire une boucle For To allant du dernier numéro de colonne jusqu'à 1 avec un Step -1.
    Pour supprimer une colonne : Columns(x).Delete (x étant le numéro de la colonne ou une variable qui contient ce numéro.
    3 manips en PowerQuery c'est fait en 5mn et actualisable si nécessaire...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

Discussions similaires

  1. Réponses: 12
    Dernier message: 13/04/2018, 11h15
  2. [XL-2003] Copier automatiquement des valeurs vers une autre feuille
    Par Rabiry dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 24/01/2013, 08h31
  3. Réponses: 3
    Dernier message: 15/11/2011, 14h35
  4. copier le contenu de cellule d'une colonne vers une autre feuille.
    Par vile-coyote dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/11/2010, 06h25
  5. [OE 6.0] Transférer des messages vers une autre identité
    Par Alcatîz dans le forum Outlook Express / Windows Mail
    Réponses: 2
    Dernier message: 10/05/2007, 21h20

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