Comment inscrire la rép. de plusieurs cellules dans une meme cel
Résolu
Marie Chant
Messages postés
136
Date d'inscription
Statut
Membre
Dernière intervention
-
Marie Chant Messages postés 136 Date d'inscription Statut Membre Dernière intervention -
Marie Chant Messages postés 136 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Comment inscrire la rép. de plusieurs cellules dans une meme cel
- Formule excel pour additionner plusieurs cellules - Guide
- Comment s'inscrire sur vinted - Guide
- Comment aller à la ligne dans une cellule excel - Guide
- Verrouiller cellules excel - Guide
- Comment s'inscrire sur snapchat - Guide
3 réponses
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)
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)
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
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
Bonjour,
Sans Morefunc, je pense que le plus simple est de passer par VBA.
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".
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".
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
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
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.
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.
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