Concatener si cellule double

Val -  
dlt-pan Messages postés 529 Statut Membre -
Bonjour,

je cherche depuis 1 heure un truc tout simple que j'ai déjà fais mais je ne me rappelle plus comment.

J'ai le tableau suivant

client---produit
1---A
1---B
2---A
2---C
3---A
3---B
3---C

et je voudrais

client---produit
1---A&B
2---A&C
3---A&B&C

Je pense qu'il y a moyen d'utiliser "simplement" une fonction CONCATENER SI

Merci d'avance de m'éclairer

Cordialement,

8 réponses

  1. dlt-pan Messages postés 529 Statut Membre 67
     
    bonjour
    essaye ceci :
    =SI(ET(A1=A2;A2=A3);(CONCATENER(B1;B2;B3));SI(A1=A2;(CONCATENER(B1;B2));""))
    et recopie vers le bas de la liste

    Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément.
    0
  2. Val
     
    Bonjour,

    ca marche nickel...

    sauf si après j'ajoute par exemple

    client---produit
    4---A
    4---B
    4---C
    4---D

    il répond
    4---ABC
    4---BCD

    alors que je voudrai
    4---ABCD

    Ca peut aller jusque 15 produits différents par clients.

    Merci d'avance
    0
  3. dlt-pan Messages postés 529 Statut Membre 67
     
    bonjour
    je te propose cette petite macro que tu colles dans l'éditeur (ALT+F11) en sélectionnant l'onglet de ton fichier

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Mid(ActiveCell.Address, 2, 1) = "A" Then
    cnt = 1
    For i = 1 To Range("A65536").End(xlUp).Row
    If Cells(i, 1) = Cells(i + 1, 1) Then
        Cells(cnt, 4) = Cells(cnt, 4) & Cells(i, 2)
            If Cells(i + 1, 1) <> Cells(i + 2, 1) Then
                Cells(cnt, 4) = Cells(cnt, 4) & Cells(i + 1, 2)
                Cells(cnt, 3) = Cells(i, 1)
                cnt = cnt + 1
            End If
    End If
    Next i
    End If
    End Sub


    en A tes chiffres
    en B tes lettres
    en C le resumé de tes chiffres
    en D la concatenation des lettres

    pour la lancer doucleclic sur A1
    Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément.
    0
  4. Val
     
    Super !

    Mais... :-)

    j'ai 13 colonnes.

    La 1ere c'est le numéro de client, la 2ème c'est son produit et les 11 autres c'est ses coordonnées (toujours les memes evidement)

    donc il n'y a que la 2eme colonne qui change

    Est-il également possible d'introduire un signe (par exemple "&") entre deux noms de produit ?

    Merci d'avance
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Zoul67 Messages postés 2001 Statut Membre 149
     
    Bonjour,

    J'ai plutôt l'impression qu'un Tableau Croisé Dynamique te permettra d'afficher les données clairement et suivant tes attentes.

    A+
    0
  7. dlt-pan Messages postés 529 Statut Membre 67
     
    Bonjour
    oui c'est possible mais il faut etre precis dans la demande.
    dans quelle colonne veux tu copier la "concatenation" ?
    faut il tenir compte des 11 autres colonnes ?

    0
  8. Val
     
    en réalité, en colonne 1 j'ai le numéro de client
    en 2 j'ai le produit qu'il a et dans les 11 autres j'ai ses coordonnées.

    Ce qu'il me faudrait ce ne plus avoir qu'une seule ligne par client (tjs avec les 13 colonne), mais savoir quels sont tous les produits dont il dispose en colonne 2 (ou dans une nouvelle en n°14 si plus facile).

    Peut etre que le concatener n'est pas la meilleure solution, mais je ne vois pas comment faire

    Merci d'avance
    0
    1. Zoul67 Messages postés 2001 Statut Membre 149
       
      Je ré-essaie : un Tableau Croisé Dynamique ?
      0
    2. Val
       
      Comment ça marche ? :-)
      0
    3. dlt-pan Messages postés 529 Statut Membre 67
       
      Bonjour Zoul67
      pour ma culture, comment fais tu pour que tes données soient en ligne. Moi j'ai un decalage d'une ligne a chaque champ ?
      merci

      J'ai trouvé affichage sous forme tabulaire ....
      0
  9. dlt-pan Messages postés 529 Statut Membre 67
     
    bonjour
    dans ce cas tu crées un tableau croisé dynamique.
    dans l'etiquettes de ligne tu mets toutes tes valeurs et en dernier le produit
    0