Recherche et suppression text entre crochet

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 !

lostheroe

XLDnaute Occasionnel
Bonjour,

Je voudrais faire une macro pour rechercher et supprimer tout les textes entre crochet dans l'ensemble de la feuille active.

Cordialement
 

Pièces jointes

Re : Recherche et suppression text entre crochet

Bonjour lostheroe,

Sans certitude que ça fonctionnera à tous les coups, peut-être:
Code:
Sub suppression()
For Each c In Sheets("Feuil1").Cells.SpecialCells(xlCellTypeConstants)
    c = c.Replace("[*]", "")
Next c
End Sub
 
Re : Recherche et suppression text entre crochet

Re,

J'ai annulé le post #5 parce que j'essayais de mettre un espace devant le texte "[*]" du post #4.

Mais les crochets sont considérés comme des balises et le programme XLD supprime l'espace...

A+
 
Re : Recherche et suppression text entre crochet

Bonsoir,

La formule vba est la suivante

VB:
Sub suppression()
MsgBox Cells(2, 2)

MsgBox Split(Split(Cells(2, 2), "[")(0) & Split(Cells(2, 2), "[")(1), "]")(0)

'exemple en ligne 4 colonne B le resultat de la ligne 2 colonne 2 :

Cells(4, 2) = Split(Split(Cells(2, 2), "[")(0) & Split(Cells(2, 2), "[")(1), "]")(0)

End Sub

Laurent
 
Dernière édition:
Re : Recherche et suppression text entre crochet

Bonsoir Job75,

Il faut en faire une boucle avec une condition que j'ai pas fais en faite.

en une ligne : l'idée était là

VB:
Sub Suppression()
If Selection.SpecialCells(xlCellTypeConstants, 2) Like "*" & "[[]*[]]" & "*" Then
Selection.SpecialCells(xlCellTypeConstants, 2) = Split(Split(Selection.SpecialCells(xlCellTypeConstants, 2), "[")(0) & Split(Selection.SpecialCells(xlCellTypeConstants, 2), "[")(1), "]")(0)
End If
End Sub

Laurent
 
Dernière édition:
Re : Recherche et suppression text entre crochet

Bonsour®
Re,

J'ai annulé le post #5 parce que j'essayais de mettre un espace devant le texte "[*]" du post #4.

Mais les crochets sont considérés comme des balises et le programme XLD supprime l'espace...

A+
🙄
heu .... ??? un vieux routier comme toi ????

Capture.jpg
😛
 

Pièces jointes

  • Capture.jpg
    Capture.jpg
    8.1 KB · Affichages: 31
  • Capture.jpg
    Capture.jpg
    8.1 KB · Affichages: 38
Re : Recherche et suppression text entre crochet

Bonsoir

aprés test sa fonctionne impec

VB:
Sub Suppression()
Dim ws As Worksheet
Set ws = Worksheets(ActiveSheet.Name)

Dim cel As Range
Set cel = Selection.SpecialCells(xlCellTypeConstants, 2)

'cel.Select

For Each cel In cel
    'cel.Select
    If cel Like "*" & "[[]*[]]" & "*" Then
        cel = Split(Split(cel, "[")(0) & Split(cel, "[")(1), "]")(0)
    ElseIf cel Like "*" & "[[]" & "*" Then
        cel = Split(cel, "[")(0) & Split(cel, "[")(1)
    ElseIf cel Like "*" & "[]]" & "*" Then
        cel = Split(cel, "]")(0)
    End If
Next cel

Set ws = Nothing
Set cel = Nothing

End Sub

laurent
 

Pièces jointes

Dernière édition:
Re : Recherche et suppression text entre crochet

Bonjour le fil, le forum,

En complément de mon post #4, si l'on veut aussi supprimer l'espace situé avant ou après :

Code:
Sub suppression()
Dim t$
t = "[*]"
Cells.Replace " " & t, "", xlPart
Cells.Replace t & " ", ""
Cells.Replace t, ""
End Sub
Bonne journé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
2
Affichages
122
Réponses
2
Affichages
156
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
418
Réponses
14
Affichages
256
Réponses
17
Affichages
705
Retour