sup mot répéter

maval

XLDnaute Barbatruc
Bonjour

J'ai un code pour supprimer mot class="st11" mon problème et que je veut changer tous les mots qui ont
Class="01", Class="12", Class="13", ect....

Mon code:
Code:
Sub SupprimerMot()
Dim Cel As Range, Plage As Range
Dim Mot As String
    Set Plage = Range("i5:i200") ' à adapter à la plage à parcourir.
    Mot = "class=""st12" 'adapter au mot à rechercher et à supprimer
    'Pas nécessaire si le plage est petite
    Application.ScreenUpdating = False
    For Each Cel In Plage
        If Cel Like "*" & Mot & "*" Then
            Cel = Replace(Cel, Mot, "")
            'Pour enlever le double espace qui en résulte..
            Cel = Replace(Cel, "  ", " ")
        End If
    Next Cel
    Application.ScreenUpdating = True
End Sub

Je vous remercie

Max
 

vgendron

XLDnaute Barbatruc
Hello
Suffit d'adapter un peu ton code... depuis le temps.. tu devrais savoir quand meme.. non?
et toujours pas de fichier exemple...

VB:
Sub SupprimerMot()
Dim Cel As Range, Plage As Range
Dim listeMot(1 To 4, 1 To 1) As Variant 'on définit le tablo de 4 liges
'Dim listeMot() As Variant 'on laisse la taille NON définie si on va chercher la liste dans une feuille
Application.ScreenUpdating = False
'définir la liste des Mots à supprimer
'ou par lecture d'une zone spécifique dans le fichier?
listeMot(1, 1) = "class=""st12"
listeMot(2, 1) = "class=""st13"
listeMot(3, 1) = "class=""st14"
listeMot(4, 1) = "class=""st01"
''si on va chercher dans une feuille : ex feuille 2 dans la colonne A
'With Sheets("Feuil2")
'    fin = .Range("A" & .Rows.Count).End(xlUp).Row
'    listeMot = .Range("A1:A" & fin).Value
'End With
Set Plage = Range("i5:i200") ' à adapter à la plage à parcourir.
For i = LBound(listeMot, 1) To UBound(listeMot, 1) 'pour chaque mot de la liste
   
    Mot = listeMot(i, 1) 'adapter au mot à rechercher et à supprimer
   
    For Each Cel In Plage
        If Cel Like "*" & Mot & "*" Then
            Cel = Replace(Cel, Mot, "")
            'Pour enlever le double espace qui en résulte..
            Cel = Replace(Cel, "  ", " ")
        End If
    Next Cel
Next i
    Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Réponses
1
Affichages
233
Réponses
2
Affichages
140
Réponses
5
Affichages
390
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 084
Messages
2 085 193
Membres
102 810
dernier inscrit
mohammedaminelahbali