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 :

Recherche et mettre les résultats dans une seul cellule


Sujet :

Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Avril 2012
    Messages : 83
    Points : 79
    Points
    79
    Par défaut Recherche et mettre les résultats dans une seul cellule
    Bonjour,

    Je recherche une formule qui me permettra de regrouper toutes les informations dans une seul cellule.

    Je m'explique:

    Mon critére de recherche se trouve "sheet 1" colonnes A : Exemple "Toto"
    Ma table de matrice "sheet 2" à plusieurs fois "Toto" en colonnes A avec une information différente.

    J'aimerai réunir ces informations dans une seule cellule dans colonne B.

    Y a t'il une formule ou une macro qui pourrait réaliser cette opération.

    Merci pour votre aide

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je n'ai pas testé mais en gros ça devrait faire à peu près ce que tu souhaites.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Regrouper()
     
       Dim i as integer, j as integer
     
       For i = 1 to Worksheets("sheet 1").Range("A1").End(xlDown
          For j = 1 to  Worksheets("sheet 2").Range("A1").End(xlDown
             If Worksheets("sheet 1").Cells(i,1) = Worksheets("sheet 2").Cells(j,1) then
                Worksheets("sheet 1").Cells(i,2) = Worksheets("sheet 1").Cells(i,2) & Worksheets("sheet 2").Cells(j,2)
            End If
          Next j
       Next i
     
    End Sub
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Avril 2012
    Messages : 83
    Points : 79
    Points
    79
    Par défaut
    Bonjour,

    J'ai testé la macro mais il me semble qu'elle est incompléte.
    J'ai un message d'erreur dés le lancement.
    J'ai ajouté des ??? là il me semble qu'il manque quelque chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Regrouper()
     
       Dim i as integer, j as integer
     
       For i = 1 to Worksheets("sheet 1").Range("A1").End(xlDown ???
          For j = 1 to  Worksheets("sheet 2").Range("A1").End(xlDown ???
             If Worksheets("sheet 1").Cells(i,1) = Worksheets("sheet 2").Cells(j,1) then
                Worksheets("sheet 1").Cells(i,2) = Worksheets("sheet 1").Cells(i,2) & Worksheets("sheet 2").Cells(j,2)
            End If
          Next j
       Next i

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Il suffit de fermer les parenthèses.
    Tu pourrais faire un minimum d'effort quand même...
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut





    Parenthèse fermante certes, mais sans oublier la propriété Row !


    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  6. #6
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Avril 2012
    Messages : 83
    Points : 79
    Points
    79
    Par défaut
    Oui j' ai quand même fait cet effort. Mais le resultat recherché n'est pas encore ça
    Je n'ai pas d'espace entre chaque valeurs retrouvés

    Est-il possible de mettre les commentaires dans le code afin de savoir comment le modifié ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Regrouper()
     
       Dim i As Integer, j As Integer
     
       For i = 1 To Worksheets("sheet 1").Range("A1").End(xlDown).Row + 1
          For j = 1 To Worksheets("sheet 2").Range("A1").End(xlDown).Row + 1
             If Worksheets("sheet 1").Cells(i, 1) = Worksheets("sheet 2").Cells(j, 1) Then
                Worksheets("sheet 1").Cells(i, 2) = Worksheets("sheet 1").Cells(i, 2) & Worksheets("sheet 2").Cells(j, 2)
            End If
          Next j
       Next i
       End Sub
    Merci les gars !!!! Bonne soirée

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    Parenthèse fermante certes, mais sans oublier la propriété Row !
    J'ai du avoir un copier/coller qui s'est mal passé quand j'ai tapé le code.
    En fait, c'est parce qu'initialement, j'étais parti sur une solution For Each et j'ai ensuite pensé qu'une solution Fo to serait plus facile à comprendre.

    Citation Envoyé par Leodams Voir le message
    Je n'ai pas d'espace entre chaque valeurs retrouvés
    Tu ne l'as pas demandé.

    Est-il possible de mettre les commentaires dans le code afin de savoir comment le modifié ?
    Bien sûr. Et je peux aussi te faire le café.
    Jette un oeil dans l'aide VBA intégrée à Excel et tu n'auras aucune difficulté à comprendre les quelques instructions et méthodes qu'il y a dans ce code.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("sheet 1").Cells(i, 2) = Worksheets("sheet 1").Cells(i, 2) & Worksheets("sheet 2").Cells(j, 2) & vbLf
    MPi²

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/06/2015, 11h55
  2. [XL-2007] Recherche avec plusieurs critéres résultat dans une seul colonne
    Par guigui69 dans le forum Excel
    Réponses: 3
    Dernier message: 24/09/2014, 13h34
  3. Réponses: 3
    Dernier message: 04/03/2014, 22h42
  4. Relation un à n : mettre les résultats sur une seule ligne
    Par juju33 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 13/08/2007, 09h57
  5. Réponses: 3
    Dernier message: 04/07/2006, 16h34

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