Suppression de lignes dependant d'un caractère

Résolu/Fermé
raven028 - 24 août 2016 à 11:32
 on supprime cette ligne - 26 août 2016 à 11:52
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 + - ).
A voir également:

5 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
24 août 2016 à 11:43
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
on supprime cette ligne
24 août 2016 à 20:22
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
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
Utilisateur anonyme
24 août 2016 à 23:25
Si tu as > 100 000 lignes, modifies le for l= 1 to xxxxxx

tchuzz
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
on supprime cette ligne
26 août 2016 à 11:52
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