Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Supprimer ligne si cellule est vide

  • Initiateur de la discussion Initiateur de la discussion susaita
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

susaita

XLDnaute Occasionnel
Bonjour à tous,

sur l'exemple ci-inclus j'ai un onglet Total-Mois et sur B9 j'ai une liste déroulante contenant les noms des fournisseurs.
ce que je désire avoir : c'est un code lié a cette liste, et en choisissant un fournisseur si une cellule de la colonne C du tableau est vide alors supprimer la ligne correspondante

Merci d'avance
 

Pièces jointes

Dernière édition:
Bonjour susaita,

Supprimer des lignes, ça a un petit côté ... définitif 😛 (d'autant qu'en cas de problème, d'erreur de manipulation ou de cas non-prévus dans le code, tu pourrais te retrouver avec ... 0 lignes ... et donc toutes tes formules à recréer 😱)

Pourquoi ne pas simplement les masquer (comme si tu décochais les "Vides" dans un filtre automatique)?
 
Bonjour Modeste,
c'est une bonne idée de les cacher au lieu de les supprimer

une proposition de ta part s'il te plait


EDIT: tu as raison il vaut mieux masque la ligne quand elle est vide et la démasquer une fois remplie
 
Dernière édition:
Re,

à tester soigneusement ...

Clic droit sur l'onglet de la feuille "Total - Mois" --> Visualiser le code --> coller ce qui suit dans la fenêtre:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1, 1).Address <> "$B$9" Then Exit Sub
Rows("9:14").Hidden = False
If Target.Cells(1, 1) = "" Then Exit Sub
For Each c In [C9:C14]
    If c = "" Then c.EntireRow.Hidden = True
Next c
End Sub
 
Bonjour à tous,

Peut-être en cliquant sur les boutons "afficher" : " masquer "

L'intérêt de ces boutons permet d'ajouter de la saisie ou de masquer une cellule vide

Bonne journée !
 

Pièces jointes

Dernière édition:
Re²,

Dans l'exemple fourni, il n'y avait que 6 lignes ... ça ne devrait donc pas prendre des plombes!?
Tu as plus de lignes? Beaucoup plus? Infiniment plus?
S'il y a des cellules vides en colonne C elles ne seront jamais que dans les dernières lignes? Dans ce cas, on peut commencer par le bas et sortir de la procédure à la première cellule non-vide ... mais il faut plus de précisions (ou un exemple plus représentatif)
 
j'aimerais éviter le screen updating
Ben, si tu connais la solution ... pourquoi ne pas la mettre en œuvre?

Une version ci-dessous, qui scanne la colonne C en commençant en ligne 14 et en remontant. J'ai considéré qu'il ne saurait (vu la formule utilisée) y avoir des cellules vides entre les données. Les lignes sont masquées en une seule fois.
Je t'ai laissé le ScreenUpdating en commentaire ... il me semble que ça ne devrait rien changer? Supprime l'apostrophe en début de ligne, si tu veux activer ces 2 lignes.

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1, 1).Address <> "$B$9" Then Exit Sub
Rows("9:14").Hidden = False
If Target.Cells(1, 1) = "" Then Exit Sub
For lig = 14 To 9 Step -1
     If Cells(lig, 3) = "" Then
        derLigne = lig
    Else: Exit For
    End If
Next lig
'Application.ScreenUpdating = False
If derLigne > 0 Then Rows(derLigne & ":14").Hidden = True
'Application.ScreenUpdating = True
End Sub

Bon après-midi
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…