Bonjour,
j'ai une procédure qui rempli un tableau de la façon suivante:
- en ligne j'ai les noms de mes vendeurs
- en colonne j'ai des tranches de montant (colonne B: de 5 à 100 ; col C: de 2 à 5... en tout j'ai 5 tranches)
Voici le code que j'ai fai (qui fonctionne sans problème) pour répartir ces montants:
Maintenant je souhaiterais l'optimiser afin que mon tableau soit paramétrer de la façon suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 Sub Repartition() Dim i As Integer Dim derli As Integer 'Recherche de la dernière ligne de la colonne g 'Colonne ou j'ai copié les montants correspondant à chaque vendeur derli = Columns(7).Find("*", , , , , xlPrevious).Row For i = 8 To derli If (Cells(i, 7).Value >= 5000000) Then 'on copie le montant dans la colonne B Cells(i, 7).Select Selection.Copy Cells(i, 2).Select ActiveSheet.Paste Else If (Cells(i, 7).Value >= 2000000) Then 'on copie le montant dans la colonne c Cells(i, 7).Select Selection.Copy Cells(i, 3).Select ActiveSheet.Paste Else If (Cells(i, 7).Value >= 500000) Then 'on copie le montant dans la colonne d Cells(i, 7).Select Selection.Copy Cells(i, 4).Select ActiveSheet.Paste Else If (Cells(i, 7).Value >= 100000) Then 'on copie le montant dans la colonne e Cells(i, 7).Select Selection.Copy Cells(i, 5).Select ActiveSheet.Paste Else 'on copie le montant dans la colonne f Cells(i, 7).Select Selection.Copy Cells(i, 6).Select ActiveSheet.Paste End If End If End If End If Next End Sub
Si je change les montants de la tranche je veux que les ventes soient réparties automatiquement dans les nouvelles tranches.
Exemple:
1ere tranche: a la place des montants de 5 à 100 je veux les montants de 3 à 80 et ainsi de suite pour les autres tranches. Donc lorsque je rentre ma nouvelle tranche dans ma cellule, la colonne concernés ne doit accepter que les montants compris entre 3 et 80. (de meme si je met de 6 à 120)
idem pour les autres tranches
Donc voila, je veux intégrer ça dans ma macro mais j'ai besoin d'aide etant donné que je ne maitrise pas VB.
Merci pour votre aide
Partager