[EXCEL] suppression de caractères
Résolu
6FoursPlaya83
-
Le Pingou Messages postés 12273 Date d'inscription Statut Non membre Dernière intervention -
Le Pingou Messages postés 12273 Date d'inscription Statut Non membre 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
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Caractères spéciaux - Guide
- Déplacer colonne excel - 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,
Je me fais une copie pour étudier cette superbe procédure.
Merci.
Je me fais une copie pour étudier cette superbe procédure.
Merci.
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