[EXCEL] suppression de caractères
Résolu
6FoursPlaya83
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 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
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Caractères ascii - Guide
- Caractères spéciaux - 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