[RESOLU] Test caractère dans une cellule

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

  • Classeur1.xlsx
    8 KB · Affichages: 63
  • Classeur1.xlsx
    8 KB · Affichages: 66
  • Classeur1.xlsx
    8 KB · Affichages: 64
Dernière édition:

DoubleZero

XLDnaute Barbatruc
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 :)
 

richert90

XLDnaute Occasionnel
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 -- ?
 

JNP

XLDnaute Barbatruc
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 :)
 

Discussions similaires

Réponses
2
Affichages
87
Réponses
5
Affichages
229

Statistiques des forums

Discussions
312 177
Messages
2 085 976
Membres
103 077
dernier inscrit
kamel26asus