Je cherche une proc=E9dure en vba qui me permetrait de faire=20
ceci sur une chaine de caract=E8res:
Si le caract=E8re de la cha=EEne est une majuscule ou le=20
signe "(" et que ce carat=E8re n'est pas le premier de la=20
cha=EEne... alors ins=E9rer un espace avant ce carat=E8re.
Voici un exemple: "MonPremierFichier(Window).exe"=20
deviendrait "Mon Premier Fichier (Window).exe"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JpPradier
Bonjour Kévin
Tu places la fonction ci-dessous dans un module standard. Puis si ton texte est en A1, tu mets dans une cellule : =ChercheMaj(A1)
j-p
Function ChercheMaj(Letexte As String) For i = 65 To 91 Letexte = Replace(Letexte, Chr(i), " " & Chr(i)) Next Letexte = Replace(Letexte, "( ", "(") Letexte = Replace(Letexte, "(", "(") ChercheMaj = Mid(Letexte, 2) End Function
Bonjour Kévin
Tu places la fonction ci-dessous dans un module standard. Puis si ton texte est en A1, tu mets dans
une cellule :
=ChercheMaj(A1)
j-p
Function ChercheMaj(Letexte As String)
For i = 65 To 91
Letexte = Replace(Letexte, Chr(i), " " & Chr(i))
Next
Letexte = Replace(Letexte, "( ", "(")
Letexte = Replace(Letexte, "(", "(")
ChercheMaj = Mid(Letexte, 2)
End Function
Tu places la fonction ci-dessous dans un module standard. Puis si ton texte est en A1, tu mets dans une cellule : =ChercheMaj(A1)
j-p
Function ChercheMaj(Letexte As String) For i = 65 To 91 Letexte = Replace(Letexte, Chr(i), " " & Chr(i)) Next Letexte = Replace(Letexte, "( ", "(") Letexte = Replace(Letexte, "(", "(") ChercheMaj = Mid(Letexte, 2) End Function
Kobaya
Salut Kevin,
Tu peux aussi essayer ça :
Public Function Formatage(Phrase As String) As String Dim lngLon As Long, lngL As Long
lngLon = Len(Phrase)
Formatage = Left(Phrase, 1) For lngL = 2 To lngLon If (Asc(Mid(Phrase, lngL, 1)) >= 65 And Asc(Mid(Phrase, lngL, 1)) <= 90) Or _ Mid(Phrase, lngL, 1) = "(" Then If Mid(Phrase, lngL - 1, 1) <> "(" Then Formatage = Formatage & " " & Mid(Phrase, lngL, 1) Else Formatage = Formatage & Mid(Phrase, lngL, 1) End If Else Formatage = Formatage & Mid(Phrase, lngL, 1) End If Next End Function
Kobaya.
"Kévin" wrote:
Salut,
Je cherche une procédure en vba qui me permetrait de faire ceci sur une chaine de caractères:
Si le caractère de la chaîne est une majuscule ou le signe "(" et que ce caratère n'est pas le premier de la chaîne... alors insérer un espace avant ce caratère.
Voici un exemple: "MonPremierFichier(Window).exe" deviendrait "Mon Premier Fichier (Window).exe"
Pouvez-vous m'aider?
Merci d'avance.
Kévin
Salut Kevin,
Tu peux aussi essayer ça :
Public Function Formatage(Phrase As String) As String
Dim lngLon As Long, lngL As Long
lngLon = Len(Phrase)
Formatage = Left(Phrase, 1)
For lngL = 2 To lngLon
If (Asc(Mid(Phrase, lngL, 1)) >= 65 And Asc(Mid(Phrase, lngL, 1)) <=
90) Or _
Mid(Phrase, lngL, 1) = "(" Then
If Mid(Phrase, lngL - 1, 1) <> "(" Then
Formatage = Formatage & " " & Mid(Phrase, lngL, 1)
Else
Formatage = Formatage & Mid(Phrase, lngL, 1)
End If
Else
Formatage = Formatage & Mid(Phrase, lngL, 1)
End If
Next
End Function
Kobaya.
"Kévin" wrote:
Salut,
Je cherche une procédure en vba qui me permetrait de faire
ceci sur une chaine de caractères:
Si le caractère de la chaîne est une majuscule ou le
signe "(" et que ce caratère n'est pas le premier de la
chaîne... alors insérer un espace avant ce caratère.
Voici un exemple: "MonPremierFichier(Window).exe"
deviendrait "Mon Premier Fichier (Window).exe"
Public Function Formatage(Phrase As String) As String Dim lngLon As Long, lngL As Long
lngLon = Len(Phrase)
Formatage = Left(Phrase, 1) For lngL = 2 To lngLon If (Asc(Mid(Phrase, lngL, 1)) >= 65 And Asc(Mid(Phrase, lngL, 1)) <= 90) Or _ Mid(Phrase, lngL, 1) = "(" Then If Mid(Phrase, lngL - 1, 1) <> "(" Then Formatage = Formatage & " " & Mid(Phrase, lngL, 1) Else Formatage = Formatage & Mid(Phrase, lngL, 1) End If Else Formatage = Formatage & Mid(Phrase, lngL, 1) End If Next End Function
Kobaya.
"Kévin" wrote:
Salut,
Je cherche une procédure en vba qui me permetrait de faire ceci sur une chaine de caractères:
Si le caractère de la chaîne est une majuscule ou le signe "(" et que ce caratère n'est pas le premier de la chaîne... alors insérer un espace avant ce caratère.
Voici un exemple: "MonPremierFichier(Window).exe" deviendrait "Mon Premier Fichier (Window).exe"