Supprimer la ligne si le premier caractère est un chiffre

excel12

XLDnaute Nouveau
Supprimer la ligne si le premier caractère est un chiffre

Bonjour!

J'ai plus de 1000 lignes dans Excel.
Je souhaite supprimer toutes les lignes dont le premier caractère est un chiffre.

Donc, si j'ai ces 5 lignes par exemple:
ABC
5FG
ZM5
89L
W99

Il doit seulement me rester ces 3 lignes:
ABC
ZM5
W99

Est-ce que vous avez quelques idées?

Merci!

Excel12
 

Staple1600

XLDnaute Barbatruc
Re : Supprimer la ligne si le premier caractère est un chiffre

Bonjour à tous

Une idée simple (que je viens de tester - donc cela fonctionne)
Appliquer un filtre élaboré avec un critère formulé: =ESTNUM(GAUCHE(A2)*1)
Ensuite clic-droit Supprimer ligne entière

NB: Je pars du principe qu'en A1, il y a l'entête (ou le titre de la colonne)

EDITION: Bonjour JCGL
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Supprimer la ligne si le premier caractère est un chiffre

Bonjour à tous,
Salut l'Agrafe,

Peux-tu essayer avec :

VB:
Option Explicit
Sub Test()
Dim DerL&, L&
DerL = Feuil1.Range("A" & Rows.Count).End(3).Row
For L = 2 To DerL
If IsNumeric(Left(Cells(L, 1), 1)) = True Then Cells(L, 1).EntireRow.Delete
Next L
End Sub

A+ à tous
 

Si...

XLDnaute Barbatruc
Re : Supprimer la ligne si le premier caractère est un chiffre

salut

Si... je ne m"abuse, le filtre cache et pour supprimer, il est préférable de remonter :
Code:
Sub Supp()
  Dim L As Single
  Application.ScreenUpdating = 0
  For L = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
    If IsNumeric(Left(Cells(L, 1), 1)) Then Rows(L).Delete
  Next
End Sub
 

excel12

XLDnaute Nouveau
Re : Supprimer la ligne si le premier caractère est un chiffre

Bonjour à tous

Une idée simple (que je viens de tester - donc cela fonctionne)
Appliquer un filtre élaboré avec un critère formulé: =ESTNUM(GAUCHE(A2)*1)
Ensuite clic-droit Supprimer ligne entière

NB: Je pars du principe qu'en A1, il y a l'entête (ou le titre de la colonne)

EDITION: Bonjour JCGL

Bonjour Staple1600,

L'idée est bonne. J'ai essayé. Mais moi, le résultat que j'obtiens est que toutes les lignes avec les lettres disparaissent et il ne me reste que les lignes avec les chiffres. Ce que je souhaite, c'est conserver les lignes qui ont des lettres comme premier caractère. Mais je trouve que l'utilisation des filtres élaborés peut être très utile.

Merci pour l'information.

Excel12
 

excel12

XLDnaute Nouveau
Re : Supprimer la ligne si le premier caractère est un chiffre

Bonjour JCGL,

J'ai essayé. Pour l'exemple que j'ai écrit dans la question, tout fonctionne bien. Mais aussitôt que j'ai essayé avec mes 1000 lignes que je devais traiter, rien n'a fonctionné. Je ne comprends pas très bien le code et je ne sais pas trop quoi modifier pour que le Code VBA puisse faire le travail.

Pourquoi il y a un «&» dans la variable Dim DerL&
Qu'est-ce que ça fait quand on déclare une variable Dim et qu'on met une virgule? Est-ce que ça permet de déclarer deux variables? L'une serait «DerL&», la seconde «L&»?

For L = 2 To DerL
Mais
DerL = Feuil1.Range("A" & Rows.Count).End(3).Row
Le «End(3).row», c'est pour dire à quelle ligne que la boucle doit arrêter?

Je ne comprends pas à quoi correspondent les «1» dans le «if»
If IsNumeric(Left(Cells(L, 1), 1)) = True Then Cells(L, 1).EntireRow.Delete

Merci pour votre aide!
 

excel12

XLDnaute Nouveau
Re : Supprimer la ligne si le premier caractère est un chiffre

Bonjour Si...,

J'ai essayé ton code. Tout fonctionne parfaite. Aussi, peux-tu m'expliquer un peu comment fonctionne le «.End(x1Up)».

Parce que dans mon fichier où j'ai 1000 lignes à traiter, les lignes remplies sont espacées, par une ligne vide entre chaque. Je pensais qu'en mettant «.End(2xUp)» m'aurais permis de faire arrêter la macro après que celle-ci ait rencontré 2 lignes vides.

Donc, comment faire pour que ça fonctionne dans le cas de ligne vide comme dans ce nouvel exemple:
ABC

5FG

ZM5

89L

W99

Merci pour ton aide!
 

Discussions similaires

Réponses
22
Affichages
775
Réponses
9
Affichages
178

Statistiques des forums

Discussions
312 214
Messages
2 086 311
Membres
103 175
dernier inscrit
abcc