Bonjour le forum,
je tente désespérément de rédiger cette macro, mais je n'y arrive pas, auriez vous la gentillesse de bien vouloir m'aider à rectifier cette macro, merci beaucoup !
Dans la cellule verrouillée de Worksheets("Données").Range("N6"), il y a cette formule qui fonctionne bien :
=@SI(I16=1;INDEX(AE7:AM11;EQUIV(K16-0,0001;AD7:AD11;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1);INDEX(AE13:AM17;EQUIV(K16-0,0001;AD13:AD17;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1))/100
mais il faudrait pouvoir alterner à chaque clic sur une forme, entre 2 formules à savoir :
La formule originale dans Worksheets("Données").Range("N6")
=@SI(I16=1;INDEX(AE7:AM11;EQUIV(K16-0,0001;AD7:AD11;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1);INDEX(AE13:AM17;EQUIV(K16-0,0001;AD13:AD17;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1))/100
Au 1er clic, réduire le résultat dans N6 de 0.20%
=@SI(I16=1;INDEX(AE7:AM11;EQUIV(K16-0,0001;AD7:AD11;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1);INDEX(AE13:AM17;EQUIV(K16-0,0001;AD13:AD17;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1))/100
2e Clic : revenir à la formule originale
etc ...
merci d'avance
Sub ChangeTaux()
Dim tauxActuel As Double
Static tauxOriginal As Variant ' variable persistante entre exécutions
With Worksheets("Données").Range("N6")
tauxActuel = .Value
If IsEmpty(tauxOriginal) Then
' Premier clic : on enregistre le taux initial et on le réduit de 0,20 point de pourcentage
tauxOriginal = tauxActuel
.Value = tauxActuel - 0.002
Else
' Second clic : on rétablit le taux original et on réinitialise la variable
.Value = tauxOriginal
tauxOriginal = Empty
End If
End With
End Sub
je tente désespérément de rédiger cette macro, mais je n'y arrive pas, auriez vous la gentillesse de bien vouloir m'aider à rectifier cette macro, merci beaucoup !
Dans la cellule verrouillée de Worksheets("Données").Range("N6"), il y a cette formule qui fonctionne bien :
=@SI(I16=1;INDEX(AE7:AM11;EQUIV(K16-0,0001;AD7:AD11;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1);INDEX(AE13:AM17;EQUIV(K16-0,0001;AD13:AD17;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1))/100
mais il faudrait pouvoir alterner à chaque clic sur une forme, entre 2 formules à savoir :
La formule originale dans Worksheets("Données").Range("N6")
=@SI(I16=1;INDEX(AE7:AM11;EQUIV(K16-0,0001;AD7:AD11;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1);INDEX(AE13:AM17;EQUIV(K16-0,0001;AD13:AD17;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1))/100
Au 1er clic, réduire le résultat dans N6 de 0.20%
=@SI(I16=1;INDEX(AE7:AM11;EQUIV(K16-0,0001;AD7:AD11;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1);INDEX(AE13:AM17;EQUIV(K16-0,0001;AD13:AD17;1);EQUIV(N8*12-0,0001;AE6:AM6;1)+1))/100
2e Clic : revenir à la formule originale
etc ...
merci d'avance
Sub ChangeTaux()
Dim tauxActuel As Double
Static tauxOriginal As Variant ' variable persistante entre exécutions
With Worksheets("Données").Range("N6")
tauxActuel = .Value
If IsEmpty(tauxOriginal) Then
' Premier clic : on enregistre le taux initial et on le réduit de 0,20 point de pourcentage
tauxOriginal = tauxActuel
.Value = tauxActuel - 0.002
Else
' Second clic : on rétablit le taux original et on réinitialise la variable
.Value = tauxOriginal
tauxOriginal = Empty
End If
End With
End Sub
Dernière édition: