Suppression de lignes dependant d'un caractère

Résolu
raven028 -  
 on supprime cette ligne -
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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
  2. on supprime cette ligne
     
    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
  3. Utilisateur anonyme
     
    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. Utilisateur anonyme
       
      Si tu as > 100 000 lignes, modifies le for l= 1 to xxxxxx

      tchuzz
      0
  4. Utilisateur anonyme
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. on supprime cette ligne
     
    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