concaténation de données dans des lignes différentes

Le
Orsu
Bonjour à tous, je bute sur le pbme suivant .
Aprés export d'une bd dans Excel j'ai des informations se rapportant à un
même identifiant qui apparaissent dans plusieurs lignes mais dans des
colonnes différentes ; par hypothèse, et pour un même identifiant, si une
colonne est remplie dans une ligne, elle ne l'est pas dans les autres.
Autre précision, un identifiant n'a pas toujours le même nombre de lignes
(en gros de 1 à 6).
En résumé, je cherche au final à disposer d'une seule ligne par identifiant
agrégeant l'ensemble des informations des lignes initiales (l'équivalent
d'une concaténation).

Si un bienfaiteur peut m'indiquer quelques pistes (formules, macros, ) je
suis preneur..

Merci d'avance pour vos lumières !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4508601
Bonjour.
Quelques précisions. Si l'identifiant est en colonne A, sur la deuxième
ligne de données concernant cet identifiant, retrouve-t-on l'identifiant en
colonne A ou y a-t-il des données en colonne A concernant cet identifiant.
Si oui, comment reconnaît-on un identifiant ?
exemple1
A1 ID1, B1 donnée1, A2 ID1, B2 donnée n
exemple 2
A1 ID1, B1 donnée1, A2 donnée n
lequel de ces 2 exemples est le bon ?
Cordialement.
Daniel
"Orsu"
Bonjour à tous, je bute sur le pbme suivant .
Aprés export d'une bd dans Excel j'ai des informations se rapportant à un
même identifiant qui apparaissent dans plusieurs lignes mais dans des
colonnes différentes ; par hypothèse, et pour un même identifiant, si une
colonne est remplie dans une ligne, elle ne l'est pas dans les autres.
Autre précision, un identifiant n'a pas toujours le même nombre de lignes
(en gros de 1 à 6).
En résumé, je cherche au final à disposer d'une seule ligne par
identifiant
agrégeant l'ensemble des informations des lignes initiales (l'équivalent
d'une concaténation).

Si un bienfaiteur peut m'indiquer quelques pistes (formules, macros, ...)
je
suis preneur.....

Merci d'avance pour vos lumières !


Orsu
Le #4508581
Merci de t'interesser à mon pbme.

Ci-joint les précisions demandées :
L'identifiant est toujours dans la même colonne, quel que soit le nb de
lignes : c'est donc la structure de l'exemple 1 qui se rapproche le plus de
ma base.

Bien cordialement, Orsu

"Daniel" wrote:

Bonjour.
Quelques précisions. Si l'identifiant est en colonne A, sur la deuxième
ligne de données concernant cet identifiant, retrouve-t-on l'identifiant en
colonne A ou y a-t-il des données en colonne A concernant cet identifiant.
Si oui, comment reconnaît-on un identifiant ?
exemple1
A1 ID1, B1 donnée1, A2 ID1, B2 donnée n
exemple 2
A1 ID1, B1 donnée1, A2 donnée n
lequel de ces 2 exemples est le bon ?
Cordialement.
Daniel
"Orsu"
Bonjour à tous, je bute sur le pbme suivant .
Aprés export d'une bd dans Excel j'ai des informations se rapportant à un
même identifiant qui apparaissent dans plusieurs lignes mais dans des
colonnes différentes ; par hypothèse, et pour un même identifiant, si une
colonne est remplie dans une ligne, elle ne l'est pas dans les autres.
Autre précision, un identifiant n'a pas toujours le même nombre de lignes
(en gros de 1 à 6).
En résumé, je cherche au final à disposer d'une seule ligne par
identifiant
agrégeant l'ensemble des informations des lignes initiales (l'équivalent
d'une concaténation).

Si un bienfaiteur peut m'indiquer quelques pistes (formules, macros, ...)
je
suis preneur.....

Merci d'avance pour vos lumières !







Daniel
Le #4508381
Regarde la macro "Regrouper" du classeur à l'adresse :
http://cjoint.com/?frrr6pA7zM
Il ne faut toutefois pas avoir plus de 255 cellules par identifiant à moins
que tu n'utilises XL2007.
Daniel
"Orsu"
Merci de t'interesser à mon pbme.

Ci-joint les précisions demandées :
L'identifiant est toujours dans la même colonne, quel que soit le nb de
lignes : c'est donc la structure de l'exemple 1 qui se rapproche le plus
de
ma base.

Bien cordialement, Orsu

"Daniel" wrote:

Bonjour.
Quelques précisions. Si l'identifiant est en colonne A, sur la deuxième
ligne de données concernant cet identifiant, retrouve-t-on l'identifiant
en
colonne A ou y a-t-il des données en colonne A concernant cet
identifiant.
Si oui, comment reconnaît-on un identifiant ?
exemple1
A1 ID1, B1 donnée1, A2 ID1, B2 donnée n
exemple 2
A1 ID1, B1 donnée1, A2 donnée n
lequel de ces 2 exemples est le bon ?
Cordialement.
Daniel
"Orsu"
Bonjour à tous, je bute sur le pbme suivant .
Aprés export d'une bd dans Excel j'ai des informations se rapportant à
un
même identifiant qui apparaissent dans plusieurs lignes mais dans des
colonnes différentes ; par hypothèse, et pour un même identifiant, si
une
colonne est remplie dans une ligne, elle ne l'est pas dans les autres.
Autre précision, un identifiant n'a pas toujours le même nombre de
lignes
(en gros de 1 à 6).
En résumé, je cherche au final à disposer d'une seule ligne par
identifiant
agrégeant l'ensemble des informations des lignes initiales
(l'équivalent
d'une concaténation).

Si un bienfaiteur peut m'indiquer quelques pistes (formules, macros,
...)
je
suis preneur.....

Merci d'avance pour vos lumières !









JB
Le #4508111
Bonjour,

Sub transforme()
ncol = Sheets(1).[A1].CurrentRegion.Columns.Count
LigneSrc = 1
ligneDest = 1
Do While Sheets(1).Cells(LigneSrc, 1) <> ""
temp = Sheets(1).Cells(LigneSrc, 1)
Sheets(2).Cells(ligneDest, 1) = temp
Do While Sheets(1).Cells(LigneSrc, 1) = temp
For Col = 2 To ncol
If Sheets(1).Cells(LigneSrc, Col) <> "" Then _
Sheets(2).Cells(ligneDest, Col) = Sheets(1).Cells(LigneSrc,
Col)
Next Col
LigneSrc = LigneSrc + 1
Loop
ligneDest = ligneDest + 1
Loop
End Sub

http://cjoint.com/?frtzVlKI7x

Cordialement JB

On 17 mai, 14:17, Orsu
Bonjour à tous, je bute sur le pbme suivant .
Aprés export d'une bd dans Excel j'ai des informations se rapportant à un
même identifiant qui apparaissent dans plusieurs lignes mais dans des
colonnes différentes ; par hypothèse, et pour un même identifiant, si une
colonne est remplie dans une ligne, elle ne l'est pas dans les autres.
Autre précision, un identifiant n'a pas toujours le même nombre de li gnes
(en gros de 1 à 6).
En résumé, je cherche au final à disposer d'une seule ligne par ide ntifiant
agrégeant l'ensemble des informations des lignes initiales (l'équival ent
d'une concaténation).

Si un bienfaiteur peut m'indiquer quelques pistes (formules, macros, ...) je
suis preneur.....

Merci d'avance pour vos lumières !


Orsu
Le #4508051
Merci à Daniel pour sa réponse, qui fonctionne trés bien compte tenu de mes
maigres explications..., mais, pour d'autres motifs de contexte, la solution
que tu as proposée correspond quasiment parfaitement à ce que je recherche,
et donc un grand merci à toi .

Une seule petite question d'adaptation : l'identifiant n'est pas dans la
première colonne mais dans la 7eme : peux tu m'indiquer quel élément modifier
dans la macro stp (je sais que mon ignorance est vraiment pathétique .....)

Merci d'avance !!

"JB" wrote:

Bonjour,

Sub transforme()
ncol = Sheets(1).[A1].CurrentRegion.Columns.Count
LigneSrc = 1
ligneDest = 1
Do While Sheets(1).Cells(LigneSrc, 1) <> ""
temp = Sheets(1).Cells(LigneSrc, 1)
Sheets(2).Cells(ligneDest, 1) = temp
Do While Sheets(1).Cells(LigneSrc, 1) = temp
For Col = 2 To ncol
If Sheets(1).Cells(LigneSrc, Col) <> "" Then _
Sheets(2).Cells(ligneDest, Col) = Sheets(1).Cells(LigneSrc,
Col)
Next Col
LigneSrc = LigneSrc + 1
Loop
ligneDest = ligneDest + 1
Loop
End Sub

http://cjoint.com/?frtzVlKI7x

Cordialement JB

On 17 mai, 14:17, Orsu
Bonjour à tous, je bute sur le pbme suivant .
Aprés export d'une bd dans Excel j'ai des informations se rapportant à un
même identifiant qui apparaissent dans plusieurs lignes mais dans des
colonnes différentes ; par hypothèse, et pour un même identifiant, si une
colonne est remplie dans une ligne, elle ne l'est pas dans les autres.
Autre précision, un identifiant n'a pas toujours le même nombre de lignes
(en gros de 1 à 6).
En résumé, je cherche au final à disposer d'une seule ligne par identifiant
agrégeant l'ensemble des informations des lignes initiales (l'équivalent
d'une concaténation).

Si un bienfaiteur peut m'indiquer quelques pistes (formules, macros, ...) je
suis preneur.....

Merci d'avance pour vos lumières !







JB
Le #4507971
J'ai supposé qu'il y avait 7 colonnes. S'il y a + de 7 colonnes,
rétablir la boucle en commentaire.

http://cjoint.com/?frvfpllKyz

JB

On 17 mai, 20:04, Orsu
Merci à Daniel pour sa réponse, qui fonctionne trés bien compte ten u de mes
maigres explications..., mais, pour d'autres motifs de contexte, la solut ion
que tu as proposée correspond quasiment parfaitement à ce que je rech erche,
et donc un grand merci à toi .

Une seule petite question d'adaptation : l'identifiant n'est pas dans la
première colonne mais dans la 7eme : peux tu m'indiquer quel élémen t modifier
dans la macro stp (je sais que mon ignorance est vraiment pathétique .. ...)

Merci d'avance !!



"JB" wrote:
Bonjour,

Sub transforme()
ncol = Sheets(1).[A1].CurrentRegion.Columns.Count
LigneSrc = 1
ligneDest = 1
Do While Sheets(1).Cells(LigneSrc, 1) <> ""
temp = Sheets(1).Cells(LigneSrc, 1)
Sheets(2).Cells(ligneDest, 1) = temp
Do While Sheets(1).Cells(LigneSrc, 1) = temp
For Col = 2 To ncol
If Sheets(1).Cells(LigneSrc, Col) <> "" Then _
Sheets(2).Cells(ligneDest, Col) = Sheets(1).Cells(LigneSrc,
Col)
Next Col
LigneSrc = LigneSrc + 1
Loop
ligneDest = ligneDest + 1
Loop
End Sub

http://cjoint.com/?frtzVlKI7x

Cordialement JB

On 17 mai, 14:17, Orsu
Bonjour à tous, je bute sur le pbme suivant .
Aprés export d'une bd dans Excel j'ai des informations se rapportan t à un
même identifiant qui apparaissent dans plusieurs lignes mais dans d es
colonnes différentes ; par hypothèse, et pour un même identifia nt, si une
colonne est remplie dans une ligne, elle ne l'est pas dans les autres.
Autre précision, un identifiant n'a pas toujours le même nombre d e lignes
(en gros de 1 à 6).
En résumé, je cherche au final à disposer d'une seule ligne par identifiant
agrégeant l'ensemble des informations des lignes initiales (l'équ ivalent
d'une concaténation).

Si un bienfaiteur peut m'indiquer quelques pistes (formules, macros, ...) je
suis preneur.....

Merci d'avance pour vos lumières !- Masquer le texte des messages p récédents -



- Afficher le texte des messages précédents -




Orsu
Le #4507831
Merci beaucoup, c'est exactement ce que j'espérais !

C'est vraiment super de pouvoir trouver autant de réactivité et de conseils
avisés (et c'est un euphémisme !!!) dans des délais aussi brefs.

Je vais pour ma part tenter de procéder à quelques modifs pour permettre à
l'utilisateur de pouvoir choisir le n° de colonne dans lequel se trouve
l'identifiant de référence (en fonction de l'extraction réalisée dans la bd,
il n'est pas toujours dans la même colonne : c'aurait été trop simple....).

Merci encore au forum et plus particulièrement à JB

"JB" wrote:

J'ai supposé qu'il y avait 7 colonnes. S'il y a + de 7 colonnes,
rétablir la boucle en commentaire.

http://cjoint.com/?frvfpllKyz

JB

On 17 mai, 20:04, Orsu
Merci à Daniel pour sa réponse, qui fonctionne trés bien compte tenu de mes
maigres explications..., mais, pour d'autres motifs de contexte, la solution
que tu as proposée correspond quasiment parfaitement à ce que je recherche,
et donc un grand merci à toi .

Une seule petite question d'adaptation : l'identifiant n'est pas dans la
première colonne mais dans la 7eme : peux tu m'indiquer quel élément modifier
dans la macro stp (je sais que mon ignorance est vraiment pathétique ......)

Merci d'avance !!



"JB" wrote:
Bonjour,

Sub transforme()
ncol = Sheets(1).[A1].CurrentRegion.Columns.Count
LigneSrc = 1
ligneDest = 1
Do While Sheets(1).Cells(LigneSrc, 1) <> ""
temp = Sheets(1).Cells(LigneSrc, 1)
Sheets(2).Cells(ligneDest, 1) = temp
Do While Sheets(1).Cells(LigneSrc, 1) = temp
For Col = 2 To ncol
If Sheets(1).Cells(LigneSrc, Col) <> "" Then _
Sheets(2).Cells(ligneDest, Col) = Sheets(1).Cells(LigneSrc,
Col)
Next Col
LigneSrc = LigneSrc + 1
Loop
ligneDest = ligneDest + 1
Loop
End Sub

http://cjoint.com/?frtzVlKI7x

Cordialement JB

On 17 mai, 14:17, Orsu
Bonjour à tous, je bute sur le pbme suivant .
Aprés export d'une bd dans Excel j'ai des informations se rapportant à un
même identifiant qui apparaissent dans plusieurs lignes mais dans des
colonnes différentes ; par hypothèse, et pour un même identifiant, si une
colonne est remplie dans une ligne, elle ne l'est pas dans les autres.
Autre précision, un identifiant n'a pas toujours le même nombre de lignes
(en gros de 1 à 6).
En résumé, je cherche au final à disposer d'une seule ligne par identifiant
agrégeant l'ensemble des informations des lignes initiales (l'équivalent
d'une concaténation).

Si un bienfaiteur peut m'indiquer quelques pistes (formules, macros, ....) je
suis preneur.....

Merci d'avance pour vos lumières !- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -









JB
Le #4507811
Bonjour,

Sub Transforme()
Ncol = 20
ColRef = 7 'ColRef = Application.InputBox("ColRef (1,2,3,..)?",
Type:=1)
LigneSrc = 1
ligneDest = 1
Do While Sheets(1).Cells(LigneSrc, ColRef) <> ""
temp = Sheets(1).Cells(LigneSrc, ColRef)
Sheets(2).Cells(ligneDest, ColRef) = temp
Do While Sheets(1).Cells(LigneSrc, ColRef) = temp
For Col = 1 To Ncol
If Sheets(1).Cells(LigneSrc, Col) <> "" And Col <> ColRef Then
_
Sheets(2).Cells(ligneDest, Col) = Sheets(1).Cells(LigneSrc,
Col)
Next Col
LigneSrc = LigneSrc + 1
Loop
ligneDest = ligneDest + 1
Loop
End Sub

http://cjoint.com/?fseKSNZkdL

Cordialement JB
On 17 mai, 23:50, Orsu
Merci beaucoup, c'est exactement ce que j'espérais !

C'est vraiment super de pouvoir trouver autant de réactivité et de co nseils
avisés (et c'est un euphémisme !!!) dans des délais aussi brefs.

Je vais pour ma part tenter de procéder à quelques modifs pour permet tre à
l'utilisateur de pouvoir choisir le n° de colonne dans lequel se trouve
l'identifiant de référence (en fonction de l'extraction réalisée dans la bd,
il n'est pas toujours dans la même colonne : c'aurait été trop simp le....).

Merci encore au forum et plus particulièrement à JB



"JB" wrote:
J'ai supposé qu'il y avait 7 colonnes. S'il y a + de 7 colonnes,
rétablir la boucle en commentaire.

http://cjoint.com/?frvfpllKyz

JB

On 17 mai, 20:04, Orsu
Merci à Daniel pour sa réponse, qui fonctionne trés bien compte tenu de mes
maigres explications..., mais, pour d'autres motifs de contexte, la s olution
que tu as proposée correspond quasiment parfaitement à ce que je recherche,
et donc un grand merci à toi .

Une seule petite question d'adaptation : l'identifiant n'est pas dans la
première colonne mais dans la 7eme : peux tu m'indiquer quel él ément modifier
dans la macro stp (je sais que mon ignorance est vraiment pathétiqu e ......)

Merci d'avance !!

"JB" wrote:
Bonjour,

Sub transforme()
ncol = Sheets(1).[A1].CurrentRegion.Columns.Count
LigneSrc = 1
ligneDest = 1
Do While Sheets(1).Cells(LigneSrc, 1) <> ""
temp = Sheets(1).Cells(LigneSrc, 1)
Sheets(2).Cells(ligneDest, 1) = temp
Do While Sheets(1).Cells(LigneSrc, 1) = temp
For Col = 2 To ncol
If Sheets(1).Cells(LigneSrc, Col) <> "" Then _
Sheets(2).Cells(ligneDest, Col) = Sheets(1).Cells(Lign eSrc,
Col)
Next Col
LigneSrc = LigneSrc + 1
Loop
ligneDest = ligneDest + 1
Loop
End Sub

http://cjoint.com/?frtzVlKI7x

Cordialement JB

On 17 mai, 14:17, Orsu
Bonjour à tous, je bute sur le pbme suivant .
Aprés export d'une bd dans Excel j'ai des informations se rappo rtant à un
même identifiant qui apparaissent dans plusieurs lignes mais da ns des
colonnes différentes ; par hypothèse, et pour un même ident ifiant, si une
colonne est remplie dans une ligne, elle ne l'est pas dans les au tres.
Autre précision, un identifiant n'a pas toujours le même nomb re de lignes
(en gros de 1 à 6).
En résumé, je cherche au final à disposer d'une seule ligne par identifiant
agrégeant l'ensemble des informations des lignes initiales (l' équivalent
d'une concaténation).

Si un bienfaiteur peut m'indiquer quelques pistes (formules, macr os, ....) je
suis preneur.....

Merci d'avance pour vos lumières !- Masquer le texte des messag es précédents -



- Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -



- Afficher le texte des messages précédents -






Publicité
Poster une réponse
Anonyme