OVH Cloud OVH Cloud

Rechercher les noms composés dans une plage de cellule

23 réponses
Avatar
scgtpas75
Bonjour,=20

J'ai une longue liste de noms en colonne B.
Dans cette liste, certains noms sont des noms compos=E9s
Je souhaite savoir s'il est possible de r=E9cup=E9rer dans cette liste les =
noms compos=E9s uniquement.

D'avance merci.

Pierre

10 réponses

1 2 3
Avatar
Fredo P.
Si ilcapito comprendé boeno
=SI(ET(ESTERREUR(TROUVE(" ";A1));ESTERREUR(TROUVE("-";A1)));"";A1)


a écrit dans le message de news:

Le jeudi 25 juillet 2013 16:22:10 UTC+2, isabelle a écrit :
bonjour Pierre,



pour un prénom composé de 2 noms,



=SI(NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))>1;SUBSTITUE(GAUCHE(A1;TROUVE("

";A1)-1);" ";"")&" "&SUBSTITUE(GAUCHE(STXT(A1;TROUVE("

";A1)+1;9^9);TROUVE(" ";STXT(A1;TROUVE(" ";A1)+1;9^9))-1);" ";"");"")



pour un prénom composé de 3 noms il faudrait ajouter une autre suite de

SUBSTITUE et ainsi de suite.



isabelle



Isabelle

J'ai inséré ta formule en C1 et j'ai recopié jusqu'à C20
J'obtiens ceci : http://goo.gl/8BfXY2 (en colonne C)

Pas vraiment ce que je recherchais puisque le but pour moi est de voir
apparaître en colonne C tous les prénoms composés
En fait dans une liste de prénom très longue j'aimerai automatiser la
recherche de prénoms composés...

Merci.
Avatar
isabelle
bonjour Pierre,

j'avais pas très bien compris la dispositions de tes données,

=SI(NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))>=1;A1;"")

isabelle

Le 2013-07-25 15:57, a écrit :

Isabelle

J'ai inséré ta formule en C1 et j'ai recopié jusqu'à C20
J'obtiens ceci : http://goo.gl/8BfXY2 (en colonne C)

Pas vraiment ce que je recherchais puisque le but pour moi est de voir apparaître en colonne C tous les prénoms composés
En fait dans une liste de prénom très longue j'aimerai automatiser la recherche de prénoms composés...

Merci.

Avatar
isabelle
celle-ci sera mieux car elle inclue les noms avec tiret

=SI(OU(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"-";""))>=1;NBCAR(A1)-NBCAR(SUBSTITUE(A1;"
";""))>=1);A1;"")

isabelle

Le 2013-07-25 16:19, isabelle a écrit :
bonjour Pierre,

j'avais pas très bien compris la dispositions de tes données,

=SI(NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))>=1;A1;"")

isabelle

Le 2013-07-25 15:57, a écrit :

Isabelle

J'ai inséré ta formule en C1 et j'ai recopié jusqu'à C20
J'obtiens ceci : http://goo.gl/8BfXY2 (en colonne C)

Pas vraiment ce que je recherchais puisque le but pour moi est de voir
apparaître en colonne C tous les prénoms composés
En fait dans une liste de prénom très longue j'aimerai automatiser la
recherche de prénoms composés...

Merci.

Avatar
Fredo P.
Ou
Public Sub test2()
Dim c As Object
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each c In Range("A1:A" & [A100000].End(3).Row)
If InStr(Trim(c), " ") Or InStr(Trim(c), "-") Then
Cells(c.Row, "C") = c
End If
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

a écrit dans le message de news:

Le jeudi 25 juillet 2013 16:22:10 UTC+2, isabelle a écrit :
bonjour Pierre,



pour un prénom composé de 2 noms,



=SI(NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))>1;SUBSTITUE(GAUCHE(A1;TROUVE("

";A1)-1);" ";"")&" "&SUBSTITUE(GAUCHE(STXT(A1;TROUVE("

";A1)+1;9^9);TROUVE(" ";STXT(A1;TROUVE(" ";A1)+1;9^9))-1);" ";"");"")



pour un prénom composé de 3 noms il faudrait ajouter une autre suite de

SUBSTITUE et ainsi de suite.



isabelle



Isabelle

J'ai inséré ta formule en C1 et j'ai recopié jusqu'à C20
J'obtiens ceci : http://goo.gl/8BfXY2 (en colonne C)

Pas vraiment ce que je recherchais puisque le but pour moi est de voir
apparaître en colonne C tous les prénoms composés
En fait dans une liste de prénom très longue j'aimerai automatiser la
recherche de prénoms composés...

Merci.
Avatar
scgtpas75
Le jeudi 25 juillet 2013 22:22:15 UTC+2, isabelle a écrit :
celle-ci sera mieux car elle inclue les noms avec tiret



=SI(OU(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"-";""))>=1;NBCAR(A1)-NBCAR(SUBST ITUE(A1;"

";""))>=1);A1;"")



isabelle




Impeccable Isabelle, MERCI !

Est-ce que je peux encore te demander quelque chose :
Maintenant que je parviens grâce à toi à distinguer les lignes dont l e prénom ou le nom sont composés est-ce qu'il est possible de récup érer toutes les lignes contenant cette particularité (ou toutes celles qui ne comprenne ni un prenom ni un nom composé) ?
En fait ma liste de plus de 46000 lignes contient des lignes dont le prén om ou le nom sont composés et j'aimerai, si possible, supprimer toutes ce s lignes pour au final n'avoir q'une succession de lignes sans prenom ou no m composé...

J'espère avoir été clair...
Avatar
Fredo P.
Pour peaufiner
Isabelle mon ange ou sont ils?
=SI(OU(NBCAR(SUPPRESPACE(A20))-NBCAR(SUBSTITUE(SUPPRESPACE(A20);"-";""))>=1;NBCAR(SUPPRESPACE(A20))-NBCAR(SUBSTITUE(SUPPRESPACE(A20);"
";""))>=1);A20;"")
"isabelle" a écrit dans le message de news:
kss1dh$u0d$
celle-ci sera mieux car elle inclue les noms avec tiret

=SI(OU(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"-";""))>=1;NBCAR(A1)-NBCAR(SUBSTITUE(A1;"
";""))>=1);A1;"")

isabelle

Le 2013-07-25 16:19, isabelle a écrit :
bonjour Pierre,

j'avais pas très bien compris la dispositions de tes données,

=SI(NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))>=1;A1;"")

isabelle

Le 2013-07-25 15:57, a écrit :

Isabelle

J'ai inséré ta formule en C1 et j'ai recopié jusqu'à C20
J'obtiens ceci : http://goo.gl/8BfXY2 (en colonne C)

Pas vraiment ce que je recherchais puisque le but pour moi est de voir
apparaître en colonne C tous les prénoms composés
En fait dans une liste de prénom très longue j'aimerai automatiser la
recherche de prénoms composés...

Merci.

Avatar
scgtpas75
Le jeudi 25 juillet 2013 22:24:02 UTC+2, Fredo P. a écrit :
Ou

Public Sub test2()

Dim c As Object

Application.EnableEvents = False

Application.ScreenUpdating = False

For Each c In Range("A1:A" & [A100000].End(3).Row)

If InStr(Trim(c), " ") Or InStr(Trim(c), "-") Then

Cells(c.Row, "C") = c

End If

Next

Application.ScreenUpdating = True

Application.EnableEvents = True

End Sub





Merci Fredo ca marche très bien aussi avec ton code : http://goo.gl/5fFHD s
Avatar
isabelle
bonjour Pierre,

peut être un filtre automatique ou un trie ferait l'affaire sinon est-ce
qu'un code vba pourrait être envisagé ?

isabelle

Le 2013-07-25 16:42, a écrit :
Le jeudi 25 juillet 2013 22:22:15 UTC+2, isabelle a écrit :
celle-ci sera mieux car elle inclue les noms avec tiret



=SI(OU(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"-";""))>=1;NBCAR(A1)-NBCAR(SUBSTITUE(A1;"

";""))>=1);A1;"")



isabelle




Impeccable Isabelle, MERCI !

Est-ce que je peux encore te demander quelque chose :
Maintenant que je parviens grâce à toi à distinguer les lignes dont le prénom ou le nom sont composés



est-ce qu'il est possible de récupérer toutes les lignes contenant cette
particularité

(ou toutes celles qui ne comprenne ni un prenom ni un nom composé) ?
En fait ma liste de plus de 46000 lignes contient des lignes dont le prénom ou le nom sont composés



et j'aimerai, si possible, supprimer toutes ces lignes pour au final
n'avoir q'une succession de lignes sans prenom ou nom composé...

J'espère avoir été clair...

Avatar
isabelle
salut Fredo,

Le 2013-07-25 16:44, Fredo P. a écrit :

Isabelle mon ange ou sont ils?



peut être à la pèche s'ils ne subissent pas la canicule (+40c)

isabelle
Avatar
Jacky
Bonsoir,

Avec une feuille pour les noms composés et une autre pour les noms non composés
Exemple ici
http://cjoint.com/?CGzxIU3JEm3

--
Salutations
JJ


a écrit dans le message de news:

Bonjour,

J'ai une longue liste de noms en colonne B.
Dans cette liste, certains noms sont des noms composés
Je souhaite savoir s'il est possible de récupérer dans cette liste les noms composés uniquement.

D'avance merci.

Pierre
1 2 3