XL 2016 gestion de base revendeurs

  • Initiateur de la discussion Initiateur de la discussion bks.bob
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bks.bob

XLDnaute Nouveau
Bonjour à tous,
j'ai vraiment besoin de votre aide. Je me retrouve avec une base de donnée Excel avec plus de 200 revendeurs qui commercialisent des produits avec différents type et diffèrent prix.

je cherche une situation de vente pour chaque revendeur par type de vente et montant facturé.
EXEMPLE:

vendeurCode vendeurtype de venteprix
benardS520560article 21
250,00
benardS520560article 22
270,00
benardS520560article 23
260,00
benardS520560article 24
190,00
benardS520560article 25
200,00
AAADF89630article 21
250,00
AAADF89630article 22
270,00
AAADF89630article 23
260,00
AAADF89630article 24
190,00
AAADF89630article 25
200,00
BBBGF25010article 21
250,00
BBBGF25010article 22
270,00
BBBGF25010article 23
260,00
BBBGF25010article 24
190,00
BBBGF25010article 25
200,00​
 
Bonjour bks.bob,

Peux tu préciser certains éléments :
- L'exemple que tu nous présente correspond t il a ta base de données ou au résultat attendu ?
- Le résultat attendu est il un élément figé ou doit il évoluer régulièrement ?

Le plus simple est probablement que tu postes un fichier exemple avec un extrait de BDD anonymisé et sur un 2eme onglet le résultat attendu
 
Bonsoir Bob,

Sur la 2ème feuille, tu peux voir qu'il y a uniquement la ligne des en-têtes.

Pour pouvoir réaliser ta demande, j'ai dû rajouter ces 2 colonnes :

colonne D : M = « N° du Mois » ; sera utilisé pour un tri sur 3 critères
colonne E : Produit ; obligatoire pour faire le « Nombre par type de Produit »

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Va sur la 1ère feuille ; fais Ctrl e ➯ travail effectué

Il y a eu un tri à la fois sur Code, M, Produit (dans cet ordre).

Tu aurais aussi pu faire Ctrl e à partir de la 2ème feuille : résultat identique.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Sur la 1ère feuille, quand tu saisiras l'Echéance, tu peux taper indifféremment des majuscules ou des minuscules, mais respecte les accents ; par exemple, « août » était bon, mais pas « fevrier » ; c'est « Février » ou « février » ; en cas d'erreur, le N° du Mois (M) sera 0 (au lieu de 1 à 12) : incorrect.

soan
 

Pièces jointes

Bonjour soan,
Merci bcp pour le soutien, j'aimerai bien m'aider à servir la feuille "résultat final" qui comporte les résiliations de la feuille "base résiliation".
"montant à payer = (Montant global) - (montant résiliation).

Merci.
 

Pièces jointes

Bonjour Bob,

Voici un nouveau fichier, avec une nouvelle macro pour :
« montant à payer = (Montant global) - (montant résiliation) »

Fais Ctrl g à partir de la feuille "base Résiliation" ou "Résultat final" (au choix).
Ctrl e et Ctrl f pour les 2 présentations précédentes sont toujours valables.
VB:
Option Explicit

Sub Essai3()
  Application.ScreenUpdating = 0: Worksheets(5).Select
  Dim nlm&, dl1&, dl2&: nlm = Rows.Count
  With Worksheets(4)
    Dim cel As Range, ech$, lg1&, lg2&
    dl2 = .Cells(nlm, 5).End(3).Row: If dl2 = 1 Then Exit Sub
    dl1 = Cells(nlm, 6).End(3).Row: Application.Calculation = -4135
    If dl1 > 1 Then 'effacement des anciens résultats
      With Range("F2:F" & dl1): .ClearContents: .Borders.LineStyle = -4142: End With
    End If
    dl1 = Cells(nlm, 2).End(3).Row: If dl1 = 1 Then GoTo 1
    For lg1 = 2 To dl1
      Set cel = Cells(lg1, 2): ech = Left$(cel.Offset(, 1), 4)
      For lg2 = 2 To dl2
        If cel = .Cells(lg2, 3) And ech = Left$(.Cells(lg2, 1), 4) Then
          cel.Offset(, 4) = cel.Offset(, 4) + .Cells(lg2, 5)
        End If
      Next lg2
    Next lg1
1   Range("F2:F" & dl1).Borders.LineStyle = 1: Application.Calculation = -4105
  End With
End Sub
soan
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour