Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Rajouter des colones par rapport a des lignes

2 réponses
Avatar
---DGI972---
Bonjour,

Je suis confronter a une situation:

Pour faire un petit publipostage je possède un fichier client de la
forme:

N°client,Montant,Nom,prénom, addr1,addr2,cp,ville
1123,100,TETE,Daniel,Avenue,général de gaule,97232,lamentin
1122,150,TOTO,titi,49 rue,tata,97200,Fort de france
1122,110,TOTO,titi,49 rue,tata,97200,Fort de france
1244,50,TUTU,Bernard,Bd,leclerc,97200,Fort de France
1244,100,TUTU,Bernard,Bd,leclerc,97200,Fort de France
1244,160,TUTU,Bernard,Bd,leclerc,97200,Fort de France

Je ne peux le traiter que si le fichier client soit sous la forme

N°client,Montant,Montant2,Montant3,Nom,prénom, addr1,addr2,cp,ville
1123,100,,,TETE,Daniel,Avenue,général de gaule,97232,lamentin
1122,150,110,,TOTO,titi,49 rue,tata,97200,Fort de france
1244,50,100,160,TUTU,Bernard,Bd,leclerc,97200,Fort de France

Il faut rajouter autant de colonnes Montant qu'il y a de montant du
même client
le nombre de montant peut dépasser la centaine de ligne.
C'est un véritable casse tête ...

Je ne sais pas trop par quel bout le prendre.

Des idées ?

Merci d'avance

2 réponses

Avatar
JB
Bonsoir,


Sub TransformeColooneLigne()
Sheets("bd").Select
Maxcol = 5
Application.ScreenUpdating = False
Range("A1").CurrentRegion.Sort Key1:=Range("A2"), Header:=xlYes
Range("a2").Select
ligne = 2
LigneBD = 2
Do While LigneBD <= [A65000].End(xlUp).Row
mClient = Cells(LigneBD, 1)
Sheets("résult").Cells(ligne, 1) = mClient
c = 2
Do While Cells(LigneBD, 1) = mClient
Sheets("résult").Cells(ligne, c) = Cells(LigneBD, 2)
c = c + 1
LigneBD = LigneBD + 1
Loop
Cells(LigneBD - 1, 2).Resize(, 6).Copy
Sheets("résult").Cells(ligne, Maxcol)
ligne = ligne + 1
Loop
End Sub

http://cjoint.com/?dstFW4VDcB

JB
http://boisgontierjacques.free.fr/


On 18 mar, 12:10, ---DGI972--- <gilles.dermigny@*NO SPAM*laposte.net>
wrote:
Bonjour,

Je suis confronter a une situation:

Pour faire un petit publipostage je possède un fichier client de la
forme:

N°client,Montant,Nom,prénom, addr1,addr2,cp,ville
1123,100,TETE,Daniel,Avenue,général de gaule,97232,lamentin
1122,150,TOTO,titi,49 rue,tata,97200,Fort de france
1122,110,TOTO,titi,49 rue,tata,97200,Fort de france
1244,50,TUTU,Bernard,Bd,leclerc,97200,Fort de France
1244,100,TUTU,Bernard,Bd,leclerc,97200,Fort de France
1244,160,TUTU,Bernard,Bd,leclerc,97200,Fort de France

Je ne peux le traiter que si le fichier client soit sous la forme

N°client,Montant,Montant2,Montant3,Nom,prénom, addr1,addr2,cp,ville
1123,100,,,TETE,Daniel,Avenue,général de gaule,97232,lamentin
1122,150,110,,TOTO,titi,49 rue,tata,97200,Fort de france
1244,50,100,160,TUTU,Bernard,Bd,leclerc,97200,Fort de France

Il faut rajouter autant de colonnes Montant qu'il y a de montant du
même client
le nombre de montant peut dépasser la centaine de ligne.
C'est un véritable casse tête ...

Je ne sais pas trop par quel bout le prendre.

Des idées ?

Merci d'avance


Avatar
---DGI972---
JB a formulé ce mardi :
Bonsoir,


Sub TransformeColooneLigne()
Sheets("bd").Select
Maxcol = 5
Application.ScreenUpdating = False
Range("A1").CurrentRegion.Sort Key1:=Range("A2"), Header:=xlYes
Range("a2").Select
ligne = 2
LigneBD = 2
Do While LigneBD <= [A65000].End(xlUp).Row
mClient = Cells(LigneBD, 1)
Sheets("résult").Cells(ligne, 1) = mClient
c = 2
Do While Cells(LigneBD, 1) = mClient
Sheets("résult").Cells(ligne, c) = Cells(LigneBD, 2)
c = c + 1
LigneBD = LigneBD + 1
Loop
Cells(LigneBD - 1, 2).Resize(, 6).Copy
Sheets("résult").Cells(ligne, Maxcol)
ligne = ligne + 1
Loop
End Sub

http://cjoint.com/?dstFW4VDcB

JB
http://boisgontierjacques.free.fr/


On 18 mar, 12:10, ---DGI972--- <gilles.dermigny@*NO SPAM*laposte.net>
wrote:
Bonjour,

Je suis confronter a une situation:

Pour faire un petit publipostage je possède un fichier client de la
forme:

N°client,Montant,Nom,prénom, addr1,addr2,cp,ville
1123,100,TETE,Daniel,Avenue,général de gaule,97232,lamentin
1122,150,TOTO,titi,49 rue,tata,97200,Fort de france
1122,110,TOTO,titi,49 rue,tata,97200,Fort de france
1244,50,TUTU,Bernard,Bd,leclerc,97200,Fort de France
1244,100,TUTU,Bernard,Bd,leclerc,97200,Fort de France
1244,160,TUTU,Bernard,Bd,leclerc,97200,Fort de France

Je ne peux le traiter que si le fichier client soit sous la forme

N°client,Montant,Montant2,Montant3,Nom,prénom, addr1,addr2,cp,ville
1123,100,,,TETE,Daniel,Avenue,général de gaule,97232,lamentin
1122,150,110,,TOTO,titi,49 rue,tata,97200,Fort de france
1244,50,100,160,TUTU,Bernard,Bd,leclerc,97200,Fort de France

Il faut rajouter autant de colonnes Montant qu'il y a de montant du
même client
le nombre de montant peut dépasser la centaine de ligne.
C'est un véritable casse tête ...

Je ne sais pas trop par quel bout le prendre.

Des idées ?

Merci d'avance



Le Site est déjà dans mes favories, et j'ai pas réalisé sur le coup le
lien avec le classeur et le bouton de macro.

Merci