Suppression de lignes dependant d'un caractère

Résolu
Bonjour a tous ccm81 et les autres
Bon je pose un problème auquel j'attends et espère de vous.
Je voudrais savoir un code qui permet de vérifier la chaine de caractère des lignes de A. Si la première lettre commence par N, la boucle s'arrete. Sinon si c'est autre chose il supprime la ligne de ce caractère comme en excel( ctrl + - ).

5 réponses

  1. Modérateur
    Bonjour,

    Voici un exemple :
    Sub test()
    
    Dim car As String  'caractere à detecter
        car = "N"
    
    'On boucle en partant de la fin
    For l = 100 To 1 Step -1
    
      'on regarde le premier caractere en partant de la gauche
     If Left(Cells(l, 1).Value, 1) = car Then
       'suppression de la ligne
       Rows(l).Delete
     End If
    Next
    
    
    End Sub
    

    0
    1. Merci a vous jordane de me repondre.
      bon en fait il faut descendre ligne par ligne si la chaine de caractere en premier lieu n'est pas "N" il supprime toute cette ligne qui part completement comme ( crtl + moins). La boucle continue jusqu' a ce que quand on a "N" on sort et la boucle sarrete.merci
      0
      1. Bonjour,

        comme Jordane45, j'avais compris "à l'envers"

        Voici le code que tu recherches (si cette fois j'ai bien pigé) :

        Code à mettre sur un bouton par exemple, mais dans la feuille active
        Dim car As String  'caractere à detecter
            car = "N"
            'On boucle
            For l = 1 To 100000
                'on regarde le premier caractere en partant de la gauche
                If Left(Cells(l, 1).Value, 1) = car Then
                    Exit Sub ' on a trouvé le caractère, on sort
                Else
                    'suppression de la ligne
                    Rows(l).Delete
         'astuce pour revenir, après suppression, sur la nouvelle ligne en cours :
                    l = l - 1
                End If
            Next


        Quand Jimmy dit What'd I say 
        I love you baby 
        C'est comme qui dirait 
        Toute la province qui chante en anglais
        0
        1. Si tu as > 100 000 lignes, modifies le for l= 1 to xxxxxx

          tchuzz
          0
      2. Si tu veux automatiser cela mieux,

        tu peux saisir un caractère, et aussi, le transformer en MAJUSCULES, car là, si dans le code tu modifies "N" en "n", cela ne marchera pas. Même chose si ce que tu veux se trouves ailleurs que dans la colonne 'A"...
        A toi de nous dire...

        A+

        Quand Jimmy dit What'd I say 
        I love you baby 
        C'est comme qui dirait 
        Toute la province qui chante en anglais
        0
        1. Bonjour a vous Jordane HDU
          Votre code marche super bien HDU je pense que ca suffira comme ca mon bonheur est atteint.Merci bcp way.
          0