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 :

Transformation d'une liste


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    juillet 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : juillet 2020
    Messages : 14
    Points : 9
    Points
    9
    Par défaut Transformation d'une liste
    Bonjour,

    J'espère que vous allez bien.

    Mes données sont en PJ. C'est une liste avec des fournisseurs avec les noms des apporteurs d'affaires. Lorsqu'un fournisseur est amené par plusieurs apporteurs d'affaire, il y a une ligne par fournisseur du type :
    001 Fournisseur1 Nicolas
    001 Fournisseur1 Jeannot
    001 Fournisseur1 Olivia

    J'aimerais transformer cette liste pour avoir une ligne par fournisseur et le nom de tous les apporteurs d'affaire dans un même champs (séparé par une virgule et un espace). Par exemple :
    001 Fournisseur1 Nicolas, Jeannot, Olivia
    Comment puis-je faire svp ?

    Pour info, dans le fichier en PJ, j'ai un onglet avec ma liste de départ et un onglet avec le résultat que j'aimerais obtenir.

    Bonne journée,
    Fichiers attachés Fichiers attachés

  2. #2
    Responsable Arduino et Systèmes Embarqués

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    11 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 225
    Points : 48 789
    Points
    48 789
    Billets dans le blog
    17
    Par défaut
    Bonsoir,

    Citation Envoyé par Kikou77 Voir le message
    001 Fournisseur1 Nicolas
    001 Fournisseur1 Jeannot
    001 Fournisseur1 Olivia

    J'aimerais transformer cette liste pour avoir une ligne par fournisseur et le nom de tous les apporteurs d'affaire dans un même champs (séparé par une virgule et un espace). Par exemple :
    001 Fournisseur1 Nicolas, Jeannot, Olivia
    Solution ici Concaténer plusieurs enregistrements dans une seule colonne

  3. #3
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Auditeur
    Inscrit en
    juillet 2012
    Messages
    8 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Auditeur
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2012
    Messages : 8 265
    Points : 77 229
    Points
    77 229
    Billets dans le blog
    15
    Par défaut
    Salut,

    Je pense que la question est relative à Excel. Non ?

    Si oui, une solution avec un TCD, peut-être que cela vous conviendrait.
    Fichiers attachés Fichiers attachés
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  4. #4
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 2 672
    Points : 4 674
    Points
    4 674
    Par défaut
    Bonjour,

    Autre proposition:
    Kikou77_Transformation d'une liste.xlsm

    le code
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Sub Repartition()
        Dim DerLig As Long, i As Long, j As Long
        Application.ScreenUpdating = False
        DerLig = Range("A" & Rows.Count).End(xlUp).Row
     
        'Marquage pour modifier l'ordre des données et retrouver dans l'ordre initial à la fin
        Range("D2").Value = "1"
        Range("D2").AutoFill Destination:=Range("D2:D" & DerLig), Type:=xlFillSeries
     
        'Tri par N° fournisseur et par source
        Range("A2:D" & DerLig).Sort [A1], 1
        Range("A2:D" & DerLig).Sort [B1], 1
     
        Lig = 2
        For i = 2 To DerLig
            If Cells(i, "B") <> Cells(i + 1, "B") Then
                Cells(Lig, "E") = Cells(i, "B")
                Cells(Lig, "F") = Cells(i, "C")
                Cells(Lig, "G") = Cells(i, "A")
                Lig = Lig + 1
            Else
                Cells(Lig, "E") = Cells(i, "B")
                Cells(Lig, "F") = Cells(i, "C")
                Cells(Lig, "G") = Cells(i, "A")
                j = i + 1
                Do While Cells(j, "B") = Cells(i, "B")
                    If Cells(j, "A") <> Cells(j - 1, "A") Then
                        Cells(Lig, "G") = Cells(Lig, "G") & ", " & Cells(j, "A")
                    End If
                    j = j + 1
                Loop
                Lig = Lig + 1
                i = i + 1
            End If
        Next i
        Range("E1").Value = Range("B1").Value
        Range("F1").Value = Range("C1").Value
        Range("G1").Value = Range("A1").Value
        'Tri pour retrouver la configuration initiale
        Range("A2:D" & DerLig).Sort [D1], 1
        Columns(4).ClearContents
    End Sub
    Cdlt

  5. #5
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Auditeur
    Inscrit en
    juillet 2012
    Messages
    8 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Auditeur
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2012
    Messages : 8 265
    Points : 77 229
    Points
    77 229
    Billets dans le blog
    15
    Par défaut
    Salut,

    @ARTURO83 : Belle démonstration
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    juillet 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : juillet 2020
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    merci pour vos réponses.
    La discussion a été déplacée. Elle était initialement dans Access / Requête et SQL.

    Je travaille sous Access et je souhaite mettre en forme une table de manière à passer d'un apporteur d'affaire par ligne et par compagnie à une ligne par compagnie avec tous les apporteur d'affaire sur la même ligne. Est-ce possible de transformer une table pour obtenir ce résultat sous Access 2016 ?

    Merci d'avance pour vos retours,

  7. #7
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Auditeur
    Inscrit en
    juillet 2012
    Messages
    8 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Auditeur
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2012
    Messages : 8 265
    Points : 77 229
    Points
    77 229
    Billets dans le blog
    15
    Par défaut
    Salut Kikou77,

    Dans ta demande initiale, vous n'aviez pas précisé que vous travaillez avec Access, surtout que vous avez mis en pièce jointe un fichier Excel : ce qui porte à confusion.
    Également poster un fichier dès le début du fil est contraire aux règles du Club.

    Par ailleurs f-leb a fourni un lien vers la FAQ Access qui pourrait répondre à ta problématique. Sinon, je vous invite à créer un nouveau fil dans le forum Access et expliquer, comme vous venez de le faire avec capture d'écran, ce que vous souhaitez.

    et bon courage

    Malick
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

Discussions similaires

  1. Transformation d'une liste d'objets
    Par Oussema86 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/11/2016, 15h50
  2. Réponses: 2
    Dernier message: 15/02/2007, 23h00
  3. Transformer une liste en tableau
    Par basket dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 07/09/2006, 17h01
  4. [XSLT]Transformation d'une liste de virgule
    Par Le-Cortex dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 22/03/2006, 18h18
  5. Transformer une liste en chaîne de caractères
    Par nounjours dans le forum Prolog
    Réponses: 1
    Dernier message: 23/02/2006, 16h41

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