Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
248
Réponses
2
Affichages
153
Réponses
5
Affichages
410
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…