Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lister tous les mots compris dans une plage donnée, sans doublon

5 réponses
Avatar
Greg
Bonjour,

Je cherche à créer dans une feuilleX une liste sans doublon des éléments
contenus dans une plage donnée d'une autre feuille. Il s'agirait également
de ne pas y voir y figurer une partie des noms.

Exemple:

Dans une feuille Y, on peut lire en colone A à partir de A15:

chat
chien
chat
poule
cochon
poule
cochon
chien
chat
chat
cochon

Dans une feuille X, automatiquement et en ayant spécifié ne pas voir y
apparaitre "cochon", on pourrait lire en colonne B, à partir de B4:

chat
chien
poule

Est-ce possible?

Merci à vous

Greg

5 réponses

Avatar
JB
Voir PJ

http://cjoint.com/?cCmVTHocuk


JB

On 28 fév, 12:34, "Greg" wrote:
Bonjour,

Je cherche cr er dans une feuilleX une liste sans doublon des l ments
contenus dans une plage donn e d'une autre feuille. Il s'agirait galement
de ne pas y voir y figurer une partie des noms.

Exemple:

Dans une feuille Y, on peut lire en colone A partir de A15:

chat
chien
chat
poule
cochon
poule
cochon
chien
chat
chat
cochon

Dans une feuille X, automatiquement et en ayant sp cifi ne pas voir y
apparaitre "cochon", on pourrait lire en colonne B, partir de B4:

chat
chien
poule

Est-ce possible?

Merci vous

Greg


Avatar
Daniel.C
Bonjour.
Fais un filtre avancé (ou élaboré). Pour le critère, tu mets en D1, le
même entête que celui de ta plage de données (il en faut un) et en D2 :
<>cochon
Spécifie "extraction sans doublon".
Cordialement.
Daniel

Bonjour,

Je cherche à créer dans une feuilleX une liste sans doublon des éléments
contenus dans une plage donnée d'une autre feuille. Il s'agirait également de
ne pas y voir y figurer une partie des noms.

Exemple:

Dans une feuille Y, on peut lire en colone A à partir de A15:

chat
chien
chat
poule
cochon
poule
cochon
chien
chat
chat
cochon

Dans une feuille X, automatiquement et en ayant spécifié ne pas voir y
apparaitre "cochon", on pourrait lire en colonne B, à partir de B4:

chat
chien
poule

Est-ce possible?

Merci à vous

Greg


Avatar
Greg
Merci à tous les deux,

- La formule de JB fonctionne très bien:

=INDEX(champ;MIN(SI(champ<>"";SI(NB.SI(A$1:A7;champ)=0;LIGNE(INDIRECT("1:"&LIGNES(champ)));LIGNES(champ)))))

Comment empêcher la formule de prendre en compte le mot "cochon" dans la
liste?

- Le code de JB pourrait être une solution mais je ne souhaite pas trier le
résulat. Il faudrait aussi incorporer une ligne permettant de ne pas prendre
en compte "cochon".

- En ce qui concerne la proposition de Daniel , le fichier de référence ne
fonctionne pas avec des noms de champ et il serait un peu compliqué de
procéder ainsi. La proposition des formules de JB me semble plus adaptée à
la situation. Pour une fois que Daniel n'est pas mon sauveur...

Dans tous les cas, merci beaucoup.

Greg


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Fais un filtre avancé (ou élaboré). Pour le critère, tu mets en D1, le
même entête que celui de ta plage de données (il en faut un) et en D2 :
<>cochon
Spécifie "extraction sans doublon".
Cordialement.
Daniel

Bonjour,

Je cherche à créer dans une feuilleX une liste sans doublon des éléments
contenus dans une plage donnée d'une autre feuille. Il s'agirait
également de ne pas y voir y figurer une partie des noms.

Exemple:

Dans une feuille Y, on peut lire en colone A à partir de A15:

chat
chien
chat
poule
cochon
poule
cochon
chien
chat
chat
cochon

Dans une feuille X, automatiquement et en ayant spécifié ne pas voir y
apparaitre "cochon", on pourrait lire en colonne B, à partir de B4:

chat
chien
poule

Est-ce possible?

Merci à vous

Greg







Avatar
JB
Voir PJ

http://cjoint.com/?cCowTMrJ3N

=INDEX(champ;MIN(SI(NB.SI(exclus;champ)=0;SI(champ<>"";SI((NB.SI(A
$1:A1;
champ)=0);LIGNE(INDIRECT("1:"&LIGNES(champ)));LIGNES(champ))))))
Valider avec maj+ctrl+entrée

'Exclus' est un champ qui contient les exclus (cochon,xxx,..)

Fonction perso:

=SansDoublons(champ;exclus)

Function SansDoublons(champ As Range, exclus As Range)
Set mondico = CreateObject("Scripting.Dictionary")
temp = champ
For i = LBound(temp, 1) To UBound(temp, 1)
For j = LBound(temp, 2) To UBound(temp, 2)
If Not mondico.Exists(temp(i, j)) And temp(i, j) <> "" _
And IsError(Application.Match(temp(i, j), exclus, 0)) Then
mondico.Add temp(i, j), temp(i, j)
End If
Next j
Next i
Dim b()
ReDim b(1 To champ.Count)
i = 1
For Each c In mondico.items
b(i) = c
i = i + 1
Next
SansDoublons = Application.Transpose(b)
End Function


JB

On 28 fév, 13:58, "Greg" wrote:
Merci à tous les deux,

- La formule de JB fonctionne très bien:

=INDEX(champ;MIN(SI(champ<>"";SI(NB.SI(A$1:A7;champ)=0;LIGNE(INDIRECT ("1:"&­LIGNES(champ)));LIGNES(champ)))))

Comment empêcher la formule de prendre en compte le mot "cochon" dans l a
liste?

- Le code de JB pourrait être une solution mais je ne souhaite pas trie r le
résulat. Il faudrait aussi incorporer une ligne permettant de ne pas pr endre
en compte "cochon".

- En ce qui concerne la proposition de Daniel , le fichier de référen ce ne
fonctionne pas avec des noms de champ et il serait un peu compliqué de
procéder ainsi. La proposition des formules de JB me semble plus adapt ée à
la situation. Pour une fois que Daniel n'est pas mon sauveur...

Dans tous les cas, merci beaucoup.

Greg

"Daniel.C" a écrit dans le message denews:ug



> Bonjour.
> Fais un filtre avancé (ou élaboré). Pour le critère, tu mets en D1, le
> même entête que celui de ta plage de données (il en faut un) et e n D2 :
> <>cochon
> Spécifie "extraction sans doublon".
> Cordialement.
> Daniel

>> Bonjour,

>> Je cherche à créer dans une feuilleX une liste sans doublon des éléments
>> contenus dans une plage donnée d'une autre feuille. Il s'agirait
>> également de ne pas y voir y figurer une partie des noms.

>> Exemple:

>> Dans une feuille Y, on peut lire en colone A à partir de A15:

>> chat
>> chien
>> chat
>> poule
>> cochon
>> poule
>> cochon
>> chien
>> chat
>> chat
>> cochon

>> Dans une feuille X, automatiquement et en ayant spécifié ne pas vo ir y
>> apparaitre "cochon", on pourrait lire en colonne B, à partir de B4:

>> chat
>> chien
>> poule

>> Est-ce possible?

>> Merci à vous

>> Greg- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Greg
Bonjour et Merci JB,

Ca fonctionne très bien!

à plus

Greg


"JB" a écrit dans le message de
news:
Voir PJ

http://cjoint.com/?cCowTMrJ3N

=INDEX(champ;MIN(SI(NB.SI(exclus;champ)=0;SI(champ<>"";SI((NB.SI(A
$1:A1;
champ)=0);LIGNE(INDIRECT("1:"&LIGNES(champ)));LIGNES(champ))))))
Valider avec maj+ctrl+entrée

'Exclus' est un champ qui contient les exclus (cochon,xxx,..)

Fonction perso:

=SansDoublons(champ;exclus)

Function SansDoublons(champ As Range, exclus As Range)
Set mondico = CreateObject("Scripting.Dictionary")
temp = champ
For i = LBound(temp, 1) To UBound(temp, 1)
For j = LBound(temp, 2) To UBound(temp, 2)
If Not mondico.Exists(temp(i, j)) And temp(i, j) <> "" _
And IsError(Application.Match(temp(i, j), exclus, 0)) Then
mondico.Add temp(i, j), temp(i, j)
End If
Next j
Next i
Dim b()
ReDim b(1 To champ.Count)
i = 1
For Each c In mondico.items
b(i) = c
i = i + 1
Next
SansDoublons = Application.Transpose(b)
End Function


JB

On 28 fév, 13:58, "Greg" wrote:
Merci à tous les deux,

- La formule de JB fonctionne très bien:

=INDEX(champ;MIN(SI(champ<>"";SI(NB.SI(A$1:A7;champ)=0;LIGNE(INDIRECT("1:"&­LIGNES(champ)));LIGNES(champ)))))

Comment empêcher la formule de prendre en compte le mot "cochon" dans la
liste?

- Le code de JB pourrait être une solution mais je ne souhaite pas trier
le
résulat. Il faudrait aussi incorporer une ligne permettant de ne pas
prendre
en compte "cochon".

- En ce qui concerne la proposition de Daniel , le fichier de référence ne
fonctionne pas avec des noms de champ et il serait un peu compliqué de
procéder ainsi. La proposition des formules de JB me semble plus adaptée à
la situation. Pour une fois que Daniel n'est pas mon sauveur...

Dans tous les cas, merci beaucoup.

Greg

"Daniel.C" a écrit dans le message
denews:



> Bonjour.
> Fais un filtre avancé (ou élaboré). Pour le critère, tu mets en D1, le
> même entête que celui de ta plage de données (il en faut un) et en D2 :
> <>cochon
> Spécifie "extraction sans doublon".
> Cordialement.
> Daniel

>> Bonjour,

>> Je cherche à créer dans une feuilleX une liste sans doublon des
>> éléments
>> contenus dans une plage donnée d'une autre feuille. Il s'agirait
>> également de ne pas y voir y figurer une partie des noms.

>> Exemple:

>> Dans une feuille Y, on peut lire en colone A à partir de A15:

>> chat
>> chien
>> chat
>> poule
>> cochon
>> poule
>> cochon
>> chien
>> chat
>> chat
>> cochon

>> Dans une feuille X, automatiquement et en ayant spécifié ne pas voir y
>> apparaitre "cochon", on pourrait lire en colonne B, à partir de B4:

>> chat
>> chien
>> poule

>> Est-ce possible?

>> Merci à vous

>> Greg- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -