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 :

concatener des cellules excel


Sujet :

Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut concatener des cellules excel
    Bonjour
    j'ai un problème d'affichage
    par exemple:
    j'ai un tableau excel:

    nom reference
    ali 100
    ali 103
    ali 200
    moh 050
    moh 090
    moh 102
    selma 012
    selma 090
    yanis 080
    je veux avoir ce resultat dans l'etat de sortie :
    ali 100
    103
    200
    moh 050
    090
    102
    selma 012
    090
    yanis 080
    j'atends votre repense ....merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 598
    Points : 34 283
    Points
    34 283
    Par défaut
    salut,

    j'ai du mal à saisr si tu veux concaténer (comme l'indique ton titre de fil) ou fusionner les cellules (comme l'indique plutôt ton exemple).

    Peux-tu nous en dire un peu plus, ce afin que nous puissions te donner les pistes les plus adaptées à ta problématique
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 428
    Points : 16 279
    Points
    16 279
    Par défaut
    Bonjour

    Comme jpcheck je comprends plutôt un masquage des nom répétés.

    Plutôt que les fusions, sources de 1000 et 1 emm...ments, tu peux utiliser une mise en forme conditionnelle :

    Sélectionne toutes les cellules de la colonne Nom (sauf le titre)
    exemple A2:A20
    et mets une MFC conditionnelle avec comme formule : et comme format un couleur de police identique à la couleur de fond des cellules.

    On ne verra pas la répétition des noms mais tu garderas possibilité de trier, filtrer, etc
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 787
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 787
    Points : 28 661
    Points
    28 661
    Billets dans le blog
    53
    Par défaut
    Bonjour Chris,
    Pour la formule de MFC ne serait-ce pas plutôt ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    salut,

    j'ai du mal à saisr si tu veux concaténer (comme l'indique ton titre de fil) ou fusionner les cellules (comme l'indique plutôt ton exemple).

    Peux-tu nous en dire un peu plus, ce afin que nous puissions te donner les pistes les plus adaptées à ta problématique
    En faite ce que je cherche c'est de concatener les éléments de la cellule reference tant que le nom est le meme

  6. #6
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Une solution, un peu plus longue, serait de faire de tes données 2 colonnes (avec une formule =gauche(), ce devrait être simple) et ensuite de faire un tableau croisé dynamique.

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 787
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 787
    Points : 28 661
    Points
    28 661
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par beautiful soul Voir le message
    En faite ce que je cherche c'est de concatener les éléments de la cellule reference tant que le nom est le meme
    Je pense que tu n'utilises pas le bon vocabulaire.
    Concaténer, c'est mettre bout à bout au moins deux chaînes de caractères.
    Or, soit tu as 2 colonnes Nom & Référence et l'on peut concaténer les deux colonnes dans une autre soit tu as 2 chaines de caractères séparées par un espace dans une colonne et alors on peut garder cette chaîne dans une autre colonne ou séparer l'un des 2 éléments de cette chaîne si une condition est remplie.
    Ou comme l'a suggéré Chris, utiliser une mise en forme conditionnelle pour masquer les cellules d'une colonne si une condition est remplie (ici doublon).
    Essaye d'expliquer clairement ce que tu souhaites avoir comme résultat final.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    en premier separer texte et chiffre une petite fonction d'excel pour avoir deux colonne puis je pense à un outil d'Excel
    qui demande un peu de pratique parce qu'un peu rébarbatif au premier abord
    le Tableau croisé dynamique (souvent cité par TCD )
    un peu de pratique et il devient facile et rapide à employer

  9. #9
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    les formules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =GAUCHE(A1;TROUVE(" ";A1;1))
    attention celle-ci va laisser l'espace après les noms pour supprimer l'espace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =GAUCHE(A1;TROUVE(" ";A1;1)-1)
    dans le premier cas
    pour les nombres tu n'as pas d'espace devant avec cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DROITE(A1;(NBCAR(A1)-NBCAR(B1)))
    avec la deuxième formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DROITE(A1;(NBCAR(A1)-NBCAR(B1)-1))

  10. #10
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 428
    Points : 16 279
    Points
    16 279
    Par défaut
    <Bonjour

    Citation Envoyé par corona Voir le message
    Bonjour Chris,
    Pour la formule de MFC ne serait-ce pas plutôt ?
    Arf j'ai effectivement mal tapé la formule !


    Un TCD sert à faire des ventilations/analyses statistiques et là je ne vois pas de stats dans la question...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  11. #11
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Points : 712
    Points
    712
    Par défaut
    Bonjour à tous

    Peut-être comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Option Explicit
    Dim tablo() As String
     
    Sub lance()
    Dim derlign As Integer
    Dim i As Integer
    Dim mavar As String
    Dim pos As Integer
    Dim Var As String
     
    Range("A1").Select
    derlign = Range("A65536").End(xlUp).Row
    ReDim tablo(derlign)
    For i = 0 To derlign - 1
        mavar = ActiveCell.Offset(i, 0)
        pos = InStr(mavar, " ")
        If Left(mavar, pos - 1) = Var Then tablo(i) = Right(mavar, Len(mavar) - pos) Else tablo(i) = mavar: Var = Left(mavar, pos - 1)
    Next i
    Range("C1:C" & derlign) = Application.Transpose(tablo())
     
    End Sub
    Eric

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    Bonjour a tous
    une fonction personalisée à ajuster
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function suite(macellule)
    m = macellule.Row
    n = macellule.Column
    mazone = Range(Cells(m, n), Cells(m + 10, n))
    u = Left(macellule, InStr(1, macellule, " "))
    v = u
    For Each cel In mazone
    If Left(cel, InStr(1, cel, " ")) = u Then
    v = v & " " & Right(cel, Len(cel) - InStr(1, cel, " "))
    End If
    Next
    suite = v
    End Function
    si ta colonne de donnée commence en A3 par exemple et que tu veuilles la réponse en F15, tu tapes en F15
    = suite (A3) ou A3 est la premiere occurence du nom que tu cherches ( dans ton exemple ALI 100)
    dans cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mazone = Range(Cells(m, n), Cells(m + 10, n))
    le +10 est a ajuster, si tes données ne sont pas triée, tu as interet a mettre un grand nombre, mais si elle sont triée, tu a interet a placer le nombre maxi d'occurence possible, tu n'exploreras que ce nombre, tu gagneras en temps de réponse
    Attention : si tu as plusieur formules dans ta feuille, elle ne sont calculée qu'une fois et ne sont pas mises a jour automatiquement, même avec F9, si elle doivent etre recalculée, tu doit entrer dans la cellule et refaire "Entrer"
    bon dimanche

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 99
    Points : 141
    Points
    141
    Par défaut
    Bonjour à tous
    si tu traites la feuille Feuil1 et que ta liste commence en ligne 4 autrement tu ajustes dans la macro
    a+
    papou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Option Explicit
    Option Base 1
     
    Sub trier()
        Dim i&, fin&, aa As Variant, a&, x, y 'si tu traites la feuil1
        aa = Feuil1.Range("A4:A" & Feuil1.Range("A" & Rows.Count).End(xlUp).Row) 'si ta liste commence en A4
        For i = 1 To UBound(aa)
            For a = i + 1 To UBound(aa)
                x = Split(aa(i, 1)): y = Split(aa(a, 1))
                If x(0) = y(0) Then
                    aa(a, 1) = y(1)
                Else
                    GoTo 1
                End If
           Next a
    1    Next i
        Feuil1.Range("A4").Resize(UBound(aa), UBound(aa, 2)) = aa
    End Sub

Discussions similaires

  1. [VBA-E]Largeur des cellules Excel adaptée au contenu de la cellule
    Par pauletta22 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 24/05/2006, 08h33
  2. Réponses: 3
    Dernier message: 20/02/2006, 15h34
  3. Formater des cellules excel en format nombre
    Par _developpeur_ dans le forum Access
    Réponses: 7
    Dernier message: 09/01/2006, 14h13
  4. Insérer automatiquement des boutons dans des cellules excel
    Par Oaurelius dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/11/2005, 18h38
  5. [Automation Excel] ajuster des cellules excel
    Par willich dans le forum Access
    Réponses: 4
    Dernier message: 10/10/2005, 10h04

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