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
JB
Bonjour,
avec fonction perso.
Function Nom(chaine) Application.Volatile p = InStr(chaine, "DE ") If p > 0 Then temp = Replace(chaine, "DE ", "De ") i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = "DE " & Mid(temp, i + 2) Else i = Len(chaine) Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = Mid(chaine, i + 2) End If End Function
http://cjoint.com/?itfMDLy8Aa
JB http://boisgontierjacques.free.fr/
On 18 août, 18:41, "Infogroup" wrote:
Re-Bonjour à tous,
Je travaille actuellement dans une base de données d'adresses.
Dans la colonne A, j'ai les civilités, prénoms et noms Mais voilà, il y a le problème de la diversité des écritures.
Exemples :
En A1 => M & Mme B. & H. DE PENASTOUR En A2 => M & Mme Roger FAUCHEURO En A3 => M & Mme BIDON En A4 => Dr FRONTINO
Avec ces 4 exemples ci-dessus, je voudrais obtenir : En B1 => DE PENASTOUR En B2 => FAUCHEURO En B3 => BIDON En B4 => FRONTINO
Je pense qu'il faut passer par vba
J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
Merci par avance pour vos solutions éventuelles
Cordialement
Infogroup
Bonjour,
avec fonction perso.
Function Nom(chaine)
Application.Volatile
p = InStr(chaine, "DE ")
If p > 0 Then
temp = Replace(chaine, "DE ", "De ")
i = Len(temp)
Do While Asc(Mid(temp, i, 1)) < 96 And i > 1
i = i - 1
Loop
Nom = "DE " & Mid(temp, i + 2)
Else
i = Len(chaine)
Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1
i = i - 1
Loop
Nom = Mid(chaine, i + 2)
End If
End Function
http://cjoint.com/?itfMDLy8Aa
JB
http://boisgontierjacques.free.fr/
On 18 août, 18:41, "Infogroup" <Infogrou...@orange.fr> wrote:
Re-Bonjour à tous,
Je travaille actuellement dans une base de données d'adresses.
Dans la colonne A, j'ai les civilités, prénoms et noms
Mais voilà, il y a le problème de la diversité des écritures.
Exemples :
En A1 => M & Mme B. & H. DE PENASTOUR
En A2 => M & Mme Roger FAUCHEURO
En A3 => M & Mme BIDON
En A4 => Dr FRONTINO
Avec ces 4 exemples ci-dessus, je voudrais obtenir :
En B1 => DE PENASTOUR
En B2 => FAUCHEURO
En B3 => BIDON
En B4 => FRONTINO
Je pense qu'il faut passer par vba
J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
Function Nom(chaine) Application.Volatile p = InStr(chaine, "DE ") If p > 0 Then temp = Replace(chaine, "DE ", "De ") i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = "DE " & Mid(temp, i + 2) Else i = Len(chaine) Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = Mid(chaine, i + 2) End If End Function
http://cjoint.com/?itfMDLy8Aa
JB http://boisgontierjacques.free.fr/
On 18 août, 18:41, "Infogroup" wrote:
Re-Bonjour à tous,
Je travaille actuellement dans une base de données d'adresses.
Dans la colonne A, j'ai les civilités, prénoms et noms Mais voilà, il y a le problème de la diversité des écritures.
Exemples :
En A1 => M & Mme B. & H. DE PENASTOUR En A2 => M & Mme Roger FAUCHEURO En A3 => M & Mme BIDON En A4 => Dr FRONTINO
Avec ces 4 exemples ci-dessus, je voudrais obtenir : En B1 => DE PENASTOUR En B2 => FAUCHEURO En B3 => BIDON En B4 => FRONTINO
Je pense qu'il faut passer par vba
J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
Merci par avance pour vos solutions éventuelles
Cordialement
Infogroup
Infogroup
Merci JB, tout fonctionne OK, tu es absolument génial !
Très bonne journée
Cdl
Infogroup
"JB" a écrit dans le message de news: Bonjour,
avec fonction perso.
Function Nom(chaine) Application.Volatile p = InStr(chaine, "DE ") If p > 0 Then temp = Replace(chaine, "DE ", "De ") i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = "DE " & Mid(temp, i + 2) Else i = Len(chaine) Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = Mid(chaine, i + 2) End If End Function
http://cjoint.com/?itfMDLy8Aa
JB http://boisgontierjacques.free.fr/
On 18 août, 18:41, "Infogroup" wrote:
Re-Bonjour à tous,
Je travaille actuellement dans une base de données d'adresses.
Dans la colonne A, j'ai les civilités, prénoms et noms Mais voilà, il y a le problème de la diversité des écritures.
Exemples :
En A1 => M & Mme B. & H. DE PENASTOUR En A2 => M & Mme Roger FAUCHEURO En A3 => M & Mme BIDON En A4 => Dr FRONTINO
Avec ces 4 exemples ci-dessus, je voudrais obtenir : En B1 => DE PENASTOUR En B2 => FAUCHEURO En B3 => BIDON En B4 => FRONTINO
Je pense qu'il faut passer par vba
J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
Merci par avance pour vos solutions éventuelles
Cordialement
Infogroup
Merci JB, tout fonctionne OK, tu es absolument génial !
Très bonne journée
Cdl
Infogroup
"JB" <boisgontier@hotmail.com> a écrit dans le message de
news:3f067928-fef4-47d8-b957-dcea38ca5dee@s15g2000yqs.googlegroups.com...
Bonjour,
avec fonction perso.
Function Nom(chaine)
Application.Volatile
p = InStr(chaine, "DE ")
If p > 0 Then
temp = Replace(chaine, "DE ", "De ")
i = Len(temp)
Do While Asc(Mid(temp, i, 1)) < 96 And i > 1
i = i - 1
Loop
Nom = "DE " & Mid(temp, i + 2)
Else
i = Len(chaine)
Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1
i = i - 1
Loop
Nom = Mid(chaine, i + 2)
End If
End Function
http://cjoint.com/?itfMDLy8Aa
JB
http://boisgontierjacques.free.fr/
On 18 août, 18:41, "Infogroup" <Infogrou...@orange.fr> wrote:
Re-Bonjour à tous,
Je travaille actuellement dans une base de données d'adresses.
Dans la colonne A, j'ai les civilités, prénoms et noms
Mais voilà, il y a le problème de la diversité des écritures.
Exemples :
En A1 => M & Mme B. & H. DE PENASTOUR
En A2 => M & Mme Roger FAUCHEURO
En A3 => M & Mme BIDON
En A4 => Dr FRONTINO
Avec ces 4 exemples ci-dessus, je voudrais obtenir :
En B1 => DE PENASTOUR
En B2 => FAUCHEURO
En B3 => BIDON
En B4 => FRONTINO
Je pense qu'il faut passer par vba
J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
Merci JB, tout fonctionne OK, tu es absolument génial !
Très bonne journée
Cdl
Infogroup
"JB" a écrit dans le message de news: Bonjour,
avec fonction perso.
Function Nom(chaine) Application.Volatile p = InStr(chaine, "DE ") If p > 0 Then temp = Replace(chaine, "DE ", "De ") i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = "DE " & Mid(temp, i + 2) Else i = Len(chaine) Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = Mid(chaine, i + 2) End If End Function
http://cjoint.com/?itfMDLy8Aa
JB http://boisgontierjacques.free.fr/
On 18 août, 18:41, "Infogroup" wrote:
Re-Bonjour à tous,
Je travaille actuellement dans une base de données d'adresses.
Dans la colonne A, j'ai les civilités, prénoms et noms Mais voilà, il y a le problème de la diversité des écritures.
Exemples :
En A1 => M & Mme B. & H. DE PENASTOUR En A2 => M & Mme Roger FAUCHEURO En A3 => M & Mme BIDON En A4 => Dr FRONTINO
Avec ces 4 exemples ci-dessus, je voudrais obtenir : En B1 => DE PENASTOUR En B2 => FAUCHEURO En B3 => BIDON En B4 => FRONTINO
Je pense qu'il faut passer par vba
J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
Merci par avance pour vos solutions éventuelles
Cordialement
Infogroup
Infogroup
Bonjour JB,
Effectivement, la fonction est OK, mais je viens de découvrir un petit " bug ? " Si j'ai la valeur => M & Mme C. LOUVET, j'obtiens avec cette fonction C. LOUVET alors que je voudrais obtenir LOUVET
sans doute une petite adaptation ?
en tous cas merci par avance de bien vouloir te repencher sur ce pb.
Cdl
Infogroup
"Infogroup" a écrit dans le message de news:%
Merci JB, tout fonctionne OK, tu es absolument génial !
Très bonne journée
Cdl
Infogroup
"JB" a écrit dans le message de news: Bonjour,
avec fonction perso.
Function Nom(chaine) Application.Volatile p = InStr(chaine, "DE ") If p > 0 Then temp = Replace(chaine, "DE ", "De ") i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = "DE " & Mid(temp, i + 2) Else i = Len(chaine) Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = Mid(chaine, i + 2) End If End Function
http://cjoint.com/?itfMDLy8Aa
JB http://boisgontierjacques.free.fr/
On 18 août, 18:41, "Infogroup" wrote:
Re-Bonjour à tous,
Je travaille actuellement dans une base de données d'adresses.
Dans la colonne A, j'ai les civilités, prénoms et noms Mais voilà, il y a le problème de la diversité des écritures.
Exemples :
En A1 => M & Mme B. & H. DE PENASTOUR En A2 => M & Mme Roger FAUCHEURO En A3 => M & Mme BIDON En A4 => Dr FRONTINO
Avec ces 4 exemples ci-dessus, je voudrais obtenir : En B1 => DE PENASTOUR En B2 => FAUCHEURO En B3 => BIDON En B4 => FRONTINO
Je pense qu'il faut passer par vba
J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
Merci par avance pour vos solutions éventuelles
Cordialement
Infogroup
Bonjour JB,
Effectivement, la fonction est OK, mais je viens de découvrir un petit " bug
? "
Si j'ai la valeur => M & Mme C. LOUVET, j'obtiens avec cette fonction C.
LOUVET alors que je voudrais obtenir LOUVET
sans doute une petite adaptation ?
en tous cas merci par avance de bien vouloir te repencher sur ce pb.
Cdl
Infogroup
"Infogroup" <Infogroup70@orange.fr> a écrit dans le message de
news:%23W1IZyJIKHA.1340@TK2MSFTNGP05.phx.gbl...
Merci JB, tout fonctionne OK, tu es absolument génial !
Très bonne journée
Cdl
Infogroup
"JB" <boisgontier@hotmail.com> a écrit dans le message de
news:3f067928-fef4-47d8-b957-dcea38ca5dee@s15g2000yqs.googlegroups.com...
Bonjour,
avec fonction perso.
Function Nom(chaine)
Application.Volatile
p = InStr(chaine, "DE ")
If p > 0 Then
temp = Replace(chaine, "DE ", "De ")
i = Len(temp)
Do While Asc(Mid(temp, i, 1)) < 96 And i > 1
i = i - 1
Loop
Nom = "DE " & Mid(temp, i + 2)
Else
i = Len(chaine)
Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1
i = i - 1
Loop
Nom = Mid(chaine, i + 2)
End If
End Function
http://cjoint.com/?itfMDLy8Aa
JB
http://boisgontierjacques.free.fr/
On 18 août, 18:41, "Infogroup" <Infogrou...@orange.fr> wrote:
Re-Bonjour à tous,
Je travaille actuellement dans une base de données d'adresses.
Dans la colonne A, j'ai les civilités, prénoms et noms
Mais voilà, il y a le problème de la diversité des écritures.
Exemples :
En A1 => M & Mme B. & H. DE PENASTOUR
En A2 => M & Mme Roger FAUCHEURO
En A3 => M & Mme BIDON
En A4 => Dr FRONTINO
Avec ces 4 exemples ci-dessus, je voudrais obtenir :
En B1 => DE PENASTOUR
En B2 => FAUCHEURO
En B3 => BIDON
En B4 => FRONTINO
Je pense qu'il faut passer par vba
J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
Effectivement, la fonction est OK, mais je viens de découvrir un petit " bug ? " Si j'ai la valeur => M & Mme C. LOUVET, j'obtiens avec cette fonction C. LOUVET alors que je voudrais obtenir LOUVET
sans doute une petite adaptation ?
en tous cas merci par avance de bien vouloir te repencher sur ce pb.
Cdl
Infogroup
"Infogroup" a écrit dans le message de news:%
Merci JB, tout fonctionne OK, tu es absolument génial !
Très bonne journée
Cdl
Infogroup
"JB" a écrit dans le message de news: Bonjour,
avec fonction perso.
Function Nom(chaine) Application.Volatile p = InStr(chaine, "DE ") If p > 0 Then temp = Replace(chaine, "DE ", "De ") i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = "DE " & Mid(temp, i + 2) Else i = Len(chaine) Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = Mid(chaine, i + 2) End If End Function
http://cjoint.com/?itfMDLy8Aa
JB http://boisgontierjacques.free.fr/
On 18 août, 18:41, "Infogroup" wrote:
Re-Bonjour à tous,
Je travaille actuellement dans une base de données d'adresses.
Dans la colonne A, j'ai les civilités, prénoms et noms Mais voilà, il y a le problème de la diversité des écritures.
Exemples :
En A1 => M & Mme B. & H. DE PENASTOUR En A2 => M & Mme Roger FAUCHEURO En A3 => M & Mme BIDON En A4 => Dr FRONTINO
Avec ces 4 exemples ci-dessus, je voudrais obtenir : En B1 => DE PENASTOUR En B2 => FAUCHEURO En B3 => BIDON En B4 => FRONTINO
Je pense qu'il faut passer par vba
J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
Merci par avance pour vos solutions éventuelles
Cordialement
Infogroup
JB
Function Nom(chaine) Application.Volatile temp = chaine ' Replace(chaine, ".", " ") p = InStr(temp, "DE ") If p > 0 Then temp = Replace(temp, "DE ", "De ") i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = "DE " & Mid(temp, i + 2) Else i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And Mid(temp, i, 1) <> "." And i > 1 i = i - 1 Loop Nom = Mid(temp, i + 2) End If End Function
http://cjoint.com/?itj4MqK78m
JB http://boisgontierjacques.free.fr/
On 19 août, 09:25, "Infogroup" wrote:
Bonjour JB,
Effectivement, la fonction est OK, mais je viens de découvrir un petit " bug ? " Si j'ai la valeur => M & Mme C. LOUVET, j'obtiens avec cette fonction C . LOUVET alors que je voudrais obtenir LOUVET
sans doute une petite adaptation ?
en tous cas merci par avance de bien vouloir te repencher sur ce pb.
Cdl
Infogroup
"Infogroup" a écrit dans le message denews:%23W
> Merci JB, tout fonctionne OK, tu es absolument génial !
> Très bonne journée
> Cdl
> Infogroup
> "JB" a écrit dans le message de >news: . > Bonjour,
> avec fonction perso.
> Function Nom(chaine) > Application.Volatile > p = InStr(chaine, "DE ") > If p > 0 Then > temp = Replace(chaine, "DE ", "De ") > i = Len(temp) > Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 > i = i - 1 > Loop > Nom = "DE " & Mid(temp, i + 2) > Else > i = Len(chaine) > Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1 > i = i - 1 > Loop > Nom = Mid(chaine, i + 2) > End If > End Function
>http://cjoint.com/?itfMDLy8Aa
> JB >http://boisgontierjacques.free.fr/
> On 18 août, 18:41, "Infogroup" wrote: >> Re-Bonjour à tous,
>> Je travaille actuellement dans une base de données d'adresses.
>> Dans la colonne A, j'ai les civilités, prénoms et noms >> Mais voilà, il y a le problème de la diversité des écritures.
>> Exemples :
>> En A1 => M & Mme B. & H. DE PENASTOUR >> En A2 => M & Mme Roger FAUCHEURO >> En A3 => M & Mme BIDON >> En A4 => Dr FRONTINO
>> Avec ces 4 exemples ci-dessus, je voudrais obtenir : >> En B1 => DE PENASTOUR >> En B2 => FAUCHEURO >> En B3 => BIDON >> En B4 => FRONTINO
>> Je pense qu'il faut passer par vba
>> J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
>> Merci par avance pour vos solutions éventuelles
>> Cordialement
>> Infogroup- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Function Nom(chaine)
Application.Volatile
temp = chaine ' Replace(chaine, ".", " ")
p = InStr(temp, "DE ")
If p > 0 Then
temp = Replace(temp, "DE ", "De ")
i = Len(temp)
Do While Asc(Mid(temp, i, 1)) < 96 And i > 1
i = i - 1
Loop
Nom = "DE " & Mid(temp, i + 2)
Else
i = Len(temp)
Do While Asc(Mid(temp, i, 1)) < 96 And Mid(temp, i, 1) <> "." And
i > 1
i = i - 1
Loop
Nom = Mid(temp, i + 2)
End If
End Function
http://cjoint.com/?itj4MqK78m
JB
http://boisgontierjacques.free.fr/
On 19 août, 09:25, "Infogroup" <Infogrou...@orange.fr> wrote:
Bonjour JB,
Effectivement, la fonction est OK, mais je viens de découvrir un petit " bug
? "
Si j'ai la valeur => M & Mme C. LOUVET, j'obtiens avec cette fonction C .
LOUVET alors que je voudrais obtenir LOUVET
sans doute une petite adaptation ?
en tous cas merci par avance de bien vouloir te repencher sur ce pb.
Cdl
Infogroup
"Infogroup" <Infogrou...@orange.fr> a écrit dans le message denews:%23W 1IZyJIKHA.1340@TK2MSFTNGP05.phx.gbl...
> Merci JB, tout fonctionne OK, tu es absolument génial !
> Très bonne journée
> Cdl
> Infogroup
> "JB" <boisgont...@hotmail.com> a écrit dans le message de
>news:3f067928-fef4-47d8-b957-dcea38ca5dee@s15g2000yqs.googlegroups.com.. .
> Bonjour,
> avec fonction perso.
> Function Nom(chaine)
> Application.Volatile
> p = InStr(chaine, "DE ")
> If p > 0 Then
> temp = Replace(chaine, "DE ", "De ")
> i = Len(temp)
> Do While Asc(Mid(temp, i, 1)) < 96 And i > 1
> i = i - 1
> Loop
> Nom = "DE " & Mid(temp, i + 2)
> Else
> i = Len(chaine)
> Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1
> i = i - 1
> Loop
> Nom = Mid(chaine, i + 2)
> End If
> End Function
>http://cjoint.com/?itfMDLy8Aa
> JB
>http://boisgontierjacques.free.fr/
> On 18 août, 18:41, "Infogroup" <Infogrou...@orange.fr> wrote:
>> Re-Bonjour à tous,
>> Je travaille actuellement dans une base de données d'adresses.
>> Dans la colonne A, j'ai les civilités, prénoms et noms
>> Mais voilà, il y a le problème de la diversité des écritures.
>> Exemples :
>> En A1 => M & Mme B. & H. DE PENASTOUR
>> En A2 => M & Mme Roger FAUCHEURO
>> En A3 => M & Mme BIDON
>> En A4 => Dr FRONTINO
>> Avec ces 4 exemples ci-dessus, je voudrais obtenir :
>> En B1 => DE PENASTOUR
>> En B2 => FAUCHEURO
>> En B3 => BIDON
>> En B4 => FRONTINO
>> Je pense qu'il faut passer par vba
>> J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
>> Merci par avance pour vos solutions éventuelles
>> Cordialement
>> Infogroup- Masquer le texte des messages précédents -
Function Nom(chaine) Application.Volatile temp = chaine ' Replace(chaine, ".", " ") p = InStr(temp, "DE ") If p > 0 Then temp = Replace(temp, "DE ", "De ") i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = "DE " & Mid(temp, i + 2) Else i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And Mid(temp, i, 1) <> "." And i > 1 i = i - 1 Loop Nom = Mid(temp, i + 2) End If End Function
http://cjoint.com/?itj4MqK78m
JB http://boisgontierjacques.free.fr/
On 19 août, 09:25, "Infogroup" wrote:
Bonjour JB,
Effectivement, la fonction est OK, mais je viens de découvrir un petit " bug ? " Si j'ai la valeur => M & Mme C. LOUVET, j'obtiens avec cette fonction C . LOUVET alors que je voudrais obtenir LOUVET
sans doute une petite adaptation ?
en tous cas merci par avance de bien vouloir te repencher sur ce pb.
Cdl
Infogroup
"Infogroup" a écrit dans le message denews:%23W
> Merci JB, tout fonctionne OK, tu es absolument génial !
> Très bonne journée
> Cdl
> Infogroup
> "JB" a écrit dans le message de >news: . > Bonjour,
> avec fonction perso.
> Function Nom(chaine) > Application.Volatile > p = InStr(chaine, "DE ") > If p > 0 Then > temp = Replace(chaine, "DE ", "De ") > i = Len(temp) > Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 > i = i - 1 > Loop > Nom = "DE " & Mid(temp, i + 2) > Else > i = Len(chaine) > Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1 > i = i - 1 > Loop > Nom = Mid(chaine, i + 2) > End If > End Function
>http://cjoint.com/?itfMDLy8Aa
> JB >http://boisgontierjacques.free.fr/
> On 18 août, 18:41, "Infogroup" wrote: >> Re-Bonjour à tous,
>> Je travaille actuellement dans une base de données d'adresses.
>> Dans la colonne A, j'ai les civilités, prénoms et noms >> Mais voilà, il y a le problème de la diversité des écritures.
>> Exemples :
>> En A1 => M & Mme B. & H. DE PENASTOUR >> En A2 => M & Mme Roger FAUCHEURO >> En A3 => M & Mme BIDON >> En A4 => Dr FRONTINO
>> Avec ces 4 exemples ci-dessus, je voudrais obtenir : >> En B1 => DE PENASTOUR >> En B2 => FAUCHEURO >> En B3 => BIDON >> En B4 => FRONTINO
>> Je pense qu'il faut passer par vba
>> J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
>> Merci par avance pour vos solutions éventuelles
>> Cordialement
>> Infogroup- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Infogroup
Encore merci JB, cette fois tout est OK
Cdl
Infogroup
"JB" a écrit dans le message de news:
Function Nom(chaine) Application.Volatile temp = chaine ' Replace(chaine, ".", " ") p = InStr(temp, "DE ") If p > 0 Then temp = Replace(temp, "DE ", "De ") i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = "DE " & Mid(temp, i + 2) Else i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And Mid(temp, i, 1) <> "." And i > 1 i = i - 1 Loop Nom = Mid(temp, i + 2) End If End Function
http://cjoint.com/?itj4MqK78m
JB http://boisgontierjacques.free.fr/
On 19 août, 09:25, "Infogroup" wrote:
Bonjour JB,
Effectivement, la fonction est OK, mais je viens de découvrir un petit " bug ? " Si j'ai la valeur => M & Mme C. LOUVET, j'obtiens avec cette fonction C. LOUVET alors que je voudrais obtenir LOUVET
sans doute une petite adaptation ?
en tous cas merci par avance de bien vouloir te repencher sur ce pb.
Cdl
Infogroup
"Infogroup" a écrit dans le message denews:%
> Merci JB, tout fonctionne OK, tu es absolument génial !
> Très bonne journée
> Cdl
> Infogroup
> "JB" a écrit dans le message de >news: > Bonjour,
> avec fonction perso.
> Function Nom(chaine) > Application.Volatile > p = InStr(chaine, "DE ") > If p > 0 Then > temp = Replace(chaine, "DE ", "De ") > i = Len(temp) > Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 > i = i - 1 > Loop > Nom = "DE " & Mid(temp, i + 2) > Else > i = Len(chaine) > Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1 > i = i - 1 > Loop > Nom = Mid(chaine, i + 2) > End If > End Function
>http://cjoint.com/?itfMDLy8Aa
> JB >http://boisgontierjacques.free.fr/
> On 18 août, 18:41, "Infogroup" wrote: >> Re-Bonjour à tous,
>> Je travaille actuellement dans une base de données d'adresses.
>> Dans la colonne A, j'ai les civilités, prénoms et noms >> Mais voilà, il y a le problème de la diversité des écritures.
>> Exemples :
>> En A1 => M & Mme B. & H. DE PENASTOUR >> En A2 => M & Mme Roger FAUCHEURO >> En A3 => M & Mme BIDON >> En A4 => Dr FRONTINO
>> Avec ces 4 exemples ci-dessus, je voudrais obtenir : >> En B1 => DE PENASTOUR >> En B2 => FAUCHEURO >> En B3 => BIDON >> En B4 => FRONTINO
>> Je pense qu'il faut passer par vba
>> J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
>> Merci par avance pour vos solutions éventuelles
>> Cordialement
>> Infogroup- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Encore merci JB, cette fois tout est OK
Cdl
Infogroup
"JB" <boisgontier@hotmail.com> a écrit dans le message de
news:f374365f-4211-471e-9f22-68d43ff3f7a5@b14g2000yqd.googlegroups.com...
Function Nom(chaine)
Application.Volatile
temp = chaine ' Replace(chaine, ".", " ")
p = InStr(temp, "DE ")
If p > 0 Then
temp = Replace(temp, "DE ", "De ")
i = Len(temp)
Do While Asc(Mid(temp, i, 1)) < 96 And i > 1
i = i - 1
Loop
Nom = "DE " & Mid(temp, i + 2)
Else
i = Len(temp)
Do While Asc(Mid(temp, i, 1)) < 96 And Mid(temp, i, 1) <> "." And
i > 1
i = i - 1
Loop
Nom = Mid(temp, i + 2)
End If
End Function
http://cjoint.com/?itj4MqK78m
JB
http://boisgontierjacques.free.fr/
On 19 août, 09:25, "Infogroup" <Infogrou...@orange.fr> wrote:
Bonjour JB,
Effectivement, la fonction est OK, mais je viens de découvrir un petit "
bug
? "
Si j'ai la valeur => M & Mme C. LOUVET, j'obtiens avec cette fonction C.
LOUVET alors que je voudrais obtenir LOUVET
sans doute une petite adaptation ?
en tous cas merci par avance de bien vouloir te repencher sur ce pb.
Cdl
Infogroup
"Infogroup" <Infogrou...@orange.fr> a écrit dans le message
denews:%23W1IZyJIKHA.1340@TK2MSFTNGP05.phx.gbl...
> Merci JB, tout fonctionne OK, tu es absolument génial !
> Très bonne journée
> Cdl
> Infogroup
> "JB" <boisgont...@hotmail.com> a écrit dans le message de
>news:3f067928-fef4-47d8-b957-dcea38ca5dee@s15g2000yqs.googlegroups.com...
> Bonjour,
> avec fonction perso.
> Function Nom(chaine)
> Application.Volatile
> p = InStr(chaine, "DE ")
> If p > 0 Then
> temp = Replace(chaine, "DE ", "De ")
> i = Len(temp)
> Do While Asc(Mid(temp, i, 1)) < 96 And i > 1
> i = i - 1
> Loop
> Nom = "DE " & Mid(temp, i + 2)
> Else
> i = Len(chaine)
> Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1
> i = i - 1
> Loop
> Nom = Mid(chaine, i + 2)
> End If
> End Function
>http://cjoint.com/?itfMDLy8Aa
> JB
>http://boisgontierjacques.free.fr/
> On 18 août, 18:41, "Infogroup" <Infogrou...@orange.fr> wrote:
>> Re-Bonjour à tous,
>> Je travaille actuellement dans une base de données d'adresses.
>> Dans la colonne A, j'ai les civilités, prénoms et noms
>> Mais voilà, il y a le problème de la diversité des écritures.
>> Exemples :
>> En A1 => M & Mme B. & H. DE PENASTOUR
>> En A2 => M & Mme Roger FAUCHEURO
>> En A3 => M & Mme BIDON
>> En A4 => Dr FRONTINO
>> Avec ces 4 exemples ci-dessus, je voudrais obtenir :
>> En B1 => DE PENASTOUR
>> En B2 => FAUCHEURO
>> En B3 => BIDON
>> En B4 => FRONTINO
>> Je pense qu'il faut passer par vba
>> J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
>> Merci par avance pour vos solutions éventuelles
>> Cordialement
>> Infogroup- Masquer le texte des messages précédents -
Function Nom(chaine) Application.Volatile temp = chaine ' Replace(chaine, ".", " ") p = InStr(temp, "DE ") If p > 0 Then temp = Replace(temp, "DE ", "De ") i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 i = i - 1 Loop Nom = "DE " & Mid(temp, i + 2) Else i = Len(temp) Do While Asc(Mid(temp, i, 1)) < 96 And Mid(temp, i, 1) <> "." And i > 1 i = i - 1 Loop Nom = Mid(temp, i + 2) End If End Function
http://cjoint.com/?itj4MqK78m
JB http://boisgontierjacques.free.fr/
On 19 août, 09:25, "Infogroup" wrote:
Bonjour JB,
Effectivement, la fonction est OK, mais je viens de découvrir un petit " bug ? " Si j'ai la valeur => M & Mme C. LOUVET, j'obtiens avec cette fonction C. LOUVET alors que je voudrais obtenir LOUVET
sans doute une petite adaptation ?
en tous cas merci par avance de bien vouloir te repencher sur ce pb.
Cdl
Infogroup
"Infogroup" a écrit dans le message denews:%
> Merci JB, tout fonctionne OK, tu es absolument génial !
> Très bonne journée
> Cdl
> Infogroup
> "JB" a écrit dans le message de >news: > Bonjour,
> avec fonction perso.
> Function Nom(chaine) > Application.Volatile > p = InStr(chaine, "DE ") > If p > 0 Then > temp = Replace(chaine, "DE ", "De ") > i = Len(temp) > Do While Asc(Mid(temp, i, 1)) < 96 And i > 1 > i = i - 1 > Loop > Nom = "DE " & Mid(temp, i + 2) > Else > i = Len(chaine) > Do While Asc(Mid(chaine, i, 1)) < 96 And i > 1 > i = i - 1 > Loop > Nom = Mid(chaine, i + 2) > End If > End Function
>http://cjoint.com/?itfMDLy8Aa
> JB >http://boisgontierjacques.free.fr/
> On 18 août, 18:41, "Infogroup" wrote: >> Re-Bonjour à tous,
>> Je travaille actuellement dans une base de données d'adresses.
>> Dans la colonne A, j'ai les civilités, prénoms et noms >> Mais voilà, il y a le problème de la diversité des écritures.
>> Exemples :
>> En A1 => M & Mme B. & H. DE PENASTOUR >> En A2 => M & Mme Roger FAUCHEURO >> En A3 => M & Mme BIDON >> En A4 => Dr FRONTINO
>> Avec ces 4 exemples ci-dessus, je voudrais obtenir : >> En B1 => DE PENASTOUR >> En B2 => FAUCHEURO >> En B3 => BIDON >> En B4 => FRONTINO
>> Je pense qu'il faut passer par vba
>> J'ai essayé les fonctions STXT-CHERCHE etc. mais sans résultats
>> Merci par avance pour vos solutions éventuelles
>> Cordialement
>> Infogroup- Masquer le texte des messages précédents -