[XLS-2016]Macro suppress de lignes avec conditions

Fermé
domcoool Messages postés 1 Date d'inscription lundi 3 septembre 2018 Statut Membre Dernière intervention 3 septembre 2018 - 3 sept. 2018 à 11:32
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 3 sept. 2018 à 12:01
Bonjour à tous,

J'ai un fichier ou j'ai deja réalisé pas mal de choses.

mais je bute sur un élément.
J'aimerai supprimer des lignes.

Sur la colonne F à partir de ligne 7, je voudrais supprimer chaque ligne dont le contenu le la cellule dans la colonne F n'est pas strictement égal à 6 caractères alphanumériques

Par avance merci de votre aide
A voir également:

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié le 3 sept. 2018 à 12:53
Bonjour,

En vba

voir ce site pour vérifier si c'est une valeur numérique et si elle est égale à 6 caractères

https://excel-malin.com/faq/vba-faq/verifier-si-expression-represente-nombre/

voir ce site pour faire un boucle pour parcourir toutes les cellules de la colonne F

https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/

ce qui donne ceci:

Option Explicit
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
Private Sub CommandButton1_Click()
For_X_to_Next_Ligne
End Sub
Sub VerifierNombres()
' par Excel-Malin.com - https://excel-malin.com
On Error GoTo Erreur
Dim MonNombre As Variant

'choisir l'expression à tester
'MonNombre = "12345"
'MonNombre = "007"
'MonNombre = "1A45"

'procéder au test et indiquer des actions à effectuer
If IsNumeric(Var) = True Then
    'votre code si expression est numérique
       ' MsgBox "L'expression est un nombre"
      If Len(Var) = 6 Then
Else
        Rows(NoLig & ":" & NoLig).Delete 
        End If
Else
    'votre code si expression n'est pas numérique
      '  MsgBox "L'expression n'est pas un nombre"
End If

Exit Sub
Erreur:
MsgBox "Une erreur s'est produite..."
End Sub
Sub For_X_to_Next_Ligne()
'https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/
Set FL1 = Worksheets("Feuil1")
    NoCol = 6 'lecture de la colonne F
    For NoLig = 7 To Split(FL1.UsedRange.Address, "$")(4)
        Var = FL1.Cells(NoLig, NoCol)
         VerifierNombres
    Next
    Set FL1 = Nothing
End Sub



voilà

je viens de relire ta demande et je m'aperçois que c'est le contraire que j'ai fait, je rectifie: il suffit de rajouter un Else

0