Posez votre question Signaler

EXCEL: Concaténer une plage de cellules [Résolu]

BertyBoy 8Messages postés jeudi 21 août 2008Date d'inscription 26 août 2008Dernière intervention - Dernière réponse le 1 mars 2015 à 13:04
Bonjour,
Je souhaite réaliser un traitement sur un plage de cellules excel sans réaliser de macros...
Ce que je veux:
1- Faire une recherche sur une plage de cellules excel pour trouver les cellules contenant les informations qui m'interressent et récupérer ces cellules (ou plutot les informationsdes cellules).
2- Concaténer tous les résultats de la recherche précedente séparés d'un espace dans une cellule résultat.
Je n'arrive même pas à concaténer une plage de cellules, la fonction ne semble pas marcher sur une plage et je ne trouve rien dans les forums sur ce sujet...
HELP!
Merci d'avance,
B.
Lire la suite 
Réponse
+35
moins plus
tu peux peut être bidouiller comme cela:

pour concatener les cellules A1à A10:
En B1 tu met =A1
En B2= B1&A2
Et apres tu tires ta formule sur tte la colonne B ca devrait concatener toute ta colonne A

J'espère que c'est clair, il doit y avoir une meilleure solution mais pour l'instant je sèche
khan- 22 juil. 2014 à 12:53
Un grand merci tu viens de me faire gagner au moins 5h!
Répondre
Bravo- 24 juil. 2014 à 11:02
Merci ce grand
Répondre
jflb- 26 août 2014 à 09:49
c'est une bidouille qui marche!
Répondre
laubergeduchat- 27 oct. 2014 à 15:40
Génial . Mercissssssssssssssssssssssssssssssssssssss
Répondre
mikee- 1 mars 2015 à 13:04
J'adore vous être trop fort
Répondre
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+19
moins plus
en vba tu pourrais faire ainsi :
Dans un module coller une fonction personnalisée :
Function ConcatPlage(plage As Range, contenant As String, séparateur As String) As String
    Dim rep As String, c As Range
    For Each c In plage
        If InStr(c.Value, contenant) > 0 Then
            rep = rep & c.Value & séparateur
        End If
    Next c
    ConcatPlage = Left(rep, Len(rep) - Len(séparateur))
End Function

Dans une feuille 'inserer / fonction / personnalisée' et choisir ConcatPlage.
Cette fonction attend 3 paramètres :
- plage : la plage à balayer (la désigner à la souris)
- contenant : la chaine devant être contenue dans chaque cellule de plage pour être dans la concaténation.
- séparateur : la chaine séparant chaque cellule concaténée (1 ou plusieurs caractères)

Fait sommairement avec les éléments que tu as donné, nécessite peut-être des adaptations pour ton cas précis.
exemple :
http://www.cijoint.fr/cjlink.php?file=cj200808/cijryw0Xms.xls

eric
Oriane- 29 mai 2012 à 09:44
Merci Eric pour ta réponse. J'aimerais concatener les cellules non vides d'une plage de cellule. Pourrais-tu m'aider créer une fonction VBA qui produirait un tel résultat?
Merci d'avance.
Répondre
Oriane- 29 mai 2012 à 09:45
Je ne sais pas si ça peut mais les cellules que je souhaite concatener se trouvent dans la même colonne.
Répondre
eriiic 17954Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 23 mai 2015Dernière intervention - 29 mai 2012 à 11:59
Bonjour,

Concatène les cellules non vide d'un plage horizontale ou verticale:

Function ConcatPlageCelNonVides(plage As Range, Optional séparateur As String = ", ") As String 
    Dim rep As String, c As Range 
    For Each c In plage 
        If c.Value <> "" Then 
            rep = rep & c.Value & séparateur 
        End If 
    Next c 
    ConcatPlageCelNonVides = Left(rep, Len(rep) - Len(séparateur)) 
End Function 

Si la chaine de séparation n'est pas indiquée, par défaut elle est définie par ", ".

Syntaxes :
plage verticale :
=ConcatPlageCelNonVides(A2:A13)
plage horizontale en imposant le séparateur " - "
=ConcatPlageCelNonVides(C2:N2;" - ")

eric
Répondre
Oriane- 29 mai 2012 à 13:42
Merci beaucoup Eric, la fonction marche parfaitement. C'est ce qu'il me fallait ! :)
Excellente journée à toi
Répondre
Youyou- 7 juin 2012 à 11:35
Bonjour,
Je suis désolée de poster ici, j'ai essayé de reproduire votre fonction mais cela ne fonctionne pas... excel continue de me dire #NOM?
J'ai fait un poste aujourd'hui (Excel: concatener des cellules) mais la seule réponse que j'ai eu n'était pas très constructive, peut-être est-ce que vous pouvez m'aider?
Par avance merci!
Répondre
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+3
moins plus
Bonjour,

Je n'ai pas tout à fait saisi ton histoire de recherche mais pour ce qui est de concatener une plage de cellules avec des espaces entre les chaînes de caractères, tu peux essayer: =CONCATENER(" '";A1;" ";A2;" ";A3;" ") (pour plage de cellules A1:A3

J'espère que ça t'aidera,
Bon courage
edokt- 2 nov. 2010 à 09:20
Concaténer plage ça ne marche pas
Répondre
Ajouter un commentaire
Réponse
+3
moins plus
Salut!

Merci pour ta réponse.
En fait, je veux rechercher une liste de caractères sur une plage de cellules et garder les résultats.

exemple:
Je veux chercher dans la plage de cellules A1:A100 toutes les cellules contenant du texte commençant par "R" et garder tous les résultats. La deuxième partie consiste à afficher les résultats séparés par des espaces dans une seule cellule résultante.

En ce qui concerne la fonction "concatener", ça ne marche pas si tu insères une ligne entre la cellule A1 et la cellule A3...Il ne prendra pas en compte les 4 lignes pour la concaténation. Or j'ai besoin d'insérer des lignes pour insérer des noms.
La fonction que je veux mettre en place me permet d'afficher une solution récapitulative.

Merci d'avance pour ta réponse,
Cdlt,
Bertrand
Ajouter un commentaire
Réponse
+2
moins plus
Bonjour,

Et comment je peux faire en VBA?

Merci d'avance pour ta réponse,
B.
Ajouter un commentaire
Réponse
+1
moins plus
MERCI à vous deux! je vais essayer de mettre tout ça en application..!
Je vous tiens au courant!
++
B.
Ajouter un commentaire
Réponse
+1
moins plus
Par contre j'ai un pb d'adsl chez moi et je risque d'avoir des difficulté pour me connecter jusqu'à jeudi soir...
eric
Ajouter un commentaire
Réponse
+1
moins plus
Moi j'ai fait comme suit
Col A | Col B
Txt1 | =A
Txt2 | =CONCATENER(A2;B1) Résultat "Txt1Txt2"
Txt3 | =CONCATENER(A3;B2) Résultat "Txt1Txt2Txt3"
etc...

RB
Soria- 8 mai 2012 à 06:01
La méthode de klrblz est la meilleure, merci !
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

possible uniquement en vba...
eric
Ajouter un commentaire
Réponse
+0
moins plus
Salut tout le monde

Ce que je vais demander va paraitre asser compliqué mais se serait géniale de trouver une réponse sachant que ça fait des jours que j'en cherche une en vain ..

J'ai une colonne A possédant des cellules certaines avec des caractères d'autres avec des nombres et d'autres vides.Et de l'autre coté j'ai une colonne B possédant des cellules avec des caracteres et d'autres vides.En fait les cellules de la colonne B contenaient des phrases qui ses sont découpés et certains mots ont été renvoyé dans les cellules de la colonne A.Je voudrais créér une macro qui recherche dans la colonne A les cellules contenants les caractères renvoyés (les bout de phrases découpée) et qui les recopie dans la colonne B dans les cellules visées (pour que les phrases se reforment).Comme les celulles contenant des nombre et les cellules vides ne m'interessent pas je voudrais que la macro ne les prenne pas en compte et continue sa recherche (dans la colonne A) tant qu'elle ne tombe pas sur une cellule contenant des caractères.

Je ne sais pas si je me suis bien exprimés mais si quelqun est asser compétent dans ce domaine sa serait gentil de me proposer une réponse et surtout ça m'aiderait beaucouup ^^
eriiic 17954Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 23 mai 2015Dernière intervention - 5 sept. 2013 à 18:51
Bonjour,

démarre ta propre question si tu veux des réponses.
Et joint un fichier de travail avec tous les cas de figure et le résultat attendu.
A déposer sur cjoint.com et coller ici le lien fourni.
eric
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

J'ai viens de posté mon fichier comme demandé.Le lien est :http://cjoint.com/?CIgjYwaN3hI

Cordialement
eriiic 17954Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 23 mai 2015Dernière intervention - 6 sept. 2013 à 10:34
Bonjour,

tu es sur un vieux fil qui date de 5 ans.
J'ai dit : démarre une nouvelle question
eric
Répondre
dilly213 24Messages postés mercredi 4 septembre 2013Date d'inscription 11 octobre 2013Dernière intervention - 6 sept. 2013 à 10:55
C'est fait ;)
Répondre
dilly213 24Messages postés mercredi 4 septembre 2013Date d'inscription 11 octobre 2013Dernière intervention - 6 sept. 2013 à 15:04
je suis dans la discussion macro/fonction on a pas mal avancé mais il reste quelques petits problèmes..
Répondre
Ajouter un commentaire
Ce document intitulé «  EXCEL: Concaténer une plage de cellules  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.