Vider cellule sous condition
Résolu
wakafa
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Je souhaite en cliquant sur un bouton de mon userform, parcourir la colonne "I" verifier si la valeur égale la valeur du textbox4 et puis si la valeur de la colonne B est différente de textbox21 me vider les cellules des colonnes H, I et J. Etant donné que je suis pas experte en vba et après plusieurs recherches j'arrive pas à comprendre pourquoi le code utilisé ci-dessous ne fonctionne pas.
Merci bien pour votre aide mais je suis vraiment bloquée la dessus.
Je sollicite ainsi votre aide.
Merci d'avance.
Merci bien pour votre aide mais je suis vraiment bloquée la dessus.
Je sollicite ainsi votre aide.
Merci d'avance.
Private Sub CommandButton7_Click()
Set sh1 = Sheets("planning")
For i = 3 To sh1.Cells(Rows.Count, "I").End(xlUp).Row
If sh1.Range("I" & i) = TextBox4.Value And sh1.Range("I" & i).Offset(0, -7) <> TextBox21.Value Then
sh1.Range("I" & i).Value = ""
sh1.Range("I" & i).Offset(0, 1).Value = ""
sh1.Range("I" & i).Offset(0, -1).Value = ""
End If
Next i
MsgBox ("Fichier actualisé")
End Sub
4 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
moi je me méfierais duRows
sans précision de la feuille, et je ferais:For i = 3 To sh1.Cells(sh1.Rows.Count, "I").End(xlUp).Row
en passant, je trouve que Offset est inutile ici, et je ferais plutôt, par exemple:Range("B" & i)
au lieu deRange("I" & i).Offset(0, -7) -
Bonjour yg_be,
Merci pour votre retour.
J’ai effectué les changements mais la suppression ne se fait toujours pas et pas de message d’erreur. -
Bonjour
Teste comme ceciPrivate Sub CommandButton7_Click() Set sh1 = Sheets("planning") For i = 3 To sh1.Cells(Rows.Count, "I").End(xlUp).Row If sh1.Range("I" & i).Text = TextBox4.Value Then If sh1.Range("B" & i).Text <> TextBox21.Value Then sh1.Range("I" & i).Value = "" sh1.Range("I" & i).Offset(0, 1).Value = "" sh1.Range("I" & i).Offset(0, -1).Value = "" End If End If Next i MsgBox ("Fichier actualisé") End Sub -
Bonjour,
Merci de :
> préciser ce qui est saisi dans les 2 textbox (numérique, texte, date, etc...)
> préciser ce que contiennent les colonnes I et B
Essayer également d'indiquer la propriété des cellules à scruter :If sh1.Range("I" & i).Value = TextBox4.Value And sh1.Range("I" & i).Offset(0, -7).Value <> TextBox21.Value Then