1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Toutes versions Substituer en cascade

Discussion dans 'Forum Excel' démarrée par cambridge77, 11 Janvier 2019.

  1. cambridge77

    cambridge77 XLDnaute Nouveau

    Inscrit depuis le :
    9 Avril 2009
    Messages :
    10
    "J'aime" reçus :
    0
    Bonjour,
    j'ai un énorme fichier qui comporte des caractères un peu particulier qui en fait, sont des "é" ou des "è" ou des "ô". Parfois dans la même cellule.
    J'aimerai utiliser la fonction SUBSTITUE, en cascade, pour remplacer tous ces caractères.
    Avez vous une solution ?
    Exemple :
    Alsace Côtes de Barr blanc (Sylvaner), Alsace sélection de grains nobles, cépage jacquère blanc
    Devrait devenir :
    Alsace Côtes de Barr blanc (Sylvaner), Alsace sélection de grains nobles, cépage jacquâre blanc

    La fonction Recherche / remplace fait le taff, mais je dois mettre a jour souvent cette liste et le fichier fait des milliers de ligne.
    Merci pour votre aide.
     
  2. Chargement...

    Discussions similaires - Substituer cascade Forum Date
    XL 2013 Resolu Substituer par dernière valeur trouvée Forum Excel 18 Février 2017
    Substituer nom à valeur de cellule dans formule Forum Excel 23 Mai 2016
    Substituer la fonction tri Forum Excel 1 Octobre 2013
    SUBSTITUER (facile) Forum Excel 13 Décembre 2012
    Substituer un chiffre par un mot Forum Excel 10 Août 2012

  3. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    5051
    "J'aime" reçus :
    515
    Utilise:
    Excel 2007 (PC)
    Bonjour

    Avec un extrait de ton fichier en guise d'exemple, ce serait plus pratique
    sinon..
    quelques idées
    1) par macro
    2) Fichier avec plusieurs milliers de ligne===> utilisation de tableau
    3) une fonction de remplacement des caractères choisis
    toute faite ici
    Code (Visual Basic):

    Function UTF8_encode(S As String) As String
    Dim Sr As String, Sc As String, i As Integer
        Sr = ""
        For i = 1 To Len(S)
            Sc = Mid(S, i, 1)
            Select Case Sc
                Case " ": Sc = "%20"
                Case "À": Sc = "%c3%80"
                Case "Á": Sc = "%c3%81"
                Case "Â": Sc = "%c3%82"
                Case "Ã": Sc = "%c3%83"
                Case "Ä": Sc = "%c3%84"
                Case "Å": Sc = "%c3%85"
                Case "Æ": Sc = "%c3%86"
                Case "Ç": Sc = "%c3%87"
                Case "È": Sc = "%c3%88"
                Case "É": Sc = "%c3%89"
                Case "Ê": Sc = "%c3%8a"
                Case "Ë": Sc = "%c3%8b"
                Case "Ì": Sc = "%c3%8c"
                Case "Í": Sc = "%c3%8d"
                Case "Î": Sc = "%c3%8e"
                Case "Ï": Sc = "%c3%8f"
                Case "Ð": Sc = "%c3%90"
                Case "Ñ": Sc = "%c3%91"
                Case "Ò": Sc = "%c3%92"
                Case "Ó": Sc = "%c3%93"
                Case "Ô": Sc = "%c3%94"
                Case "Õ": Sc = "%c3%95"
                Case "Ö": Sc = "%c3%96"
                Case "×": Sc = "%c3%97"
                Case "Ø": Sc = "%c3%98"
                Case "Ù": Sc = "%c3%99"
                Case "Ú": Sc = "%c3%9a"
                Case "Û": Sc = "%c3%9b"
                Case "Ü": Sc = "%c3%9c"
                Case "Ý": Sc = "%c3%9d"
                Case "Þ": Sc = "%c3%9e"
                Case "ß": Sc = "%c3%9f"
                Case "à": Sc = "%c3%a0"
                Case "á": Sc = "%c3%a1"
                Case "â": Sc = "%c3%a2"
                Case "ã": Sc = "%c3%a3"
                Case "ä": Sc = "%c3%a4"
                Case "å": Sc = "%c3%a5"
                Case "æ": Sc = "%c3%a6"
                Case "ç": Sc = "%c3%a7"
                Case "è": Sc = "%c3%a8"
                Case "é": Sc = "%c3%a9"
                Case "ê": Sc = "%c3%aa"
                Case "ë": Sc = "%c3%ab"
                Case "ì": Sc = "%c3%ac"
                Case "í": Sc = "%c3%ad"
                Case "î": Sc = "%c3%ae"
                Case "ï": Sc = "%c3%af"
                Case "ð": Sc = "%c3%b0"
                Case "ñ": Sc = "%c3%b1"
                Case "ò": Sc = "%c3%b2"
                Case "ó": Sc = "%c3%b3"
                Case "ô": Sc = "%c3%b4"
                Case "õ": Sc = "%c3%b5"
                Case "ö": Sc = "%c3%b6"
                Case "÷": Sc = "%c3%b7"
                Case "ø": Sc = "%c3%b8"
                Case "ù": Sc = "%c3%b9"
                Case "ú": Sc = "%c3%ba"
                Case "û": Sc = "%c3%bb"
                Case "ü": Sc = "%c3%bc"
                Case "°": Sc = "%c2%b0"
                Case vbCrLf: Sc = "%0a"
            End Select
            Sr = Sr & Sc
        Next i
        UTF8_encode = Sr
    End Function
    Sub testfonction()
    Dim retour As String
    retour = UTF8_encode("°C" & Chr(10) & "°C")
    MsgBox retour
    End Sub
     
     
  4. cambridge77

    cambridge77 XLDnaute Nouveau

    Inscrit depuis le :
    9 Avril 2009
    Messages :
    10
    "J'aime" reçus :
    0
    Merci, j'ai un extrait du fichier (3 lignes) je le dépose ...
     

    Pièces jointes:

  5. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    5051
    "J'aime" reçus :
    515
    Utilise:
    Excel 2007 (PC)
    un essai avec ce code
    à adapter pour ajouter tous les différents caractères (la fonction toute faite, n'était pas adaptée)
     

    Pièces jointes:

  6. cambridge77

    cambridge77 XLDnaute Nouveau

    Inscrit depuis le :
    9 Avril 2009
    Messages :
    10
    "J'aime" reçus :
    0
    Salut,
    Merci @vgendron pour ce code.
    Bonne journée.
     

Partager cette page