creer une macro

lulu502

XLDnaute Nouveau
Bonjour,

Je voudrai creer une macro qui permet de supprimer la ligne si dans une cellule x, s'il n'y a pas de donnée.

Exemple

J'ai un devis à réaliser, et je ne me sers pas de toutes les lignes seulement de celles dont la cellule de la colonne "quantité" est rempli. Je voudrais en cliquant sur un bouton, supprimer les lignes inutiles.

Merci pour votre aide.
 

VDAVID

XLDnaute Impliqué
Re : creer une macro

Bonsoir Lulu,
Tu peux utiliser le code VBA suivant :

Code:
Application.ScreenUpdating = False
Dim i&
For i = 500 To 1 Step -1 
If Range("A" & i).Value = "" Then
Range("A" & i).EntireRow.Delete
End if
Next
Application.ScreenUpdating = True
End Sub

Avec les bornes de en i
et La colonne que tu souhaite à la place de "A"
Bonne soirée

EDIT : bonjour Bruno :)
Effectivement les bornes doivent être inversé ! J'ai corrigé !
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : creer une macro

Bonjou Lulu502 et bienvenue sur ce forum ;)
Bonjour vdavid,

Vdavid, une erreur dans ton code ...
Pour la suppression de ligne dans une boucle il faut toujours commencer par la fin
sinon tu saute une ligne à chaque fois ;)

Donc le code serait, avec nom de variable plus explicite
Code:
Sub SupressionLigneVide()
  Dim DLig As Long, Lig As Long
  ' Empècher l'actualisation de l'écran
  Application.ScreenUpdating = False
  ' Trouver la dernière ligne du tableau
  DLig = Range("X" & Rows.Count).End(xlUp).Row
  ' De la dernière ligne à la première
  For Lig = DLig To 1 Step -1
    ' Si le contenu de la cellule est vide
    If Range("X" & Lig).Value = "" Then
      ' On supprime la ligne
      Range("X" & Lig).EntireRow.Delete
    End If
  Next
  Application.ScreenUpdating = True
End Sub

A+
 

Discussions similaires

Réponses
8
Affichages
431

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 987
dernier inscrit
Doctami