Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Macro qui mémorise une valeur, la modifie et la remet au second clic

  • Initiateur de la discussion Initiateur de la discussion pat66
  • 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 !

pat66

XLDnaute Impliqué
Bonjour le forum,

merci d'avance pour votre aide,

Voici mon problème, je souhaite pouvoir réaliser une macro qui baisse le taux de 0.20 quel qu'il soit, déjà saisit dans N6 ou le remet

Exemple si :
Clic 1 : Si Feuil1.[N6] = 3.27% alors Feuil1.[N6] = 3.07%, Clic 2 revenir à 3.27% (revient au taux original)
Clic 1 : Si Feuil1.[N6] = 3.43% alors Feuil1.[N6] = 3.23%, Clic 2 revenir à 3.43% (revient au taux original)
etc......

un grand merci à tous
 
Solution
Bonjour,

VB:
Sub ToggleTaux()
    Dim tauxActuel As Double
    Static tauxOriginal As Variant ' variable persistante entre exécutions
    
    With Worksheets("Feuil1").Range("N35")
        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
Bonjour

à mon avis, ca va donner une usine à gaz pour pas grand chose==> il faut sauvegarder quelque part l'ancienne valeur
vérifier que tu fais un second clic sur la meme cellule....

pourquoi ne pas simplement ajouter un control type "spinbouton" qui permet d'incrémenter ou décrémenter la valeur de la cellule?
 
Bonjour, je dois préciser que les clics se font sur une forme qui sert de bouton et pas dans une cellule

merci
 
Bonjour,

VB:
Sub ToggleTaux()
    Dim tauxActuel As Double
    Static tauxOriginal As Variant ' variable persistante entre exécutions
    
    With Worksheets("Feuil1").Range("N35")
        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
 
re,

La solution de laurent950 solutionne parfaitement mon problème

un grand merci à tous les 2 pour votre aide si efficace et mille excuses à gvendron pour ne pas avoir fourni le fichier dès le départ

cdt
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…