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 :

Exclamation Besoin d'une fonction Excel du type regroupement de valeurs en fonction de doublons


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Exclamation Besoin d'une fonction Excel du type regroupement de valeurs en fonction de doublons
    Bonjour à tous,

    C'est mon premier post ici et j'avoue que j'espère vraiment avoir de l'aide car ça m'éviterai beaucoup de temps perdu

    Dans le tableau ci-joint, il y a :
    - product_id = identifiant produit (col A)
    - categories_id_new = catégorie du produit correspondant (col C)

    Le problème, un produit peut avoir plusieurs catégories. Donc un product_id peut être affiché plusieurs fois et avoir donc plusieurs categories_id_new.

    Le résultat voulue : avoir en col F les product_id et en col G toutes les categories_id_new pour un produit par ligne ; séparées par une virgule, se serait un must !

    Dans l'idée, ça donnerait un truc du genre (données réelles) :
    {col F} product_id = 53
    {col G} categories_ids = 54, 43 (peu importe l'ordre ici)

    C'est pour un import sur une boutique et étant donné qu'il y a 2000 produits environ, ça serait bien utile voyez-vous

    Je ne vous cache pas que je remercie d'avance tous ceux qui aideront à résoudre ce mystère

    Merci donc
    Arnaud
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Ce code devrait répondre à ton besoin

    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
    Sub Montri()
     
    Dim Rg As Range
    Dim i As Long
    Dim rgAD As String
    Dim l As Long
     
    l = 2
     
    For i = 2 To Range("A65536").End(xlUp).Row
        'Cherche si existant dans la liste cible
        Set Rg = Range("F:F").Find(Range("A" & i).Value, , , xlWhole)
            If Rg Is Nothing Then
     
            Set Rg = Range("A:A").Find(Range("A" & i).Value, , , xlWhole)
                If Not Rg Is Nothing Then
                   Range("F" & l).Value = Rg.Value
                   rgAD = Rg.Address
                   Do
                       If Range("G" & l).Value <> "" Then Range("G" & l).Value = Range("G" & l).Value & ";"
                       Range("G" & l).Value = Range("G" & l).Value & Rg.Offset(0, 2).Value
                       Set Rg = Range("A:A").FindNext(Rg)
                   Loop While Not Rg Is Nothing And Rg.Address <> rgAD
     
                End If
             l = l + 1
        End If
     
    Next i
     
    End Sub
    Jérôme

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Merci :)
    Bonjour jfontaine,
    Merci pour ta réponse rapide déjà, vraiment chapeau.

    Par contre, je suis assez novice sur Excel, je suis sur Mac avec Excel 2008. Comment doit-on intégré ce code, à quel endroit s'il te plait ?

    Merci d'avance
    Arnaud

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Ce code est a placer au niveau de la feuille dans l'éditeur VBA.

    Sous Excel Windows menu Outils / Macros
    Jérôme

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Résolu :)
    Rebonjour et merci pour votre aide

    J'avais posté le sujet sur deux forum en même temps et j'ai trouvé la solution

    arnaud

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/05/2014, 03h21
  2. Réponses: 22
    Dernier message: 24/05/2012, 15h56
  3. fonction excel calcul de nombre de valeur
    Par surftoon dans le forum Excel
    Réponses: 2
    Dernier message: 07/05/2007, 10h18
  4. [VBA-E]Type d'une feuille excel
    Par LitteulKevin dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/05/2004, 14h43

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