L
Luc
Guest
Bonjour, tout le monde
J’ai un souci sur VBA Excel – je souhaite avoir une macro qui calcule en continu le produit de deux cellules (ex =A1*B1) sans que la formule soit inscrite dans la cellule et sans que j’ai besoin de lancer la macro --> que se soit en continu.
Par ex : je souhaite que en C1 la macro calcul en temps reel le produit de A1 et B1. Lorsque je change A1, C1 doit changer. ceci doit etre piloté par la macro et aucune formule ne doit etre inscrite en C1
Le code ci-dessous satisfait ce 'calcul en continu' (merci Phibou !).
Mon problème est que je dois faire ce calcul 30 fois dans des cellules différentes (a chaque fois tout est décalé de 13 lignes)... Donc taper 30 fois le code...
Auriez-vous une combine avec des variables pour éviter de refaire 30 fois la manip ?
Merci beaucoup!!
Code :
Private Sub Worksheet_Change(ByVal Target As Range)
'Grand Total
'Original Budget
If Target.Address = '$E$7' Then
Range('E1129') = Range('E7') + Range('E417')
End If
If Target.Address = '$E$417' Then
Range('E1129') = Range('E7') + Range('E417')
End If
'Budget
If Target.Address = '$E$15' Then
Range('E1130') = Range('E15') + Range('E421')
End If
If Target.Address = '$E$421' Then
Range('E1130') = Range('E15') + Range('E421')
End If
'Budget Over (-) / Under (+)
If Target.Address = '$E$1130' Then
Range('E1131') = Range('E1129') - Range('E1130')
'Range('E1132') = (Range('E1129') - Range('E1130')) / Range('E1129')
End If
If Target.Address = '$E$1129' Then
Range('E1131') = Range('E1129') - Range('E1130')
End If
'Budget Over (-) / Under (+)
If Target.Address = '$E$1130' Then
Range('E1132') = (Range('E1129') - Range('E1130')) / Range('E1129')
End If
If Target.Address = '$E$1129' Then
Range('E1132') = (Range('E1129') - Range('E1130')) / Range('E1129')
End If
Bien cordialement,
Luc
J’ai un souci sur VBA Excel – je souhaite avoir une macro qui calcule en continu le produit de deux cellules (ex =A1*B1) sans que la formule soit inscrite dans la cellule et sans que j’ai besoin de lancer la macro --> que se soit en continu.
Par ex : je souhaite que en C1 la macro calcul en temps reel le produit de A1 et B1. Lorsque je change A1, C1 doit changer. ceci doit etre piloté par la macro et aucune formule ne doit etre inscrite en C1
Le code ci-dessous satisfait ce 'calcul en continu' (merci Phibou !).
Mon problème est que je dois faire ce calcul 30 fois dans des cellules différentes (a chaque fois tout est décalé de 13 lignes)... Donc taper 30 fois le code...
Auriez-vous une combine avec des variables pour éviter de refaire 30 fois la manip ?
Merci beaucoup!!
Code :
Private Sub Worksheet_Change(ByVal Target As Range)
'Grand Total
'Original Budget
If Target.Address = '$E$7' Then
Range('E1129') = Range('E7') + Range('E417')
End If
If Target.Address = '$E$417' Then
Range('E1129') = Range('E7') + Range('E417')
End If
'Budget
If Target.Address = '$E$15' Then
Range('E1130') = Range('E15') + Range('E421')
End If
If Target.Address = '$E$421' Then
Range('E1130') = Range('E15') + Range('E421')
End If
'Budget Over (-) / Under (+)
If Target.Address = '$E$1130' Then
Range('E1131') = Range('E1129') - Range('E1130')
'Range('E1132') = (Range('E1129') - Range('E1130')) / Range('E1129')
End If
If Target.Address = '$E$1129' Then
Range('E1131') = Range('E1129') - Range('E1130')
End If
'Budget Over (-) / Under (+)
If Target.Address = '$E$1130' Then
Range('E1132') = (Range('E1129') - Range('E1130')) / Range('E1129')
End If
If Target.Address = '$E$1129' Then
Range('E1132') = (Range('E1129') - Range('E1130')) / Range('E1129')
End If
Bien cordialement,
Luc