Comment inscrire la rép. de plusieurs cellules dans une meme cel

Résolu/Fermé
Marie Chant Messages postés 137 Date d'inscription lundi 24 mars 2014 Statut Membre Dernière intervention 14 janvier 2025 - 30 janv. 2017 à 16:40
Marie Chant Messages postés 137 Date d'inscription lundi 24 mars 2014 Statut Membre Dernière intervention 14 janvier 2025 - 1 févr. 2017 à 19:26
Bonjour,

je me creuse la tête depuis la semaine dernière pour savoir comment je peux faire pour résoudre mon problème.

je vous l'expose:

Dans un rapport (classeur 1) il y a d'inscrit dans ma colonne A (2) des numéros de dossier soit BA26653123 et il se répète autant de fois que j'ai un numéro dans ma colonne B
exemple:

Colonne A
En A2 BA26653123
En A3 BA26653123
En A4 BA26653123
En A5 HE1654654
En A6 HE1654654
En A7 D1256651

Dans ma colonne B des numéros de factures
En B2 1452-1254
En B3 1452-1255
En B4 1452-1256
En B5 1465-15431
En B6 1465-15432
En B7 2625-12656

Dans ma colonne Y j'ai des montants

J'ai dans une autre classeur(classeur 2) ma matrice soit ce qu'il y a d'inscrit dans la colonne A du classeur 1 MAIS seulement une seule fois (le numéro ne se répète pas).
exemple:
Dans colonne A deuxième classeur:
BA26653123
HE1654654
D1256651
Je voudrais que dans la colonne B (du classeur 2) cela me donne ce qu'il y a d'inscrit dans la colonne B du classeur1 MAIS si j'ai deux numéros (je veux les deux numéros qui correspond a la colonne A dans la même cellule soit B)

Je devrais avoir dans mon classeur 2

en A2 et en B2 (donne moi)
BA26653123 (Déjà inscrit) 1452-1254, 1452-1255, 1452-1256
en A3 et en B3
HE1654654(déjà inscrit) 1465-15431, 146515432
En A4 et en B4
D1256651 (déjà inscrit) 2625-12656

J'ai fait une recherche verticale mais cela me donne seulement le premier et non les autres s'il y en a plus d'un.
=RECHERCHEV(A2;'classeur1'!$A2:$AK2883;2;FAUX)
cela ne me donne pas les trois numéros inscrit dans la colonne B du classeur 1
Que dois-je faire?

Je vous remercie sincèrement de votre aide.





A voir également:

3 réponses

Raymond PENTIER Messages postés 58833 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 21 janvier 2025 17 273
Modifié par Raymond PENTIER le 30/01/2017 à 18:22
Bonjour.

Avant qu'on se mette à travailler sur ton problème, et pour éviter qu'on soit obligés de recommencer, peux-tu vérifier pour toi-même, et nous confirmer ensuite, que c'est bien ce que tu veux :
1452-1254, 1452-1255, 1452-1256 en B2, et non pas 1452-1254 en B2, 1452-1255 en C2 et 1452-1256 en D2 ?
Parce que je ne vois pas bien comment tu pourras exploiter ce résultat concaténé dans une seule cellule ...

C'est bien, la retraite ! Surtout aux Antilles ... :-) 
Raymond (INSA, AFPA, CF/R)
0
Marie Chant Messages postés 137 Date d'inscription lundi 24 mars 2014 Statut Membre Dernière intervention 14 janvier 2025 9
30 janv. 2017 à 19:40
Bonjour,
merci beaucoup de me répondre.

Oui c'est bien 1452-1254, 1452-1255, 1452-1256 (en B2) dans le classeur 2
Merci énormément de ton aide
0
Marie Chant Messages postés 137 Date d'inscription lundi 24 mars 2014 Statut Membre Dernière intervention 14 janvier 2025 9
30 janv. 2017 à 18:25
Bonjour,

merci beaucoup de me répondre.
C'est bien cela je veux que ce qu'il y a d'inscrit dans la colonne B du classeur 1 vienne s'incrire dans la colonne B du deuxième classeur MAIS dans la meme cellule soit 1452-1254, 1452-1255, 1452-1256


merci beaucoup de ton aide
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
30 janv. 2017 à 21:11
Bonsoir à tous,

si tu peux installer Morefunc de Laurent Longre, la solution est rapide :

cordialement
0
Marie Chant Messages postés 137 Date d'inscription lundi 24 mars 2014 Statut Membre Dernière intervention 14 janvier 2025 9
30 janv. 2017 à 21:42
bonjourJvDo,

merci beaucoup de me répondre mais je ne peux installer Morefunc. As-tu une autre idée pour m'aider s.v.p

merci beaucoup
0
Marie Chant Messages postés 137 Date d'inscription lundi 24 mars 2014 Statut Membre Dernière intervention 14 janvier 2025 9
31 janv. 2017 à 13:19
Bonjour JvDo,

je ne trouve toujours pas la solution sans utiliser Morefunc. Auriez-vous une autre idée s.v.p.

Je vous remercie énormément, j'ai vraiment besoin d'aide!

Bonne journée
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858 > Marie Chant Messages postés 137 Date d'inscription lundi 24 mars 2014 Statut Membre Dernière intervention 14 janvier 2025
31 janv. 2017 à 15:49
Bonjour,

Sans Morefunc, je pense que le plus simple est de passer par VBA.
Option Explicit
Sub stat_prono()
    Dim dict_unic As New Scripting.Dictionary       'dico des data
    Dim data()          'Tableau des données qui récupèrera la zone nommée "data"
    Dim k%, NbLig%
    'Affectation des données aux tableaux pour accélérer les calculs
    data = ActiveSheet.Range("data").Value
    'limites des boucles
    NbLig = UBound(data, 1)
    'boucle principale sur les dates
    For k = 1 To NbLig
        If dict_unic.exists(data(k, 1)) Then dict_unic(data(k, 1)) = dict_unic(data(k, 1)) & ", "
        dict_unic(data(k, 1)) = dict_unic(data(k, 1)) & data(k, 2)
    Next k
    Range("i2").Resize(dict_unic.Count) = Application.Transpose(dict_unic.Keys)
    Range("j2").Resize(dict_unic.Count) = Application.Transpose(dict_unic.Items)
End Sub

le résultat ira en I2 du même classeur.
Il faut donc adapter les Range de fin de procédure au bon classeur et onglet.

Cordialement

PS : il faut nommer la zone de données (A2:B7) avec le nom "data".
0
Marie Chant Messages postés 137 Date d'inscription lundi 24 mars 2014 Statut Membre Dernière intervention 14 janvier 2025 9 > JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020
31 janv. 2017 à 16:27
Bonjour JvDo,

je te remercie pour ta rapidité a me répondre. J'en ai bien besoin! J'aurais aimé te faire parvenir un petit fichier pour un exemple mais je ne sais pas comment. Je ne comprends pas très bien la macro VBA que tu viens de me faire parvenir. Je suis très visuel alors j'aurais besoin d'un fichier Excel avec lequel je pourrais décortiquer la macro. je te remercie de ta patience. Je n'excelle pas en macro mais je me débrouille. je me considère comme novice. merci encore de m'aider.
a bientot
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858 > Marie Chant Messages postés 137 Date d'inscription lundi 24 mars 2014 Statut Membre Dernière intervention 14 janvier 2025
Modifié par JvDo le 31/01/2017 à 17:21
Bonjour,

Pour joindre un classeur excel, regarde la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

En attendant, voici le tableau que j'ai utilisé : https://www.cjoint.com/c/GAFqo0Z3W7H

Cordialement

Pour info : pour utiliser l'objet dictionary, il faut ajouter dans VBE\outils\références une référence à la bibliothèque Microsoft Scripting Runtime.
0