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

Probleme de regroupment

6 réponses
Avatar
Ralf Meuser
Bonjour à tous

J'ai dans une feuille les données suivantes:

Mois Jour No_Cli Commercial Montant
06 01 10 1 100
06 02 10 1 110
06 01 15 2 50
06 03 20 1 60

Je voudrai récupère dans une autre feuille le groupement par client

Mois No_Cli Commercial Montant
06 10 1 210
06 15 2 50
06 20 1 60

Je ne sais même pas par ou commencer.

Merci d'avance pour votre aides
Salutations


Ralf

6 réponses

Avatar
lSteph
Bonjour,

On suppose qu'il s'agisse toujours du mois 6 de la même année.
Tu peux faire un Tableau Croisé Dynamique
ou bien
Lister tes clients par numéro sans doublons
Pour ce faire dans Feuil1 Sélectionne les deux colonnes No_Cli
Commercial
Données filtre élaboré Extraire vers un autre emplacement(pour
l'instant choisis une cellule plus à droite dans la feuille là où
c'est vide) cocher sans doublons

Copie cette extraction dans ta seconde feuille ajoute le titre montant
et en d1 le mois
A_____ B________ C______ D_
No_Cli Commercial Montant 06
10 1
15 2
20 1

en c2 la formule:
=SOMMEPROD((Feuil1!$C$2:$C$5þuil2!A2)*(Feuil1!$D$2:$D$5þuil2!
B2)*(Feuil1!$A$2:$A$5þuil2!$D$1);Feuil1!$E$2:$E$5)

à recopier vers bas.

Cordialement.

lSteph
On 30 juil, 11:56, "Ralf Meuser" wrote:
Bonjour à tous

J'ai dans une feuille les données suivantes:

Mois Jour No_Cli Commercial Montant
06 01 10 1 100
06 02 10 1 110
06 01 15 2 50
06 03 20 1 60

Je voudrai récupère dans une autre feuille le groupement par client

Mois No_Cli Commercial Montant
06 10 1 210
06 15 2 50
06 20 1 60

Je ne sais même pas par ou commencer.

Merci d'avance pour votre aides
Salutations

Ralf


Avatar
FFO
Salut à toi
Solution macro :

i = 0
Sheets("Source").Activate
For Each c In ActiveSheet.Range("C1", [C65535].End(xlUp))
If c.Interior.ColorIndex = xlNone Then
For Each d In ActiveSheet.Range(c.Offset(1, 0), [C65535].End(xlUp).Offset(1,
0))
If d = c Then
Montant = Montant + d.Offset(0, 2)
d.Interior.ColorIndex = 6
End If
Next
Sheets("Recopie").Range("A1").Offset(i, 0) = c.Offset(0, -2)
Sheets("Recopie").Range("A1").Offset(i, 1) = c
Sheets("Recopie").Range("A1").Offset(i, 2) = c.Offset(0, 1)
Sheets("Recopie").Range("A1").Offset(i, 3) = Montant + c.Offset(0, 2)
i = i + 1
Montant = 0
End If
Next
Columns("C:C").Interior.ColorIndex = xlNone

Une autre piste pour toi


Bonjour à tous

J'ai dans une feuille les données suivantes:

Mois Jour No_Cli Commercial Montant
06 01 10 1 100
06 02 10 1 110
06 01 15 2 50
06 03 20 1 60

Je voudrai récupère dans une autre feuille le groupement par client

Mois No_Cli Commercial Montant
06 10 1 210
06 15 2 50
06 20 1 60

Je ne sais même pas par ou commencer.

Merci d'avance pour votre aides
Salutations


Ralf










Avatar
JB
Bonjour,

En SQL:

http://boisgontierjacques.free.fr/fichiers/ADOSQLGroupe.xls


ChDir ActiveWorkbook.Path
ActiveWorkbook.Names.Add Name:="MaBd", RefersTo:=[A1].CurrentRegion
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver
(*.xls)};DBQ­OSQLGroupe.xls"
Sql = "SELECT mois,no_cli,commercial,sum(montant) as ttal From MaBD
Group BY mois,no_cli,commercial"
Set rs = cnn.Execute(Sql)
i = 2
Do While Not rs.EOF
Cells(i, 8) = rs("mois")
Cells(i, 9) = rs("No_cli")
Cells(i, 11) = rs("ttal")
rs.MoveNext
i = i + 1
Loop
rs.Close
cnn.Close
Set rs = Nothing


JB

On 30 juil, 11:56, "Ralf Meuser" wrote:
Bonjour à tous

J'ai dans une feuille les données suivantes:

Mois Jour No_Cli Commercial Montant
06 01 10 1 100
06 02 10 1 110
06 01 15 2 50
06 03 20 1 60

Je voudrai récupère dans une autre feuille le groupement par client

Mois No_Cli Commercial Montant
06 10 1 210
06 15 2 50
06 20 1 60

Je ne sais même pas par ou commencer.

Merci d'avance pour votre aides
Salutations

Ralf


Avatar
Ralf Meuser
Merci à tous pour votre aide.
Je préfère la solution SQL de JB.

Seulement un petit problème.Je connais SQL mais les macros de Excel très
mal.
Je voudrai lire des données dans la feuille1 et crée le bouton et le
résultat dans la feuille2

Merci d'avance pour ton aide JB.

Meilleurs salutations
Ralf


"JB" a écrit dans le message de news:

Bonjour,

En SQL:

http://boisgontierjacques.free.fr/fichiers/ADOSQLGroupe.xls


ChDir ActiveWorkbook.Path
ActiveWorkbook.Names.Add Name:="MaBd", RefersTo:=[A1].CurrentRegion
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver
(*.xls)};DBQ­OSQLGroupe.xls"
Sql = "SELECT mois,no_cli,commercial,sum(montant) as ttal From MaBD
Group BY mois,no_cli,commercial"
Set rs = cnn.Execute(Sql)
i = 2
Do While Not rs.EOF
Cells(i, 8) = rs("mois")
Cells(i, 9) = rs("No_cli")
Cells(i, 11) = rs("ttal")
rs.MoveNext
i = i + 1
Loop
rs.Close
cnn.Close
Set rs = Nothing


JB

On 30 juil, 11:56, "Ralf Meuser" wrote:
Bonjour à tous

J'ai dans une feuille les données suivantes:

Mois Jour No_Cli Commercial Montant
06 01 10 1 100
06 02 10 1 110
06 01 15 2 50
06 03 20 1 60

Je voudrai récupère dans une autre feuille le groupement par client

Mois No_Cli Commercial Montant
06 10 1 210
06 15 2 50
06 20 1 60

Je ne sais même pas par ou commencer.

Merci d'avance pour votre aides
Salutations

Ralf


Avatar
JB
Sub groupe()
ChDir ActiveWorkbook.Path
ActiveWorkbook.Names.Add Name:="MaBd", RefersTo:=Sheets(1).
[A1].CurrentRegion
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver
(*.xls)};DBQ­OSQLGroupe.xls"
Sql = "SELECT mois,no_cli,commercial,sum(montant) as ttal From MaBD
Group BY mois,no_cli,commercial"
Set rs = cnn.Execute(Sql)
i = 2
Do While Not rs.EOF
Sheets(2).Cells(i, 1) = rs("mois")
Sheets(2).Cells(i, 2) = rs("No_cli")
Sheets(2).Cells(i, 3) = rs("Commercial")
Sheets(2).Cells(i, 4) = rs("ttal")
rs.MoveNext
i = i + 1
Loop
rs.Close
cnn.Close
Set rs = Nothing
End Sub

http://cjoint.com/?hEspjFjcK7

JB

On 30 juil, 17:38, "Ralf Meuser" wrote:
Merci à tous pour votre aide.
Je préfère la solution SQL de JB.

Seulement un petit problème.Je connais SQL mais les macros de Excel tr ès
mal.
Je voudrai lire des données dans la feuille1 et crée le bouton et le
résultat dans la feuille2

Merci d'avance pour ton aide JB.

Meilleurs salutations
Ralf

"JB" a écrit dans le message de news:

Bonjour,

En SQL:

http://boisgontierjacques.free.fr/fichiers/ADOSQLGroupe.xls

ChDir ActiveWorkbook.Path
ActiveWorkbook.Names.Add Name:="MaBd", RefersTo:=[A1].CurrentRegion
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver
(*.xls)};DBQ­OSQLGroupe.xls"
Sql = "SELECT mois,no_cli,commercial,sum(montant) as ttal From MaBD
Group BY mois,no_cli,commercial"
Set rs = cnn.Execute(Sql)
i = 2
Do While Not rs.EOF
Cells(i, 8) = rs("mois")
Cells(i, 9) = rs("No_cli")
Cells(i, 11) = rs("ttal")
rs.MoveNext
i = i + 1
Loop
rs.Close
cnn.Close
Set rs = Nothing

JB

On 30 juil, 11:56, "Ralf Meuser" wrote:



Bonjour à tous

J'ai dans une feuille les données suivantes:

Mois Jour No_Cli Commercial Montant
06 01 10 1 100
06 02 10 1 110
06 01 15 2 50
06 03 20 1 60

Je voudrai récupère dans une autre feuille le groupement par client

Mois No_Cli Commercial Montant
06 10 1 210
06 15 2 50
06 20 1 60

Je ne sais même pas par ou commencer.

Merci d'avance pour votre aides
Salutations

Ralf- Masquer le texte des messages précédents -


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



Avatar
JB
http://cjoint.com/?hEssDpUAge

JB

On 30 juil, 18:15, JB wrote:
Sub groupe()
ChDir ActiveWorkbook.Path
ActiveWorkbook.Names.Add Name:="MaBd", RefersTo:=Sheets(1).
[A1].CurrentRegion
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver
(*.xls)};DBQ­OSQLGroupe.xls"
Sql = "SELECT mois,no_cli,commercial,sum(montant) as ttal From MaBD
Group BY mois,no_cli,commercial"
Set rs = cnn.Execute(Sql)
i = 2
Do While Not rs.EOF
Sheets(2).Cells(i, 1) = rs("mois")
Sheets(2).Cells(i, 2) = rs("No_cli")
Sheets(2).Cells(i, 3) = rs("Commercial")
Sheets(2).Cells(i, 4) = rs("ttal")
rs.MoveNext
i = i + 1
Loop
rs.Close
cnn.Close
Set rs = Nothing
End Sub

http://cjoint.com/?hEspjFjcK7

JB

On 30 juil, 17:38, "Ralf Meuser" wrote:



Merci à tous pour votre aide.
Je préfère la solution SQL de JB.

Seulement un petit problème.Je connais SQL mais les macros de Excel t rès
mal.
Je voudrai lire des données dans la feuille1 et crée le bouton et le
résultat dans la feuille2

Merci d'avance pour ton aide JB.

Meilleurs salutations
Ralf

"JB" a écrit dans le message de news:

Bonjour,

En SQL:

http://boisgontierjacques.free.fr/fichiers/ADOSQLGroupe.xls

ChDir ActiveWorkbook.Path
ActiveWorkbook.Names.Add Name:="MaBd", RefersTo:=[A1].CurrentRegi on
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver
(*.xls)};DBQ­OSQLGroupe.xls"
Sql = "SELECT mois,no_cli,commercial,sum(montant) as ttal From MaBD
Group BY mois,no_cli,commercial"
Set rs = cnn.Execute(Sql)
i = 2
Do While Not rs.EOF
Cells(i, 8) = rs("mois")
Cells(i, 9) = rs("No_cli")
Cells(i, 11) = rs("ttal")
rs.MoveNext
i = i + 1
Loop
rs.Close
cnn.Close
Set rs = Nothing

JB

On 30 juil, 11:56, "Ralf Meuser" wrote:

Bonjour à tous

J'ai dans une feuille les données suivantes:

Mois Jour No_Cli Commercial Montant
06 01 10 1 100
06 02 10 1 110
06 01 15 2 50
06 03 20 1 60

Je voudrai récupère dans une autre feuille le groupement par clie nt

Mois No_Cli Commercial Montant
06 10 1 210
06 15 2 50
06 20 1 60

Je ne sais même pas par ou commencer.

Merci d'avance pour votre aides
Salutations

Ralf- Masquer le texte des messages précédents -


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


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