[RESOLU] Test caractère dans une cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

richert90

XLDnaute Occasionnel
Bonjour à tous;

Dans le fichier joint j'ai une base que j'ai importé. Comme on peut le voir, a la deuxième ligne pour chaque colonne j'ai des caractères "----".. Je voudrais en VBA créer une petite procédure me permettant de voir si dans une cellule j'ai ces caractères... dans ce cas je supprimerai la ligne complètement:
J'ai eu quelques idées mais non concrétisées ( comme utiliser la fonction like?) ou alors une fonction qui me permet de savoir si un caractère (ici "-") est dans une cellule? (instr?)

Voici une idée:

Code:
 dim x as integer
dim i as integer
x=0
    For i = 1 To 4
        If Cells(2, i) like "*-*" Then
            x= x + 1
        End If
    Next i
    
    If x > 1 Then
        Rows("2:2").Select 'Selection de la ligne bidon
        Selection.Delete Shift:=xlUp 'On supprime cette ligne
        Cells(1, 1).Select
    End If

la modification doit se faire à ce niveau :

Code:
 If Cells(2, i) like "*-*" Then

Merci d'avance pour votre aide
 

Pièces jointes

Dernière édition:
Re : Test caractère dans une cellule

Bonjour, richert90, le Forum,

Peut-être ainsi :

Code:
Option Explicit
Sub Ligne_supprimer_si_tirets()
Dim i As Long
Application.ScreenUpdating = False
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If Range("A" & i) Like "*----*" Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub

A bientôt 🙂
 
Re : Test caractère dans une cellule

Bonsoir DoubleZero et merci pour ta réponse

Par contre chaque cellule (en ligne2) n'a pas le même nombre de "-"
en colonne A (cellule A2) "---"
En colonne B (cellule B2) "---------"
En colonne C (cellule C2) "-"

J'ai besoin de faire le test pour une cellule ou 2 (disons A2 et B2) pour voir si il y a au moins 2 caractères "--" pour éviter une confusion avec un nom composé.

Dans le "like*"xxxx"* est-ce que ca joue le nomre de -- ?
 
Re : Test caractère dans une cellule

Bonsoir 🙂
Histoire de faire un bisou à 00 🙂
Code:
Sub Ligne_supprimer_si_tirets()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, "A").End(xlUp).Row To 1 Step -1
If Range("A" & i) Like "*--*" Or Range("B" & i) Like "*--*" Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub
Dans une boucle de suppression de ligne, toujours remonter, sinon il y a des lignes ignorées..
Bonne soirée 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
788
Réponses
5
Affichages
914
Réponses
2
Affichages
528
Retour