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
- Formule somme excel colonne - Guide
- Comment fusionner deux cellules sur excel - 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)