Bonjour,
Dans une feuille de calcul, il y a une cellule destinée au total de l'année, et 12 cellules destinées au détail mensuel (quantité).
Mon objectif est de pouvoir saisir le total ou le détail, si saisie du total, répartition automatique sur les 12 mois, si saisie d'un mois, incrémentation du total. J'arrive à faire l'un ou l'autre avec un private sub Worksheet_Change(ByVal Target As Range). Mais les deux en même temps... ça tourne en rond, le cas 1 faisant changer les valeurs du cas 2 et vice versa.
Quelqu'un a-t-il une solution? Merci par avance.
Cordialement,
FredExc
Mon code:
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 Private Sub Worksheet_Change(ByVal Target As Range) If Application.Intersect(Target, Range("sai_qte")) Is Nothing Then Else If Target.Column = 16 Then Range("Q" & Target.Row).Value = Target.Value * Range("Q10").Value / Range("P10").Value Range("R" & Target.Row).Value = Target.Value * Range("R10").Value / Range("P10").Value Range("S" & Target.Row).Value = Target.Value * Range("S10").Value / Range("P10").Value Range("T" & Target.Row).Value = Target.Value * Range("T10").Value / Range("P10").Value Range("U" & Target.Row).Value = Target.Value * Range("U10").Value / Range("P10").Value Range("V" & Target.Row).Value = Target.Value * Range("V10").Value / Range("P10").Value Range("W" & Target.Row).Value = Target.Value * Range("W10").Value / Range("P10").Value Range("X" & Target.Row).Value = Target.Value * Range("X10").Value / Range("P10").Value Range("Y" & Target.Row).Value = Target.Value * Range("Y10").Value / Range("P10").Value Range("Z" & Target.Row).Value = Target.Value * Range("Z10").Value / Range("P10").Value Range("AA" & Target.Row).Value = Target.Value * Range("AA10").Value / Range("P10").Value Range("AB" & Target.Row).Value = Target.Value * Range("AB10").Value / Range("P10").Value Else If Target.Column > 16 And Target.Column <= 28 Then Range("P" & Target.Row).Value = Range("Q" & Target.Row).Value + Range("R" & Target.Row).Value + Range("S" & Target.Row).Value + Range("T" & Target.Row).Value + Range("U" & Target.Row).Value + Range("V" & Target.Row).Value + Range("W" & Target.Row).Value + Range("X" & Target.Row).Value + Range("Y" & Target.Row).Value + Range("Z" & Target.Row).Value + Range("AA" & Target.Row).Value + Range("AB" & Target.Row).Value End If End If End If End Sub
Partager