OVH Cloud OVH Cloud

TRAITER CHAINES DE CARACTERES

4 réponses
Avatar
Charles Ingalls
Bonsoir,

Quelqu'un peut-il me proposer une macro ou des solutions=20
r=E9alisant les actions suivantes sur une liste de noms-
pr=E9noms :

1/ Convertir la liste en majuscules
2/ Traquer, signaler et permettre la suppression de la=20
pr=E9sence de doublons =E9ventuels au sein de cette liste
3/ Remplacer tous les caract=E8res diacritiques (exemple :=20
=E9, =E7, =E0, =EF, etc.) par des caract=E8res neutres (exemple :=20
val=E9rie =3D> VALERIE)
4/ Traquer et signaler la pr=E9sence d'abr=E9viations non=20
d=E9sir=E9es (exemple : J. Michel doit donner JEAN MICHEL)
5/ Traquer, signaler et corriger les signes "parasites"=20
(exemple : Jean-Michel doit donner JEAN MICHEL)
6/ traquer, signaler et corriger les espaces superflus=20
(exemple : PAUL**MARTIN* - o=F9 "*" symbolise les espaces ;=20
dans cet exemple, il y a 2 espaces en trop)
7/ Rep=E9rer et signaler les noms compos=E9s de 3 parties ou=20
plus (exemple : MENAU BARTHE GHISLAINE)

Merci =E0 tous.

4 réponses

Avatar
FxM
Bonsoir,

Selon Jinroh à 21h16, Excel ne doit servir à cela. Nous sommes donc au
regret de ne pas pouvoir répondre favorablement à votre demande :o)

Quelqu'un peut-il me proposer une macro ou des solutions
réalisant les actions suivantes sur une liste de noms-
prénoms :
Plus sérieusement, que nous proposes-tu comme début de piste ? Si l'on

veut bien aider, on ne va peut-être pas aller jusqu'à faire le boulot.

1/ Convertir la liste en majuscules
ucase(...)


2/ Traquer, signaler et permettre la suppression de la
présence de doublons éventuels au sein de cette liste
Google - rechercher "doublons"


3/ Remplacer tous les caractères diacritiques (exemple :
é, ç, à, ï, etc.) par des caractères neutres (exemple :
valérie => VALERIE)
Google - rechercher "accents" et "remplacer"


4/ Traquer et signaler la présence d'abréviations non
désirées (exemple : J. Michel doit donner JEAN MICHEL)
Je plains les Jacques-Michel. Je ne laisserais pas Excel penser seul à

ce genre de choses. Qu'est-ce qu'une abbréviation non désirée ?

5/ Traquer, signaler et corriger les signes "parasites"
(exemple : Jean-Michel doit donner JEAN MICHEL)
Remplacer "-" par " ". Pour les majuscules voir 1)

Comment ensuite différencier Jean-Michel Bernard (prénom = Jean-Mimi)
de JEAN MICHEL BERNARD (prénom = jean) ?

6/ traquer, signaler et corriger les espaces superflus
(exemple : PAUL**MARTIN* - où "*" symbolise les espaces ;
dans cet exemple, il y a 2 espaces en trop)
Remplacer "**" par "*"

trim(...) pour les espaces en début et en fin.

7/ Repérer et signaler les noms composés de 3 parties ou
plus (exemple : MENAU BARTHE GHISLAINE)
Voir 5)

Qu'entendre par "repérer et signaler" ?

Merci à tous.
Comme tu le vois, pas si simple.


@ te lire
FxM

Avatar
Jinroh
Hummm quand on me pose ce genre de question je réponds
poliment :

1. Vous prenez deux jours de cours VBA dans une société de
formation continue en informatique

2. Vous n'aviez qu'à utiliser Access pour dès le début
obliger les utilisateur à saisir correctement les données.

Cordialement
-----Message d'origine-----
Bonsoir,

Quelqu'un peut-il me proposer une macro ou des solutions
réalisant les actions suivantes sur une liste de noms-
prénoms :

1/ Convertir la liste en majuscules
2/ Traquer, signaler et permettre la suppression de la
présence de doublons éventuels au sein de cette liste
3/ Remplacer tous les caractères diacritiques (exemple :
é, ç, à, ï, etc.) par des caractères neutres (exemple :
valérie => VALERIE)
4/ Traquer et signaler la présence d'abréviations non
désirées (exemple : J. Michel doit donner JEAN MICHEL)
5/ Traquer, signaler et corriger les signes "parasites"
(exemple : Jean-Michel doit donner JEAN MICHEL)
6/ traquer, signaler et corriger les espaces superflus
(exemple : PAUL**MARTIN* - où "*" symbolise les espaces ;
dans cet exemple, il y a 2 espaces en trop)
7/ Repérer et signaler les noms composés de 3 parties ou
plus (exemple : MENAU BARTHE GHISLAINE)

Merci à tous.
.



Avatar
Clément Marcotte
Dommage que tu ne sois pas de Sitel. On ne pourra pas te dire que
cette réponse est une ânerie


"Jinroh" a écrit dans le message
de news:119a601c3f4dd$754ac510$
Hummm quand on me pose ce genre de question je réponds
poliment :

1. Vous prenez deux jours de cours VBA dans une société de
formation continue en informatique

2. Vous n'aviez qu'à utiliser Access pour dès le début
obliger les utilisateur à saisir correctement les données.

Cordialement
-----Message d'origine-----
Bonsoir,

Quelqu'un peut-il me proposer une macro ou des solutions
réalisant les actions suivantes sur une liste de noms-
prénoms :

1/ Convertir la liste en majuscules
2/ Traquer, signaler et permettre la suppression de la
présence de doublons éventuels au sein de cette liste
3/ Remplacer tous les caractères diacritiques (exemple :
é, ç, à, ï, etc.) par des caractères neutres (exemple :
valérie => VALERIE)
4/ Traquer et signaler la présence d'abréviations non
désirées (exemple : J. Michel doit donner JEAN MICHEL)
5/ Traquer, signaler et corriger les signes "parasites"
(exemple : Jean-Michel doit donner JEAN MICHEL)
6/ traquer, signaler et corriger les espaces superflus
(exemple : PAUL**MARTIN* - où "*" symbolise les espaces ;
dans cet exemple, il y a 2 espaces en trop)
7/ Repérer et signaler les noms composés de 3 parties ou
plus (exemple : MENAU BARTHE GHISLAINE)

Merci à tous.
.



Avatar
Daniel.M
Salut,

Pour les points 1,3,5 Utilise la fonction CSA() suivante.
Par exemple, avec le nom en A1, tu écris la formule suivante en B1:
=SUPPRESPACE(MAJUSCULE(CSA(A1)))

Ensuite, tu copies/colles avec valeur (pour fixer les valeurs), Menu Édition
Copier puis Menu Édition Collage Spécial, cochez Valeur.

Pour le point 6, tu remplaces (Menu Edition/Remplacer) 2 espaces par un. Tu peux
refaire la manoeuvre une couple de fois (pour être sûr qu'il ne reste plus de 2
espaces consécutifs).

Pour le point 4, la formule suivante (en C1) indique VRAI pour les entrées
abbréviées:
=ESTNUM(CHERCHE(".";B1)) ' pour indiquer s'il y a abbréviation

Pour le point 7, la formule suivante (en D1) indique VRAI pour les entrées qui
ont plus de 2 mots
=NBCAR(B1)-NBCAR(SUBSTITUE(B1;" ";""))>1 ' pour voir s'il y a 3 mots ou plus

Pour le point 2, la formule suivante (en E1) indiquera vrai pour les doublons
(changez B$1:B$600 pour la vraie plage:
=NB.SI(B$1:B$600;B1)>1

Ensuite, vous copiez de B1:E1 jusqu'en Bx:Ex (dépendant du nombre de cellules
dans la colonne A)


Const Avec_Accent$ = "-ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿ"
Const Sans_Accent$ = " AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiinnooooouuuuyy"

Function CSA(cellule As String) As String
CSA = MultiSubstitute(cellule, Avec_Accent, Sans_Accent)
End Function

'MultiSubstitute
'In an InputStr, replace all chars belonging to ToBeReplacedChars
'by the corresponding chars in ByChars
'ToBeReplacedChars and ByChars should be of the same length
'or else it removes the found chars
'Returns the string with the characters replaced (or removed)
'By Daniel M.
Function MultiSubstitute(InputStr As String, _
ToBeReplacedChars As String, ByChars As String) As String

Dim s As String, i As Integer
Dim anOffset As Integer, len_Input As Integer, len_ByChars As Integer

len_Input = Len(InputStr)
len_ByChars = Len(ByChars)
For i = 1 To len_Input
s = mid(InputStr, i, 1)
anOffset = InStr(ToBeReplacedChars, s)
If anOffset > 0 Then
If anOffset <= len_ByChars Then
MultiSubstitute = MultiSubstitute & _
mid(ByChars, anOffset, 1)
End If
Else
MultiSubstitute = MultiSubstitute & s
End If
Next

End Function

"Charles Ingalls" wrote in message
news:1161201c3f4ca$36d389b0$
Bonsoir,

Quelqu'un peut-il me proposer une macro ou des solutions
réalisant les actions suivantes sur une liste de noms-
prénoms :

1/ Convertir la liste en majuscules
2/ Traquer, signaler et permettre la suppression de la
présence de doublons éventuels au sein de cette liste
3/ Remplacer tous les caractères diacritiques (exemple :
é, ç, à, ï, etc.) par des caractères neutres (exemple :
valérie => VALERIE)
4/ Traquer et signaler la présence d'abréviations non
désirées (exemple : J. Michel doit donner JEAN MICHEL)
5/ Traquer, signaler et corriger les signes "parasites"
(exemple : Jean-Michel doit donner JEAN MICHEL)
6/ traquer, signaler et corriger les espaces superflus
(exemple : PAUL**MARTIN* - où "*" symbolise les espaces ;
dans cet exemple, il y a 2 espaces en trop)
7/ Repérer et signaler les noms composés de 3 parties ou
plus (exemple : MENAU BARTHE GHISLAINE)

Merci à tous.