besoin d 'aide sur un traitement de texte en code VBA

  • Initiateur de la discussion Initiateur de la discussion sniper2002
  • Date de début Date de début

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 !

sniper2002

XLDnaute Occasionnel
Bonjour à toute et à tous
j'ai un problème que je n'arrive pas à résoudre sur le traitement du texte d'une cellule

1ér problème :

dans la colonne A : je souhaite que toutes les chaînes de caractères qui viennent se coller dans cette colonne soit sans :
Le, La, Les; L'; Un; D';Une; Des
exemple: La poste ==> poste; L'abricot==> abricot

2ème Problème :
Lorsque on saisie ou (Copier/coller) le Prénom+Nom dans la colonne F je veux qu'il distingue le prénom dans une colonne (colonne G) et le nom dans une autre (colonne H)
par défaut je considère que le Prénom précède le nom et qu'il y a un espace entre les 2

Sera t'il possible que le code porte sur la saisie et le copier/coller aussi ?

Merci beaucoup pour vos réponses
 

Pièces jointes

Re : besoin d 'aide sur un traitement de texte en code VBA

Bonsoir,

essaie avec ce code :

Code:
Option Compare Text
Sub mef()
Dim Cel As Range
Articles = Array("Le ", "La ", "Les ", "L'", "Un ", "D'", "Une ", "Des ")
For Each art In Articles
    Columns("A:A").Replace What:=art, Replacement:="", LookAt:=xlPart
Next art
For Each Cel In Range("F1:F" & [F65000].End(xlUp).Row)
    pos = InStr(1, Cel.Value, " ")
    Cel.Offset(0, 1).Value = Left(Cel.Value, pos - 1)
    Cel.Offset(0, 2).Value = Right(Cel.Value, Len(Cel) - pos)
Next Cel
End Sub

Bonne soirée
 
Re : besoin d 'aide sur un traitement de texte en code VBA

tout d'abord merci pour vos réponses
juste une annomalie que j'ai constaté : sur le code de VBACRUMBLE, que je n'arrive pas à réctifier c'est que le code, supprime tout ce qui commence par : La,Le,Des.....
exemple : destinataire ==>tinataire.
mon besoin porte uniquement sur les articles : La, le, les, des; un ; une... en début de la phrase
exemple : la maison d'emilie ==> maison d'emilie
le code de BHBH supprime les articles dans toute la phrase,
exemple : la maison d'émilie ==> maison emilie
VBA j'ai essayé de modifier ton code mais je ne pige que dalle 🙂 à ce que tu as construit
merci d'avance pour ton aide
 
Re : besoin d 'aide sur un traitement de texte en code VBA

re
toujours le même probleme : exemple : destinataire==> tinataire
je n'arrive pas à limiter la seletion du champ à supprimer iniquement sur les artivles : le, la; des; .... normalement ça devrai se faire uniquement là ou il y a un espace après l'article
 
Re : besoin d 'aide sur un traitement de texte en code VBA

bonjour mromain

ton exemple supprime les articles qui se situent aussi au milieu de la phrase!
exemple: une maison dans la compagne ==> maison dans compagne
mon besoin se focalise sur la suppression des articles uniquement au début des titres

en te remerciant d'avance
 
Re : besoin d 'aide sur un traitement de texte en code VBA

re,

voici le code modifié :
Code:
Public Function Nettoyer(cellule As Range) As String
Dim tabStr, i As Integer, aEffacer As Variant, dejaEffacer As Boolean

'ajouter/enlever si nécessaire
aEffacer = Array("Le", "La", "Les", "L'", "Un", "D'", "Une", "Des")

dejaEffacer = False
tabStr = Split(Replace(cellule.Cells(1, 1), "'", " "), " ")
For i = LBound(tabStr) To UBound(tabStr)
    Nettoyer = Nettoyer & IIf(i = LBound(tabStr), vbNullString, " ") & IIf(dejaEffacer = False And Contient(CStr(tabStr(i)), aEffacer), vbNullString, tabStr(i))
    If Contient(CStr(tabStr(i)), aEffacer) Then dejaEffacer = True
Next i
End Function



Private Function Contient(mot As String, aEffacer As Variant) As Boolean
Dim i As Integer
Contient = False
For i = LBound(aEffacer) To UBound(aEffacer)
    If UCase(Replace(aEffacer(i), "'", vbNullString)) = UCase(mot) Then Contient = True
Next i
End Function

a+
 
- 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
22
Affichages
1 K
Réponses
11
Affichages
599
Retour