baptiste91 a écrit :
qu'est se qui fonctionne pas ?
Je présume que tu veux dire : " Qu'est-ce qui ne fonctionne pas avec ma macro ?" car je pense que mon code fonctionne, non ? Alors voici ci-dessous ta macro et mes commentaires à la suite
Sub remettre_a_zéro()
'condition si la valeur est inférieur a 1
If (Range("B5")) < 1 Then
'action si vrai remettre a zéro
Range("I5").ClearContents
'action si faux ne rien faire
Else
Exit Sub
End Sub
Tu utilises ELSE si tu veux justement effectuer une "action si faux", mais toi tu as écrit "action si faux NE RIEN FAIRE", alors tu dois laisser tomber le ELSE.
Par contre dans tous les cas, si tu as commencé un IF et que tu écris une des conditions sur une deuxième ligne (ici ta ligne Range("I5").ClearContents), alors tu dois absolument conclure par END IF, ce que j’ai rajouté dans mon code.
Tu as écrit un EXIT SUB au milieu du code qui est absolument inutile. Si tu ne l’écrit pas, la macro se termine normalement sur la ligne END SUB. Tu places un EXIT SUB en milieu de code uniquement si tu veux terminer ta macro prématurément à certaines conditions bien précises.
Cordialement.