Supprimer le contenu d'une cellule en fonction de la valeur d'une autre

Bonjour !

J'aimerais supprimer un "x" dans une cellule si la valeur d'une autre est < 0. Bizarrement, la macro s'effectue en boucle si je note "If rng.Cells(i).Value < 1 Then" mais cela ne marche pas avec "If rng.Cells(i).Value > 0 Then", cela ne fait rien.

Merci pour votre aide :)

Thibault

Le code :

Sub Effacer_x()

Dim rng As Range, i As Integer

Set rng = Range("M6:M100")

For i = rng.Rows.Count To 6 Step -1

If rng.Cells(i).Value > 0 Then

Cells(i, 14).Select

Selection.ClearContents

End If

Next

End Sub

Bonjour ThibaultHaller,

Ceci pourrait être une solution

Sub Effacer_x()

Dim rng As Range, i As Integer

     'Set the range to evaluate to rng.
     Set rng = Range("M6:M100")

     'Loop backwards through the rows
     'in the range that you want to evaluate.
     For i = rng.Rows.Count To 6 Step -1

        'If cell i in the range contains an "x", delete the entire row.
        If Cells(i, 13).Value < 0 Then
            Cells(i, 14).ClearContents
        End If

     Next

End Sub

Slts

Avec rng.Cells(i) tu as un décalage de 6 lignes ce qui correspond à la ligne d'origine de ta plage rng

Bonjour et bienvenu sur le forum

En présumant que c'est sur la feuille 'Modele article" (ou il n'y a aucun chiffre <0 (n'y ailleurs)...

Sachant que ce sont des tableaux structurés...

ci joint ma solution

A+ François

Bonjour,

Merci pour vos réponses, c'est tout bon ainsi. En effet, le problème c'était le rng.Cells, en remplaçant par Cells(i, ...), ça a marché !

Bonne journée
Thibault

Rechercher des sujets similaires à "supprimer contenu fonction valeur"