Bonjour à tous,
Je souhaite faire une RechercheV sur une liste de nom propre sauf que cela ne fonctionne pas sur certain à cause des accents.
J'ai trouvé un tuto pour créer une fonction afin de pouvoir supprimer rapidement les accents de chaque nom propre de la liste mais la fonction n'est pas reconnu. Je l'ai bien enregistré dans ThisWorkbook et passé mon fichier Excel en .xlsm
Avez-vous une idée de ce qui bloque ?
______________________________
Function sansAccent(chaine As String) As String
Dim ch_avec As String: Dim ch_sans As String
Dim tampon As String: Dim i As Byte: Dim position As String
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
skywalkeuse
Le jeudi 23 Avril 2020 à 16:57 par Skywalkeuse :
Bonjour à tous, Je souhaite faire une RechercheV sur une liste de nom propre sauf que cela ne fonctionne pas sur certain à cause des accents. J'ai trouvé un tuto pour créer une fonction afin de pouvoir supprimer rapidement les accents de chaque nom propre de la liste mais la fonction n'est pas reconnu. Je l'ai bien enregistré dans ThisWorkbook et passé mon fichier Excel en .xlsm Avez-vous une idée de ce qui bloque ? ______________________________ Function sansAccent(chaine As String) As String Dim ch_avec As String: Dim ch_sans As String Dim tampon As String: Dim i As Byte: Dim position As String ch_avec = "e;e;ÉÈÊËÔéèêëàçùôûïî"e;e; ch_sans = "e;e;EEEEOeeeeacuouii"e;e; tampon = chaine For i = 1 To Len(tampon) position = InStr(ch_avec, Mid(tampon, i, 1)) If position > 0 Then Mid(tampon, i, 1) = Mid(ch_sans, position, 1) Next i sansAccent = tampon End Function ______________________________ Merci beaucoup d'avance !
Ok je viens de comprendre ma bêtise, j'ai mis la fonction au mauvais endroit (ThisWorkbook) alors qu'il fallait juste créer un module.
Le jeudi 23 Avril 2020 à 16:57 par Skywalkeuse :
> Bonjour à tous,
> Je souhaite faire une RechercheV sur une liste de nom propre sauf que cela ne
> fonctionne pas sur certain à cause des accents.
> J'ai trouvé un tuto pour créer une fonction afin de pouvoir
> supprimer rapidement les accents de chaque nom propre de la liste mais la
> fonction n'est pas reconnu. Je l'ai bien enregistré dans ThisWorkbook et
> passé mon fichier Excel en .xlsm
>
> Avez-vous une idée de ce qui bloque ?
> ______________________________
> Function sansAccent(chaine As String) As String
> Dim ch_avec As String: Dim ch_sans As String
> Dim tampon As String: Dim i As Byte: Dim position As String
>
> ch_avec =
> "e;e;ÉÈÊËÔéèêëàçùôûïî"e;e;
> ch_sans = "e;e;EEEEOeeeeacuouii"e;e;
> tampon = chaine
>
> For i = 1 To Len(tampon)
> position = InStr(ch_avec, Mid(tampon, i, 1))
> If position > 0 Then Mid(tampon, i, 1) = Mid(ch_sans, position, 1)
> Next i
>
> sansAccent = tampon
> End Function
> ______________________________
>
> Merci beaucoup d'avance !
Ok je viens de comprendre ma bêtise, j'ai mis la fonction au mauvais endroit (ThisWorkbook) alors qu'il fallait juste créer un module.
Bonjour à tous, Je souhaite faire une RechercheV sur une liste de nom propre sauf que cela ne fonctionne pas sur certain à cause des accents. J'ai trouvé un tuto pour créer une fonction afin de pouvoir supprimer rapidement les accents de chaque nom propre de la liste mais la fonction n'est pas reconnu. Je l'ai bien enregistré dans ThisWorkbook et passé mon fichier Excel en .xlsm Avez-vous une idée de ce qui bloque ? ______________________________ Function sansAccent(chaine As String) As String Dim ch_avec As String: Dim ch_sans As String Dim tampon As String: Dim i As Byte: Dim position As String ch_avec = "e;e;ÉÈÊËÔéèêëàçùôûïî"e;e; ch_sans = "e;e;EEEEOeeeeacuouii"e;e; tampon = chaine For i = 1 To Len(tampon) position = InStr(ch_avec, Mid(tampon, i, 1)) If position > 0 Then Mid(tampon, i, 1) = Mid(ch_sans, position, 1) Next i sansAccent = tampon End Function ______________________________ Merci beaucoup d'avance !
Ok je viens de comprendre ma bêtise, j'ai mis la fonction au mauvais endroit (ThisWorkbook) alors qu'il fallait juste créer un module.
FxM
Hello Skywalkeuse, A priori, il manquerai un premier argument dans ta fonction instr(...). Ce premier argument est le numéro du caractère à partir duquel chercher. Comme tu cherches sur l'ensemble de ta chaîne, c'est une recherche à partir du 1er caractère. Donc : position = InStr(ch_avec, Mid(tampon, i, 1)) deviendrait position = InStr(1, ch_avec, Mid(tampon, i, 1)) @+ FxM Le 23/04/2020 à 16:57, Skywalkeuse a écrit :
Bonjour à tous, Je souhaite faire une RechercheV sur une liste de nom propre sauf que cela ne fonctionne pas sur certain à cause des accents. J'ai trouvé un tuto pour créer une fonction afin de pouvoir supprimer rapidement les accents de chaque nom propre de la liste mais la fonction n'est pas reconnu. Je l'ai bien enregistré dans ThisWorkbook et passé mon fichier Excel en .xlsm Avez-vous une idée de ce qui bloque ? ______________________________ Function sansAccent(chaine As String) As String Dim ch_avec As String: Dim ch_sans As String Dim tampon As String: Dim i As Byte: Dim position As String ch_avec = "e;e;ÉÈÊËÔéèêëàçùôûïî"e;e; ch_sans = "e;e;EEEEOeeeeacuouii"e;e; tampon = chaine For i = 1 To Len(tampon) position = InStr(ch_avec, Mid(tampon, i, 1)) If position > 0 Then Mid(tampon, i, 1) = Mid(ch_sans, position, 1) Next i sansAccent = tampon End Function ______________________________ Merci beaucoup d'avance !
Hello Skywalkeuse,
A priori, il manquerai un premier argument dans ta fonction instr(...).
Ce premier argument est le numéro du caractère à partir duquel chercher.
Comme tu cherches sur l'ensemble de ta chaîne, c'est une recherche à
partir du 1er caractère. Donc :
position = InStr(ch_avec, Mid(tampon, i, 1))
deviendrait
position = InStr(1, ch_avec, Mid(tampon, i, 1))
@+
FxM
Le 23/04/2020 à 16:57, Skywalkeuse a écrit :
Bonjour à tous,
Je souhaite faire une RechercheV sur une liste de nom propre sauf que cela ne
fonctionne pas sur certain à cause des accents.
J'ai trouvé un tuto pour créer une fonction afin de pouvoir supprimer rapidement
les accents de chaque nom propre de la liste mais la fonction n'est pas reconnu.
Je l'ai bien enregistré dans ThisWorkbook et passé mon fichier Excel en .xlsm
Avez-vous une idée de ce qui bloque ?
______________________________
Function sansAccent(chaine As String) As String
Dim ch_avec As String: Dim ch_sans As String
Dim tampon As String: Dim i As Byte: Dim position As String
Hello Skywalkeuse, A priori, il manquerai un premier argument dans ta fonction instr(...). Ce premier argument est le numéro du caractère à partir duquel chercher. Comme tu cherches sur l'ensemble de ta chaîne, c'est une recherche à partir du 1er caractère. Donc : position = InStr(ch_avec, Mid(tampon, i, 1)) deviendrait position = InStr(1, ch_avec, Mid(tampon, i, 1)) @+ FxM Le 23/04/2020 à 16:57, Skywalkeuse a écrit :
Bonjour à tous, Je souhaite faire une RechercheV sur une liste de nom propre sauf que cela ne fonctionne pas sur certain à cause des accents. J'ai trouvé un tuto pour créer une fonction afin de pouvoir supprimer rapidement les accents de chaque nom propre de la liste mais la fonction n'est pas reconnu. Je l'ai bien enregistré dans ThisWorkbook et passé mon fichier Excel en .xlsm Avez-vous une idée de ce qui bloque ? ______________________________ Function sansAccent(chaine As String) As String Dim ch_avec As String: Dim ch_sans As String Dim tampon As String: Dim i As Byte: Dim position As String ch_avec = "e;e;ÉÈÊËÔéèêëàçùôûïî"e;e; ch_sans = "e;e;EEEEOeeeeacuouii"e;e; tampon = chaine For i = 1 To Len(tampon) position = InStr(ch_avec, Mid(tampon, i, 1)) If position > 0 Then Mid(tampon, i, 1) = Mid(ch_sans, position, 1) Next i sansAccent = tampon End Function ______________________________ Merci beaucoup d'avance !
skywalkeuse
Le jeudi 23 Avril 2020 à 17:17 par FxM :
Hello Skywalkeuse, A priori, il manquerai un premier argument dans ta fonction instr(...). Ce premier argument est le numéro du caractère à partir duquel chercher. Comme tu cherches sur l'ensemble de ta chaîne, c'est une recherche à partir du 1er caractère. Donc : position = InStr(ch_avec, Mid(tampon, i, 1)) deviendrait position = InStr(1, ch_avec, Mid(tampon, i, 1)) @+ FxM Le 23/04/2020 à 16:57, Skywalkeuse a écrit :
Bonjour à tous, Je souhaite faire une RechercheV sur une liste de nom propre sauf que cela ne fonctionne pas sur certain à cause des accents. J'ai trouvé un tuto pour créer une fonction afin de pouvoir supprimer rapidement les accents de chaque nom propre de la liste mais la fonction n'est pas reconnu. Je l'ai bien enregistré dans ThisWorkbook et passé mon fichier Excel en .xlsm Avez-vous une idée de ce qui bloque ? ______________________________ Function sansAccent(chaine As String) As String Dim ch_avec As String: Dim ch_sans As String Dim tampon As String: Dim i As Byte: Dim position As String ch_avec = "e;e;ÉÈÊËÔéèêëàçùôûïî"e;e; ch_sans = "e;e;EEEEOeeeeacuouii"e;e; tampon = chaine For i = 1 To Len(tampon) position = InStr(ch_avec, Mid(tampon, i, 1)) If position > 0 Then Mid(tampon, i, 1) = Mid(ch_sans, position, 1) Next i sansAccent = tampon End Function ______________________________ Merci beaucoup d'avance !
Merci FxM, je vais modifier ça :)
Le jeudi 23 Avril 2020 à 17:17 par FxM :
> Hello Skywalkeuse,
>
> A priori, il manquerai un premier argument dans ta fonction instr(...).
> Ce premier argument est le numéro du caractère à partir
> duquel chercher.
>
> Comme tu cherches sur l'ensemble de ta chaîne, c'est une recherche
> à
> partir du 1er caractère. Donc :
>
> position = InStr(ch_avec, Mid(tampon, i, 1))
> deviendrait
> position = InStr(1, ch_avec, Mid(tampon, i, 1))
>
> @+
> FxM
>
>
> Le 23/04/2020 à 16:57, Skywalkeuse a écrit :
>> Bonjour à tous,
>> Je souhaite faire une RechercheV sur une liste de nom propre sauf que cela ne
>> fonctionne pas sur certain à cause des accents.
>> J'ai trouvé un tuto pour créer une fonction afin de pouvoir
>> supprimer rapidement
>> les accents de chaque nom propre de la liste mais la fonction n'est pas
>> reconnu.
>> Je l'ai bien enregistré dans ThisWorkbook et passé mon fichier
>> Excel en .xlsm
>>
>> Avez-vous une idée de ce qui bloque ?
>> ______________________________
>> Function sansAccent(chaine As String) As String
>> Dim ch_avec As String: Dim ch_sans As String
>> Dim tampon As String: Dim i As Byte: Dim position As String
>>
>> ch_avec =
>> "e;e;ÉÈÊËÔéèêëàçùôûïî"e;e;
>> ch_sans = "e;e;EEEEOeeeeacuouii"e;e;
>> tampon = chaine
>>
>> For i = 1 To Len(tampon)
>> position = InStr(ch_avec, Mid(tampon, i, 1))
>> If position > 0 Then Mid(tampon, i, 1) = Mid(ch_sans, position, 1)
>> Next i
>>
>> sansAccent = tampon
>> End Function
>> ______________________________
>>
>> Merci beaucoup d'avance !
Merci FxM, je vais modifier ça :)
Hello Skywalkeuse, A priori, il manquerai un premier argument dans ta fonction instr(...). Ce premier argument est le numéro du caractère à partir duquel chercher. Comme tu cherches sur l'ensemble de ta chaîne, c'est une recherche à partir du 1er caractère. Donc : position = InStr(ch_avec, Mid(tampon, i, 1)) deviendrait position = InStr(1, ch_avec, Mid(tampon, i, 1)) @+ FxM Le 23/04/2020 à 16:57, Skywalkeuse a écrit :
Bonjour à tous, Je souhaite faire une RechercheV sur une liste de nom propre sauf que cela ne fonctionne pas sur certain à cause des accents. J'ai trouvé un tuto pour créer une fonction afin de pouvoir supprimer rapidement les accents de chaque nom propre de la liste mais la fonction n'est pas reconnu. Je l'ai bien enregistré dans ThisWorkbook et passé mon fichier Excel en .xlsm Avez-vous une idée de ce qui bloque ? ______________________________ Function sansAccent(chaine As String) As String Dim ch_avec As String: Dim ch_sans As String Dim tampon As String: Dim i As Byte: Dim position As String ch_avec = "e;e;ÉÈÊËÔéèêëàçùôûïî"e;e; ch_sans = "e;e;EEEEOeeeeacuouii"e;e; tampon = chaine For i = 1 To Len(tampon) position = InStr(ch_avec, Mid(tampon, i, 1)) If position > 0 Then Mid(tampon, i, 1) = Mid(ch_sans, position, 1) Next i sansAccent = tampon End Function ______________________________ Merci beaucoup d'avance !