Fusion de cellules sur 1 colonne et cumul aut
Résolu
tomti13frec
-
tomti13frec -
tomti13frec -
Bonjour,
j'ai un fichier client qui indique plusieurs lignes par clients en fonction du nombre d'achat.
Y a t il une formule pour que le nom du client soit sur une ligne et que les différents achats soient cumuler sur la meme ligne?
Au final je veux CA/CLIENT/AN
Merci
j'ai un fichier client qui indique plusieurs lignes par clients en fonction du nombre d'achat.
Y a t il une formule pour que le nom du client soit sur une ligne et que les différents achats soient cumuler sur la meme ligne?
Au final je veux CA/CLIENT/AN
Merci
A voir également:
- Fusion de cellules sur 1 colonne et cumul aut
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Comment fusionner deux cellules sur excel - Guide
- Formule somme excel colonne - Guide
10 réponses
Bonjour,
Comme ça c'est difficile de comprendre ce que tu veux.
Mettre un classeur exemple sur CiJoint.fr avec une feuille qui contient des exemples de ce qui existe et sur une autre feuille le résultat souhaiter.
A+
Comme ça c'est difficile de comprendre ce que tu veux.
Mettre un classeur exemple sur CiJoint.fr avec une feuille qui contient des exemples de ce qui existe et sur une autre feuille le résultat souhaiter.
A+
SLT,
voici le fichier client tel qui sort à l'extraction. En fait nos clients,heureusement, font des achats plusieurs fois au cours de l'année et notre programme sort les informations regroupées en mois ( d'où la colonne E= chaque chiffre etant le mois de l'année). Or moi je veux le cumul du ca en fonction des produits et du total, sur l'année.
J'ai mis sur le fichier 3 clients, j'ai donc pu mettre sur la feuille 2 le résultat escompté en faisant une simple somme mais j'ai 9000 clients!
merci
http://www.cijoint.fr/cjlink.php?file=cj201012/cijImYS0Hl.xls
voici le fichier client tel qui sort à l'extraction. En fait nos clients,heureusement, font des achats plusieurs fois au cours de l'année et notre programme sort les informations regroupées en mois ( d'où la colonne E= chaque chiffre etant le mois de l'année). Or moi je veux le cumul du ca en fonction des produits et du total, sur l'année.
J'ai mis sur le fichier 3 clients, j'ai donc pu mettre sur la feuille 2 le résultat escompté en faisant une simple somme mais j'ai 9000 clients!
merci
http://www.cijoint.fr/cjlink.php?file=cj201012/cijImYS0Hl.xls
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dernière question,
Tu fais un classeur par année ou c'est toujours le même et il faut trier les dates ?
Tu fais un classeur par année ou c'est toujours le même et il faut trier les dates ?
Sans tenir compte de la date...
Colle ce code dans un module public et lancer par F5
Tu dis
A+
PS: Ton classeur exemple contient des erreurs de calcul ? tu à fais ça en manuel ?
J'ai contrôller et en principe c'est juste.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
'Adapter Feuil2 et Feuil3
Sub Totalisation_Annuelle()
Dim LigS As Long, LigC As Long, NbLigS As Long
Dim Tot() As Double, Total As Double
Dim Client() As String, LigClient() As Long, NumClient As Long
Dim i As Long
With Sheets("Feuil1") ' adapter le nom de la feuille
NbLigS = .Range("A65536").End(xlUp).Row
LigC = 2
'Chercher le nombre et le nom de tout les clients
ReDim Client(0): Total = 0: ReDim LigClient(0) '1er client
Client(0) = .Range("B2"): LigClient(0) = 2 'Commence à la ligne 2
For LigS = 3 To NbLigS
For i = 0 To UBound(Client)
If .Cells(LigS, 2) = Client(i) Then Exit For
Next i
If i = UBound(Client) + 1 Then 'C'est un autre client
ReDim Preserve Client(UBound(Client) + 1)
ReDim Preserve LigClient(UBound(LigClient) + 1)
Client(UBound(Client)) = .Cells(LigS, 2)
LigClient(UBound(LigClient)) = LigS
End If
Next LigS
'Ici on a le nom des clients dans Client() et la 1ère ligne dans NumClient()
For NumClient = 0 To UBound(Client)
ReDim Tot(1 To 9): Total = 0
For LigS = LigClient(NumClient) To NbLigS
If .Cells(LigS, 2) = Client(NumClient) Then
For i = 1 To 9
Total = Total + .Cells(LigS, i + 7)
Tot(i) = Tot(i) + .Cells(LigS, i + 7)
Next i
End If
Next LigS
'Toutes les données du client ont étés totalisées
'Inscrire les données client.
For i = 1 To 6
Sheets("Feuil3").Cells(LigC, i) = .Cells(LigClient(NumClient), i)
Next i
Sheets("Feuil3").Cells(LigC, 5) = "Annuel"
'inscrire les totaux
Sheets("Feuil3").Cells(LigC, i) = Total
For i = 1 To 9
Sheets("Feuil3").Cells(LigC, i + 7) = Tot(i)
Next i
LigC = LigC + 1 ' passe au client suivant
Next NumClient
End With
End Sub
Colle ce code dans un module public et lancer par F5
Tu dis
A+
PS: Ton classeur exemple contient des erreurs de calcul ? tu à fais ça en manuel ?
J'ai contrôller et en principe c'est juste.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
pfiou les macros....
moi qui maîtrise à peine les fonctions SOMME et MOYENNE, tu vois le niveau!
J'essaye de mettre ca en place et te tiens au courant mais merci bcp!
A +
moi qui maîtrise à peine les fonctions SOMME et MOYENNE, tu vois le niveau!
J'essaye de mettre ca en place et te tiens au courant mais merci bcp!
A +
Les clients sont tous trier comme sur ton exemple ou bien il sont "mélanger", ça pourrait simplifier la macro s'il était trier (et réduire le temps)
Pour mettre la macro en place c'est pas compliquer..
Tu tape Alt+F11
Dans l'éditeur de macro >> Insertion >> Module
Dans la fenêtre qui apparaît tu colle tout le code ci-dessus.
Tu adapte Feuil1 au nom de la feuille ou sont tout tes clients.
Tu adapte Feuil3 au nom de la feuille où tu veux le résultat.
Ensuite tu fait un Backup... c'est plus prudent.
Tu met le curseur au milieu de la macro et tu tape F5... et tu attend.
Tu dis.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Pour mettre la macro en place c'est pas compliquer..
Tu tape Alt+F11
Dans l'éditeur de macro >> Insertion >> Module
Dans la fenêtre qui apparaît tu colle tout le code ci-dessus.
Tu adapte Feuil1 au nom de la feuille ou sont tout tes clients.
Tu adapte Feuil3 au nom de la feuille où tu veux le résultat.
Ensuite tu fait un Backup... c'est plus prudent.
Tu met le curseur au milieu de la macro et tu tape F5... et tu attend.
Tu dis.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)