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 :

Concatener plusieurs colonne avec x critères [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    776
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 776
    Par défaut Concatener plusieurs colonne avec x critères
    salut le phorum

    je me bats depuis ce matin pour réussir à concatener plusieurs colonnes (10) en fonction de critères
    je ne veux pas de concatenation des éléments suivants
    Nom : exclu.jpg
Affichages : 1519
Taille : 14,5 Ko

    uniquement ceux issus de cette liste
    Nom : a concatener.jpg
Affichages : 1482
Taille : 20,2 Ko

    et voici le résultat souhaité
    Nom : EXEMPLE RESULTAT SOUHATE.jpg
Affichages : 1581
Taille : 47,9 Ko

    y a-t-il un moyen simple d'obtenir ce résultat ?

    merci d'avance

    david

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 254
    Par défaut
    Bonjour David,

    Je sens un peu de frustration dans tes paroles !

    Je viens de chercher une solution et j'en ai trouvé un mais elle est relativement lourde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Concatener(SI(AY2=RECHERCHEV(AY2;A1:A30;1;FAUX);AY2;"");SI(AZ2=RECHERCHEV(...
    Et ceci avec toutes les cellules que tu souhaites concaténer.

    Comme je te le disais c'est relativement lourd donc si quelqu'un peut te donner une meilleure solution, je suis moi aussi preneur !

    Bonne journée à toi,

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    776
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 776
    Par défaut
    Citation Envoyé par Trystan441 Voir le message
     
    merci pour ta proposition mais le souci c'est que les fonctions imbriquées SI sont limitées à 7 or j'ai 10 colonnes à tester....

  4. #4
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 254
    Par défaut
    Munity,

    Si jamais tu souhaites éviter VBA, tu peux aussi utiliser la méthode suivante : (composée de SIERREUR)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CONCATENER(SIERREUR(RECHERCHEV(A35;A27:A33;1;FAUX);"");SIERREUR(RECHERCHEV(etc.
    En cas de rajout de critère d'exclusion, passe ta plage en tableau pour que ta zone de recherche devienne dynamique.

    Trystan

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    776
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 776
    Par défaut
    merci de ta réponse
    le VBA me convient aussi

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Une précision, s'il te plaît.
    Les codes à exclure sont-ils reportés dans une feuille de travail, ou peut-on les gérer directement dans VBA?
    La 1ère hypothèse serait la plus simple.

  7. #7
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    A priori, je ne verrais que VBA.
    Une piste en 2 étapes:
    1 - Créer une fonction booléenne Exclu reprenant les codes à exclure. soit regroupés en un tableau Array, soit concaténés en une chaîne de caractères.
    2 - Pour la concaténation, boucler sur les cellules avec la condition
    Exclu(lacellule.Value) = False
    .

    Variante si les codes à exclure figurent sur 1 feuille.
    La recherche du code à exclure n'est rien.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    776
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 776
    Par défaut
    merci à tous les deux pour vos propositions
    effectivement, je pense que VBA serait plus judicieux
    par contre marcel pourrais tu m'aider à développer la macro
    j'arrive à déchiffrer les macros (si pas trop complexes...) mais développer comme indiquer ci dessus
    j'avoue que je sèche un peu....

    on part du principe que dans un onglet je ne mets que les valeurs a concatener
    dans un second les valeurs à exclure
    et dans l'onglet principal, colonne BI j'obtiens mon résultat final

    j'espère que je ne t'en demande pas trop... je voudrais pas abuser

    merci beaucoup

    david

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

Discussions similaires

  1. [XL-2010] Filtrer plusieurs colonnes avec critères différents
    Par amorello dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/05/2015, 14h38
  2. Selection de plusieurs colonnes avec une zone de liste
    Par vinzeffect dans le forum Access
    Réponses: 3
    Dernier message: 20/01/2007, 22h51
  3. plusieurs colonnes avec opérateur IN
    Par inluvwitiou dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/03/2006, 13h29
  4. Requête à plusieurs colonnes avec la fonction COUNT
    Par zigune dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/11/2004, 10h43
  5. Query sur plusieurs colonnes avec count(distinct...)
    Par Jeankiki dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/08/2004, 15h22

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