Casse tête excel

Pitt_69

XLDnaute Nouveau
Bonjour, je suis débutant sur excel et cela fait 3h que je bûche sur le problème.
Nous disposons de l'ID des utilisateurs et du mois ou chaque utilisateurs a payer (sachant qu'un utilisateur peut payer plusieurs fois un même mois).
Il faut réussir à partir de ça à trouver le nombre de nouveaux clients pour ensuite les cloisonner en sorte de groupes et dégager le nombre d'achat de ces même groupes.
Si quelqu'un pouvait m'aider ça serait sympa, je commence à avoir mal à la tête haha.
 

Pièces jointes

  • Data.xlsx
    55.5 KB · Affichages: 27
  • Case study.pdf
    194.9 KB · Affichages: 22

Pitt_69

XLDnaute Nouveau
Salut @Charles Exceller , sur le plan tu as raison, sauf que je ne veux pas obtenir le même résultat que celui du template.
Moi je cherche à trouver le nombre d'achat par mois (comme sur la petite image que j'ai mise au dessus).
Si tu as une autre idée je suis preneur, je commence à désespérer.
Merci à toi, bonne journée
 

Charles Exceller

XLDnaute Nouveau
Je pense avoir une bonne nouvelle pour toi. Je n'aurais jamais imaginé qu'une simple liste à deux colonnes puisse me donner autant de données... ;)
Comme les anti-biotiques, c'est pas automatique...

J'ai décomposé ton problème en 3 étapes.
Etape 1 : Déterminer le nombre de vente par client et par mois
Etape 2 : Déterminer le mois d'acquisition d'un client
Etape 3 : Déterminer les achats supplémentaires selon le mois d'acquisition

Et ainsi sortir le tableau par mois et par achat.
Ce fichier a un problème majeur, je fais référence à des cellules du TCD de manière non généralisable. Si tu refais un export de données, des cellules vont manquer et des tableaux sont à agrandir manuellement.

Ceci dit, une fois maîtrisé, cela reste facile à étendre.
J'espère que cela résout ton problème. Merci de ton retour !
 

Pièces jointes

  • Data-1.xlsx
    697.7 KB · Affichages: 7

job75

XLDnaute Barbatruc
Bonjour Pitt_69, JM, mapomme, CharlesExceller, le forum,

Voyez le fichier joint avec :

- en feuille "bookings" le tableau Excel et les formules matricielles en colonnes C et D

- en feuille "result" les formules NB.SI.ENS en B3 et C3.

Bonne journée.
 

Pièces jointes

  • Data(1).xlsx
    174.1 KB · Affichages: 14

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @job75 :)
.......
un p'ti brin.jpg
 

job75

XLDnaute Barbatruc
Bonjour Pitt_69, le forum,

Une solution VBA avec cette macro dans le code de la feuille "result' du fichier joint :
VB:
Private Sub Worksheet_Activate()
Dim d1 As Object, d2 As Object, tablo, i&, x$
With Feuil1.[A1].CurrentRegion 'CodeName de la feuille
    .Columns(3).EntireColumn.Resize(, 2).Insert 'colonnes auxiliaires
    tablo = .Resize(, 4)
    Set d1 = CreateObject("Scripting.Dictionary")
    Set d2 = CreateObject("Scripting.Dictionary")
    For i = 2 To UBound(tablo)
        x = CStr(tablo(i, 2))
        If Not d1.exists(x) Then d1(x) = tablo(i, 1) Else If Val(tablo(i, 1)) < Val(d1(x)) Then d1(x) = tablo(i, 1)
    Next
    For i = 2 To UBound(tablo)
        tablo(i, 3) = d1(CStr(tablo(i, 2)))
        x = tablo(i, 2) & " " & tablo(i, 3)
        If Not d2.exists(x) Then d2(x) = "": tablo(i, 4) = 1 'repère
    Next
    If .Parent.FilterMode Then .Parent.ShowAllData 'si la feuille est filtrée
    .Resize(, 4) = tablo 'restitution
    For i = 1 To 4
        .Columns(i).Name = "_" & i 'plages nommées _1 _2 _3 _4
    Next
    [B3:B14].FormulaR1C1 = "=SUMPRODUCT((_3=RC1)*_4)"
    [C3:N14].FormulaR1C1 = "=SUMPRODUCT((_3=RC1)*(_1=R2C))"
    [B3:N14] = [B3:N14].Value 'supprime les formules
    .Columns(3).EntireColumn.Resize(, 2).Delete 'supprime les colonnes auxiliaires
End With
End Sub
Elle se déclenche quand on active la feuille.

A+
 

Pièces jointes

  • Data VBA(1).xlsm
    76.9 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
315 103
Messages
2 116 242
Membres
112 695
dernier inscrit
ben44115