Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
vba si cellulle dans colone b est vide, delete ligne entière ?
Re : vba si cellulle dans colone b est vide, delete ligne entière ?
Bonsoir Guillaume,
Tu ne précises pas si tu sais utiliser l'éditeur VBA, mais voici quand même la démarche :
Dans la fenêtre de Projet, tu double-cliques dans le module de ta feuille (Feuil1 par exemple)
Dans la liste déroulante de gauche de la fenêtre principale, tu cliques sur Worksheet, dans celle de droite, tu cliques sur Change. Tu obtiens :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Il ne te reste plus qu'à ajouter :
Application.EnableEvents = False
If Target.Column = 2 And Target.Row > 3 And Target.Value = "" Then Target.EntireRow.Delete
Application.EnableEvents = True
La première ligne empêche que la procédure ne s'exécute en boucle à chaque modification.
La deuxième teste le n° de colonne de la cellule modifiée (Target représente cette cellule), son n° de ligne et son contenu. Si la colonne est 2 (B), si la ligne est supérieure à 3 et si le contenu est vide alors la ligne entière est supprimée.
La troisième et dernière rétablit la détection d'événement, sans quoi la procédure ne serait pas lancée à la prochaine modification.
Tu peux effacer la dernière procédure, inutile dans ce cas. Tu obtiens donc au final :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 2 And Target.Row > 3 And Target.Value = "" Then Target.EntireRow.Delete
Application.EnableEvents = True
End Sub
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.