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 :

Copier une plage de cellules sous multiples conditions


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Anim'
    Inscrit en
    Décembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Anim'

    Informations forums :
    Inscription : Décembre 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Copier une plage de cellules sous multiples conditions
    Bonjour à tous,

    Je suis nouveau sur le forum, je viens vous soumettre un problème sur lequel j’ai passé pas mal de temps déjà, sans arriver à faire grand chose de tangible. Je n'utilise que les formules de bases d'excel et sans base de programmation, c'est pas facile d'aller un peu plus loin !!

    Voici mon problème:
    J’ai un tableau de présence, dans la colonne A le nom, dans le colonne B le groupe, C la classe et dans la colonne E la présence (1 pour présence, rien pour absence).

    J’aimerai copier automatiquement une plage de noms sur un autre onglet en fonction de leur présence, mais aussi de leur classe et de leur groupe.
    En clair, et par exemplesiI B=2 et C=Classe1 et E=1, alors la cellule est copiée.

    J’ai testé différentes choses avec l’aide de ce topic : ici, mais je ne parviens pas à mes fins, j’ai toujours des erreurs quelque part, et j’avoue ne pas trop comprendre comment est faite la formule sur l’exemple pré cité.

    Je comprends bien que la difficulté n’est pas seulement de copier une donnée sous condition (avec INDEX et NB.SI.EN), mais d’incrémenter la plage de copie…


    Si des gens sont heureux de m’éclairer ou de me donner des pistes ça serait top !

    Merci

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,
    Citation Envoyé par Hiemaintal Voir le message
    Je n'utilise que les formules de bases d'excel et sans base de programmation, [...]
    J’ai un tableau de présence, dans la colonne A le nom, dans le colonne B le groupe, C la classe et dans la colonne E la présence (1 pour présence, rien pour absence).
    J’aimerai copier automatiquement une plage de noms sur un autre onglet en fonction de leur présence, mais aussi de leur classe et de leur groupe.
    Puisque tu n'as pas les connaissances indispensables à l'utilisation du VBA, autant faire ça manuellement avec un filtre élaboré :
    https://support.office.com/fr-fr/art...8-3f16abdff32b
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Anim'
    Inscrit en
    Décembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Anim'

    Informations forums :
    Inscription : Décembre 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour Patrice et merci de ta réponse.

    J'utilise souvent les filtres mais il s'agit là de les extraire de la plage originel pour les copier sur une autre feuille, ce qui n'est pas possible avec les filtres non ?

  4. #4
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    Bonjour

    Est-ce qu'un tableau croisé dynamique pourrait convenir ? Pour l'exemple je l'ai mis sur la même feuille que le tableau source, mais il peut être sur une autre feuille.
    Nom : filtre.jpeg
Affichages : 311
Taille : 177,4 Ko
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Les filtres avancés (Tuto de Philippe Tulliez sur DVP ) dont parle Patrice peuvent faire le boulot, mais en 2016, tu as mieux: Power Query!

    Dans l'onglet Données, tu ajoutes le tableau structuré à la solution Power Query

    Nom : 2019-12-02_210846.png
Affichages : 274
Taille : 19,2 Ko


    Tu filtres sur ce qui te convient,

    Nom : 2019-12-02_210901.png
Affichages : 221
Taille : 17,0 Ko


    La requête est affichée avec les lignes résultant des filtres

    Nom : 2019-12-02_210939.png
Affichages : 228
Taille : 17,1 Ko


    Tu choisis de charger (nouvelle feuille) ou de charger dans... pour choisir les options qui te conviennent

    Nom : 2019-12-02_210953.png
Affichages : 204
Taille : 19,6 Ko


    Le résultat est intégré dans un nouveau tableau Excel. L'avantage par rapport à un filtre avancé, c'est que tu peux actualiser le tableau vert en Excel.
    Nom : 2019-12-02_211008.png
Affichages : 168
Taille : 6,1 Ko



    Tu pourrais également rendre le filtre dynamique, comme je l'illustre dans ce billet.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Anim'
    Inscrit en
    Décembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Anim'

    Informations forums :
    Inscription : Décembre 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour !

    Merci pour vos réponses c'est top !
    Ça m'a permis de découvrir tout un tas de fonctionnalités que je ne supposais même pas et d'amuser ma matinée

    Effectivement j'ai testé avec le Power Query comme Pierre Fauconnier proposait.
    Eh ben j'ai découvert tout un tas de trucs trop cool.

    Quelques limites néanmoins :
    - j'imagine que c'est possible d'actualiser plusieurs requêtes de classeur à la fois ? J'ai créer 36 requêtes pour générer tous les données que je souhaitais, mais c'est long de rafraichir les 36 requêtes d'un coup ! J'imagine que c'est là que la fonction macro rentre en jeu ?
    - comment créer une requête qui permette d'avoir un filtre avec la fonction OU ?
    par exemple : (filtre 1 et filtre 2) OU (filtre 3 et filtre 4)

    Merci en tout cas !!

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Pour actualiser toutes les requêtes, tu as un bouton sur l'onglet "Données" du ruban. Cela actualise toutes les sources du classeur

    Nom : 2019-12-03_173223.png
Affichages : 215
Taille : 29,7 Ko




    Voilà une technique pour avoir un filtre "ou" sur les classes...


    Créer un tableau de critères et y mentionner les classes souhaitées

    Nom : 2019-12-03_173246.png
Affichages : 262
Taille : 34,4 Ko


    Ajouter le tableau à la solution Power Query

    Nom : 2019-12-03_173320.png
Affichages : 379
Taille : 25,2 Ko



    En sélectionnant la table des élèves, fusionner les deux tableaux sur la colonne commune et choisir la bonne jointure pour filtrer les élèves sur les classes mentionnées dans le tableau des critères

    Nom : 2019-12-03_173347.png
Affichages : 177
Taille : 27,8 Ko

    Nom : 2019-12-03_173724.png
Affichages : 202
Taille : 27,2 Ko



    La requête ne renvoie alors dans Excel que les élèves des classes souhaitées

    Nom : 2019-12-03_173816.png
Affichages : 194
Taille : 16,2 Ko



    En modifiant la liste des classes dans le tableau de critères et en actualisant la requête, ton filtre devient dynamique, sans devoir tout remettre en place. Tu crées la solution Power Query puis tu "joues" côté Excel. Si tu ajoutes des données dans la source ou dans le tableau de critères, tu actualises la (les) requête(s) et tout fonctionne sans modifier la structure, ni côté Excel, ni côté PQ.

    Nom : 2019-12-03_173909.png
Affichages : 209
Taille : 9,7 Ko


    Dans le billet de blog que j'ai renseigné, je donne une solution qui "coûte" une colonne de critère booléen dans la source, mais qui permet à PQ d'extraire sur base de la valeur de cette colonne.


    Il est également possible, par exemple avec une colonne formulée dans Power Query, de filtrer avec un critère "OU" multicolonnes. Note que dans Power Query, OR est un opérateur A OR B et non une fonction OR(A; B) comme dans Exel.

    Nom : 2019-12-03_175322.png
Affichages : 217
Taille : 72,0 Ko


    Je précise également que Power Query permet d'ajouter des colonnes (formulées) ou d'en supprimer, de les permuter. Cela remplace donc avantageusement le filtre avancé qui, par la lourdeur de sa mise en place et la répétition des manipulations qu'il imposait pour le réutiliser, n'était, dans les faits pas ergonomique du tout. Power Query offre une solution moderne pour le remplacer (en plus d'offrir bien d'autres choses...)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. [XL-2016] Changement de format d'une plage de cellules sous conditions
    Par Zazinho dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/08/2019, 15h01
  2. [XL-2019] Remplir une plage de cellule sous 2 conditions
    Par gregory.d dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/07/2019, 15h51
  3. [XL-2013] copier une plage de donnée sous condition
    Par T.aissa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/08/2017, 08h28
  4. [VBA-E] Copier une plage de cellules avec critère
    Par jfamiens dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 13/06/2006, 16h34
  5. [VBA] Copier une plage de cellules dans un fichier fermé
    Par SFrane dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/01/2006, 16h52

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