Effacer valeur cellule en fonction valeur autre cellule

Bonjour,

Excel 2010. Je cherche une solution VBA pour pouvoir effacer la valeur de la cellule H10 si la valeur de la cellule I10 est égale à "-FIL-VERT". La macro ci-dessous ne fait pas appel au débogueur mais comporte des erreurs car ne fonctionne pas.

Sub EFFA()

With ActiveSheet

If I10 = "-FIL-VERT" Then Range("H10").ClearContents

End With

End Sub

Merci.

Bonjour,

je ferai plutôt dans le genre :

Sub EFFA()
With ActiveSheet
If Range("I10").value = "-FIL-VERT" Then 
Range("H10").value=""
End With
End Sub

Bonjour,

Vous avez omis de mettre I10 comme étant une plage ("Range"), VBA considère donc que c'est le nom d'une variable.

Utiliser une structure With Truc...End With, c'est bien, mais d'une part c'est peu utile sur la feuille active car en l'absence de précision, c'est la feuille qui est implicitement utilisée par VBA. D'autre part, pour que ça ait un intérêt, il faut que les objets qui s'y rapportent commencent par un point : .Range("A1") au lieu de Range("A1").

Voilà ce que je propose :

Sub EFFA()

With Sheets("NomDeLaFeuille")
    If .Range("I10") = "-FIL-VERT" Then .Range("H10").ClearContents
End With

End Sub

Edit : Salut Xmenpl !

Merci à vous deux pour vos explications et propositions rapides et éclairées.

Pbl résolu avec:

Sub EFFA()

With Sheets("Feuil1")

If .Range("I10") = "-FIL-VERT" Then .Range("H10").ClearContents

End With

End Sub

Merci encore

Cdt

Rechercher des sujets similaires à "effacer valeur fonction"