Concatination de cellules ayant meme

Bonjour,
je voudrais concaténer des cellules ayant même code en suppriment les doublons par exemple :

A B résultat : A B
x rt résultat : x rt-xv
x xv résultat :
y zz résultat : y zz-yyy
y yyy résultat :
z 11 résultat : z 11

mercie d'avance à m'aider
Configuration: Windows XP
Firefox 3.0.1

4 réponses

  • Votes
  • Date
  • Date décroissante
  1.  

              A                B               C

    1        NOM           Prénom      Prénom NOM

    2        DUGLAND    Alfred         Alfred DUGLAND

    3

    4

    Pour afficher       Alfred DUGLAND        en C2,

    tu tapes :           C2 = B2&" "&A2

    et ça devrait le faire …

     
    1. merci de votre information, mais c'est pas ça exactement l'objectif :

      la concatination des cellules automatiquement suivant un macro ayant des memes codes (voir et analyser bien mon exp SVP)
  2. Contributeur
    Bonjour
    votre question est incomplète
    La solution dépend:
    1°) de la partie du code qui peut être identique, est elle toujours en début ou pas?
    2°)... et surtout de la façon dont vous posez la question qui se doit d'être le plus explicite possible, comme par exemple et entre autres préciser si dans votre tableau les cellules à analyser sont connexes sur la même ligne et si les codes comportent un nombre de caractères identiques
    Si l'on se fie à votre exemple, pour info:
    sien A1:x rt et en B1 x rv
    avec la formule en C1
    =SI(GAUCHE(A1;1)=GAUCHE(B1;1);A1&" "&DROITE(B1;2);A1)
    on obtient en C1: x rt rv si le 1° caractère est identique, sinon ce qu'il y a en A1
    mais ceci est limité à la position des carcatères identiques ou a reporter sur deux cellules contigües.
    (Soit premier caractère identique ou non)
    Tous les codes avec même nombre de caractères (soit le premier à comparer et les deux autres à prendre en compte.)
    Crdlmnt
    1. Merci pour l'info.
      mais mon exemple est définie et explicite à ce que je voudrais avoir
      j'explique encore suivant le premier exemple:
      avec A et B sont des colonnes
      X, Y, Z sont des codes qui peuvent comporter 10 caracteres
      la 1er ligne comporte A1 : X , B1 : "rt"
      la 2eme ligne compote A2 : X, B2 : "xv"
      mon but ici est de regrouper A1 et A2 en une seule Cellule et concatiner B1 avec B2 (cad avoir en B1 "rt-xv")
      exemple 1:
      A B résultat : A B

      x rt résultat : x rt-xv
      x xv résultat :
      y zz résultat : y zz-yyy
      y yyy résultat :
      z 11 résultat : z 11
      j'espere que c'est clair
      merci de votre effort
  3. Contributeur
    Re
    j'espere que c'est clair

    Non pas pour moi,(mais je ne suis pas doué) surtout après la 2° ligne et aussi ce qui se passe en B1 s'il y a déja rt!?
    je pense que la mise à disposition d'un fichier exemple s'impose. !
    Crdlmnt

    1. Contributeur
      Bonjour à tous

      tes codes en colonne A
      tes donn"ées (rt,cv, toto) en colonne B
      les résultats en colonne c
      le tout commence ligne 2 (étiquettes en ligne 1), la concaténation est inscrite sur la Ligne de la 1° occurence d'un code

      essaies cette petite macro:
      Option Explicit
      
      Sub concatener()
      Dim coll As Collection, code As String
      Dim texto As String
      Dim derlig As Long, lig As Long, cptr As Long
      Dim cellule As Range
      
      Range("C2:C65000").ClearContents
      derlig = Range("A65536").End(xlUp).Row
      Set coll = New Collection
      
      For cptr = 2 To derlig
          On Error Resume Next
              coll.Add Cells(cptr, 1).Value, CStr(Cells(cptr, 1).Value)
          On Error GoTo 0
      Next
      For cptr = 1 To coll.Count
          code = coll(cptr)
          texto = code
          For Each cellule In Range("A1:A" & derlig)
              If cellule = code Then
                  texto = texto & "-" & cellule.Offset(0, 1)
              End If
          Next
          lig = Columns(1).Find(code, Range("A1")).Row
          Cells(lig, 3) = texto
       Next
       Set coll = Nothing
      End Sub

      1. bonjour michel
        merci pour votre macro ca marcha tres bien mais reste une petite chose comment meme je voulais la concatination de la colonnes B uniquement en supprimant les doublons (lignes) des codes du colonnes A
        merci encore une fois
      2. @sablito12Bonjour à toute et à tous
        Malheureusement je n'est pas trouvé une solution sur Excel. pour cela j'ai cherché autrement la solution en exploitant mon idée dans Accession 2003 pour y arrivé en appliquant une petite requete ce concatination apres avoir importer mon fichier Excel sous Access, et voila ca marche ....
        la requete est comme suit :
        UPDATE table_compo INNER JOIN classeur_t ON table_compo.Code = classeur_t.Code SET table_compo.repèresSchéma = IIf(table_compo.repèresSchéma="","-",table_compo.repèresSchéma) & classeur_t.emplacement & "-"
        WHERE (((classeur_t.Emplacement)<>""));