Changement de caractères

  • Initiateur de la discussion Initiateur de la discussion maval
  • 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 !

maval

XLDnaute Barbatruc
Bonjour,

Dans la colonne "B5" j'ai des noms de départements..... écris normalement "Puy-De-Dôme" .
Je cherche un code ou une formule pour me recopier dans la colonne "C" "puy_de_dome"

C'est à dire sans majuscule, sans accent et un tiret bas entre les mots

Je joint un fichier exemple

Je vous remercie d'avance

Max
 

Pièces jointes

Bonjour PierreJean

Je vous remercie juste un petit détail il y à des noms avec des apostrophes tel que
"Bourbon-L'Archambault" pourrait-on faire en sorte que l'apostrophe se transforme en tiret bas
de cette façon "bourbon_L_archambault"
Merci et bonne journée

Max
 
Bonjour maval, Pierre, chris,
Code:
Sub Epurer()
Dim x$, y$, i%
x = " -'ABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåòóôõöøèéêëìíîïùúûüÿñç"
y = "___abcdefghijklmnopqrstuvwxyzaaaaaaooooooeeeeiiiiuuuuync"
Application.ScreenUpdating = False
[D3].CurrentRegion.ClearContents 'RAZ
[B3].CurrentRegion.Copy [D3]
With [D3].CurrentRegion
    .Replace """*", """", xlPart 'si l'on veut conserver le guillemet final
    '.Replace """*", "", xlPart 'si l'on veut retirer le guillemet final
    For i = 1 To Len(x)
        .Replace Mid(x, i, 1), Mid(y, i, 1)
    Next
    .Cells(1) = "Arrivé"
End With
End Sub
On peut choisir de conserver le guillemet final (qui est suivi d'espaces) ou de le supprimer.

A+
 
Bonsoir maval,

Visiblement vous n'avez pas cherché à comprendre ce que j'ai dit au post #9 sur les guillemets.

Avec la solution de pierrejean si vous ne voulez pas de tirets après les guillemets :

=> sélectionnez la colonne B => touches Ctrl+H => Rechercher : "* Remplacer par : "

A+
 
Bonjour PierreJean

Oui cela vas beaucoup mieux.
J'ai essayé de modifier pour enlever les guillemets qui se trouve en fin de mots en faisant comme ceci
Code:
Function minus(cellule)
x = Split(cellule, "-")
For n = LBound(x) To UBound(x)
  x(n) = LCase(x(n))
  x(n) = SansAccent(x(n))
  x(n) = Replace(x(n), "'", "_")
  x(n) = Replace(x(n), """, " ")
Next
minus = Trim(Join(x))
minus = Replace(minus, " ", "_")
minus = Replace(minus, """, " ")
End Function
Function SansAccent(chaine)
codeA = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç"
codeB = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc"
temp = chaine
For i = 1 To Len(temp)
p = InStr(codeA, Mid(temp, i, 1))
If p > 0 Then Mid(temp, i, 1) = Mid(codeB, p, 1)
Next
SansAccent = temp
End Function

on dirai que sa ne fonctionne ?

Merci .
Max
 
Dernière édition:
Bonjour,

Suite au code qui à était fais par PierreJean que je salut et remercie j'essaye de modifier sans succès. Je m'explique dans ma colonne je me retrouve par moment avec des noms composé et au lieu d'avoir des apostrophes comme Couat d'Aude j'ai Couat d_x27_Aude et j'aimerai remplacé le "_x27_" par une apostrophe normale, donc j'ai rajouter au code ceci:
Code (Text):
Function minus(cellule)
x = Split(cellule, "-")

For n = LBound(x) To UBound(x)
x(n) = LCase(x(n))
x(n) = SansAccent(x(n))
x(n) = Replace(x(n), "'", "_")
x(n) = Replace(x(n), """", " ")
x(n) = Replace(x(n), "_x27_", "'")
Next
minus = Trim(Join(x))
minus = Replace(minus, " ", "_")
minus = Replace(minus, """", " ")
minus = Replace(minus, "_x27_", "'")
End Function
Function SansAccent(chaine)
codeA = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç"
codeB = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc"
temp = chaine
For i = 1 To Len(temp)
p = InStr(codeA, Mid(temp, i, 1))
If p > 0 Then Mid(temp, i, 1) = Mid(codeB, p, 1)
Next
SansAccent = temp
End Function

Mais sa ne fonctionne pas?

Je vous remercie d'avance

max
 
- 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
12
Affichages
554
Retour