[EXCEL] suppression de caractères
Résolu
6FoursPlaya83
-
Le Pingou Messages postés 12375 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12375 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je souhaiterai pouvoir supprimer tout les mots de moins de XXX lettres dans une cellule de texte
Ex: Cellule avant traitement " Salut ça va c'est moi"
Cellule après traitement (si XXX=3) : "Salut c'est moi"
Merci par avance pour votre aide
Cordialement,
greg
je souhaiterai pouvoir supprimer tout les mots de moins de XXX lettres dans une cellule de texte
Ex: Cellule avant traitement " Salut ça va c'est moi"
Cellule après traitement (si XXX=3) : "Salut c'est moi"
Merci par avance pour votre aide
Cordialement,
greg
A voir également:
- [EXCEL] suppression de caractères
- Forcer suppression fichier - Guide
- Caractères spéciaux - Guide
- Caracteres speciaux - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
5 réponses
bonjour
fonction personnalisée: ne garde que les mots dans la cellule (texto) de plus de XXX lettres (seuil)
actuellement, elle supprime les doublons de mots: me dire si on veut les garder
fonction personnalisée: ne garde que les mots dans la cellule (texto) de plus de XXX lettres (seuil)
actuellement, elle supprime les doublons de mots: me dire si on veut les garder
Option Explicit
Function extraire_mots(texto As String, seuil As Byte)
'Michel_M mai 2006
Dim reg As Object
Dim texte As Object
Dim mot As Object
Dim coll As Collection
Dim cptr As Byte
'instancie
Set coll = New Collection
Set reg = CreateObject("vbscript.regexp")
' on travaille sur tout le texte
reg.Global = True
'définition du modèle : on cherche des mots d'au moins N caractères {seuil, infini } avec les accentués
reg.Pattern = "(\b[a-zA-Z0-9çàâäéèêëïîôöùû]{" & seuil & ",})"
'exécution de la recherche
Set texte = reg.Execute(texto)
'collecte les mots sans doublons
For Each mot In texte
On Error Resume Next
coll.Add mot.Value, mot.Value
On Error GoTo 0
Next mot
'extrait les mots de longueur >= seuil
For cptr = 1 To coll.Count
extraire_mots = extraire_mots & coll(cptr) & " "
Next
Set reg = Nothing
Set coll = Nothing
End Function
Bonjour Le Pingou
Merci! si tu as le temps essaies le code conservant les doublons (je dois partir)
ce code avait été réalisé à partir de ce tuto:
https://cafeine.developpez.com/access/tutoriel/regexp/
Merci! si tu as le temps essaies le code conservant les doublons (je dois partir)
ce code avait été réalisé à partir de ce tuto:
https://cafeine.developpez.com/access/tutoriel/regexp/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour michel_m,
Je pense que je commence à comprendre le fonctionnement, c'est super intéressant, alors si on ajoute le caractère (`) apostrophe au motif (Pattern) soit :
Pour l'exemple " Salut ça va c'est moi"
on obtiendra " Salut c'est moi"
et non pas " Salut est moi"
A une prochaine
Je pense que je commence à comprendre le fonctionnement, c'est super intéressant, alors si on ajoute le caractère (`) apostrophe au motif (Pattern) soit :
reg.Pattern = "(\b[a-zA-Z0-9çàâäéèêëïîôöùû']{" & seuil & ",})"
Pour l'exemple " Salut ça va c'est moi"
on obtiendra " Salut c'est moi"
et non pas " Salut est moi"
A une prochaine