SOSOrdi.net
Soutien
Identification
Pas encore inscrit(e) ? Cliquez-ici
La May Update de Windows 10 (2004) est déployée : qu'en pensez-vous ?

Comment supprimer en VBA une partie des informations d'une cellule

BOnjour,

J'ai une macro d'effectuer avec des données qui remontent dans certaines colonnes, et dans ma colonne "F", voici un exemple de ce qui remonte:

"ORIGIN <10000000000030> / 20190000969 / 44274 / DJ-844-JL"

Savez-vous comment je pourrais supprimer ou remplacer par un vide la valeur suivante : <10000000000030> sachant que le mot ORIGIN change sur chaque ligne et n'est pas de longueur fixe?

Merci pour votre retour,
posté le 7 Juin 2019 dans la catégorie VB/VBA par Senate

3 Réponses

Salut,

Quand tu indiques que le mot ORIGIN change sur chaque ligne, tu veux dire que c'est le mot complet qui est différent sur chaque ligne ?

Les caractères < et > sont toujours présent ?

Je verrais bien un truc du genre :

Dep_caractere = WorksheetFunction.Search("<", Range("F3").Value, 1)
Fin_caractere = WorksheetFunction.Search(">", Range("F3").Value, 1)
Range("F4").Value = Mid(Range("F3").Value, 1, Dep_caractere-1) & Mid(Range("F3").Value, Fin_caractere+1, Len(Range("F3").Value))

Search récupère la position du caractère dans la cellule
Mid extrait une partie de la cellule.
L'idée ici est de récupérer les infos avant le < et aprés le > est les regrouper tel que.

Le texte a traiter etant en F3 et le resultat en F4
répondu le 7 Juin 2019 par yoyoww
Salut Yoyoww,

Oui le mot "Origin" change à chaque fois, cela correspond au nom des client, et ce libellé est toujours formaté de la ma même manière, après le nom du client, nous retrouverons toujours les "<...>".

Je vais tester ce que tu m'as donné.

Merci pour ton retour,

++
répondu le 11 Juin 2019 par Senate
 
Solution
Bon finalement, j'ai effectuer une expression reguilere

Private Function CleanStr(strIn As String)
Dim objRegex As Object
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Pattern = "\<[^>]*\>"
.Global = True
CleanStr = .Replace(strIn, vbNullString)
End With
End Function

et ca fonctionne

Merci
répondu le 25 Juin 2019 par Senate
élue le 25 Juin 2019 par bird
Aidez SOSOrdi.net !

Actualités / Articles / Astuces associés :

Questions associées:

3 réponses 691 vues
posté le 11 Mai 2004 dans la catégorie VB/VBA par tims
11 réponses 198 vues
posté le 17 Jan 2007 dans la catégorie Programmation par psi343
3 réponses 848 vues
posté le 28 Déc 2006 dans la catégorie Programmation par psi343
4 réponses 420 vues
posté le 19 Oct 2004 dans la catégorie VB/VBA par pipiche
3 réponses 2,731 vues
Retour en haut
...