Macro utile pour supprimer des lignes avec du texte, Excel VBA

Souvent, vous ne pouvez pas simplement supprimer des lignes dans une table simplement parce qu’il n’y a aucune valeur dans une colonne. Il vaut mieux vérifier s’il s’agit bien d’une ligne vide. Pour ce faire, définissez au préalable vos critères de suppression d’une ligne. Celles-ci pourraient par exemple être les suivantes:

Une ligne est supprimée si

– le texte se trouve dans n’importe quelle ligne de la colonne A ou

– la somme des colonnes B: D donne la valeur 0.

Pour effectuer la suppression conditionnelle de lignes, démarrez la macro suivante:

Sub SuppressionLignesCondition ()
Dim sumsp as long
  Sheets ("Feuil2"). Activate
  Range ("A1"). Select
  Do Until ActiveCell.Value = ""
    sumsp = ActiveCell.Offset (0, 1) .Value + _
    ActiveCell.Offset (0, 2) .Value + _
    ActiveCell.Offset (0, 3) .Value
    On Error Resume Next
    If sumsp = 0 Or InStr (1, ActiveCell.Value, "Alt") _
    Then Selection.EntireRow.Delete _
    Else ActiveCell.Offset (1, 0) .Select
  Loop
End Sub

Vous pouvez utiliser la fonction InStr pour vérifier si le texte ALT apparaît dans la cellule à examiner. Peu importe que le texte recherché soit au début, au milieu ou à la fin de la cellule. Pour vérifier le deuxième critère de suppression, formez une somme et enregistrez-la dans la variable sumsp. Si l’un des deux critères de suppression est satisfait, la ligne entière est supprimée à l’aide de la méthode Delete et le pointeur de cellule est positionné une ligne plus loin.

Une autre condition de suppression serait par ex. B. le test après un certain nombre de caractères saisis. La macro suivante supprime toutes les lignes dont les cellules de la colonne A contiennent exactement 0 caractère.

Sub SupprimerLesLignesVides ()
Dim l As Long
Dim Zl As Long
  Sheets ("Feuil3"). Activate
  Zl = ActiveSheet.UsedRange.Rows.Count
Range("A1").Select
For l = 1 To Zl
If Len(ActiveCell.Value) = 0 _
Then Selection.EntireRow.Delete _
Else ActiveCell.Offset(1, 0).Select
Next l
End Sub

Dans la première étape, vous déterminez le nombre de lignes occupées dans votre table. Vous enregistrez le nombre déterminé dans la variable longue zl. Ensuite, vous configurez une boucle For Next qui est exécutée jusqu’à ce que la dernière ligne de la zone utilisée soit atteinte. Dans la boucle, utilisez la fonction Len pour déterminer le nombre de caractères entrés dans la cellule. Si la longueur des caractères de la cellule est supérieure à dix caractères, la ligne entière est supprimée. Sinon, la ligne suivante est positionnée.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x