OVH Cloud OVH Cloud

nombre de valeur unique

17 réponses
Avatar
Serge
Bonjour a tous,

j'ai une petite question :
j'ai 3 colonnes :
-1ere : nom des pays (france, espagne...)
-2e : reference produit (NV1; NV2;NV3; NV4..); une=20
reference produit peutere r=E9p=E9ter plusieurs fois pour une=20
meme commande.
-3e : statut (vendu;en cours; sign=E9)

je souhaiterai d=E9terminer le nombre de valeur unique de=20
la colonne 2 pour "espagne" avec un statut "vendu" par=20
exemple.
le second probleme est que je souhaite construire une=20
formule bas=E9 sur une colonne et non sur une plage. Car=20
cette formule va s'appliquer sur une feuille excel qui=20
=E9volue chaque jour en nombre de ligne.
je ne sais pas trop si ceci es possible et vous remercie=20
d'avance pour vos aides.

cdlt,
serge

10 réponses

1 2
Avatar
michdenis
Bonjour Serge,

Copie ce qui suit dans le module feuille où sont tes données

Ceci va mettre à jour continuellement 3 plages nommes de cellules. Pays , Produit , Statut . Les noms de ces plages
nommées seront utilisés dans la formule suivante de ta feuille de calcul :

'Pour trouver le nombre d'item NV1 vendu en France :
=SOMMEPROD((Pays="France")*(Produit="NV1")*(Statut="vendu"))

En supposant que ta plage de données débute en ligne 1 par les étiquettes de colonnes ...

'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Derlig As Long
If Target.Column < 4 Then
With Range("A:C")
On Error Resume Next
Derlig = .Find(What:="*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
If Derlig > 1 Then
Range("A1:A" & Derlig).Name = "Pays"
Range("B1:B" & Derlig).Name = "Produit"
Range("C1:C" & Derlig).Name = "Statut"
End If
On Error GoTo 0
End With
End If

End Sub
'------------------------


Salutations!





"Serge" a écrit dans le message de news:247bd01c45f7b$0f8ea800$
Bonjour a tous,

j'ai une petite question :
j'ai 3 colonnes :
-1ere : nom des pays (france, espagne...)
-2e : reference produit (NV1; NV2;NV3; NV4..); une
reference produit peutere répéter plusieurs fois pour une
meme commande.
-3e : statut (vendu;en cours; signé)

je souhaiterai déterminer le nombre de valeur unique de
la colonne 2 pour "espagne" avec un statut "vendu" par
exemple.
le second probleme est que je souhaite construire une
formule basé sur une colonne et non sur une plage. Car
cette formule va s'appliquer sur une feuille excel qui
évolue chaque jour en nombre de ligne.
je ne sais pas trop si ceci es possible et vous remercie
d'avance pour vos aides.

cdlt,
serge
Avatar
Daniel.M
Salut Serge,

1.Pour ton second problème:
Avec les plages ainsi définies:
Pays: ÞCALER($A$2;0;0;NBVAL($A$2:$A$3000);1)
Produit:ÞCALER(Pays;0;1)
Statut:ÞCALER(Pays;0;2)

Comme tu le vois ce sont des plages dynamiques, elles augmentent au fur et à
mesure que tu rajoutes des données en colonne A.
Je considère que tes données commencent en A2 et ne comptent pas plus de 2999
lignes. Si tes valeurs diffèrent, tu ajustes dans la première formule.

2.Pour tes décomtes uniques:

la formule matricielle (Ctrl-Maj-Entrée) suivante :

=NB(1/FREQUENCE(SI((Pays="Espagne")*(Statut="Vendu");
EQUIV(Produit;Produit;0)+CELLULE("Row";Pays)-1);LIGNE(Pays)))

Salutations,

Daniel M.

"Serge" wrote in message
news:247bd01c45f7b$0f8ea800$
Bonjour a tous,

j'ai une petite question :
j'ai 3 colonnes :
-1ere : nom des pays (france, espagne...)
-2e : reference produit (NV1; NV2;NV3; NV4..); une
reference produit peutere répéter plusieurs fois pour une
meme commande.
-3e : statut (vendu;en cours; signé)

je souhaiterai déterminer le nombre de valeur unique de
la colonne 2 pour "espagne" avec un statut "vendu" par
exemple.
le second probleme est que je souhaite construire une
formule basé sur une colonne et non sur une plage. Car
cette formule va s'appliquer sur une feuille excel qui
évolue chaque jour en nombre de ligne.
je ne sais pas trop si ceci es possible et vous remercie
d'avance pour vos aides.

cdlt,
serge
Avatar
michdenis
Bonjour Daniel,

Je suppose que ta formule fonctionne mieux lorsqu'il s'agit de valeur UNIQUE ! , le mot clé que j'ai raté !!

;-))


Salutations!


"Daniel.M" a écrit dans le message de news:
Salut Serge,

1.Pour ton second problème:
Avec les plages ainsi définies:
Pays: ÞCALER($A$2;0;0;NBVAL($A$2:$A$3000);1)
Produit:ÞCALER(Pays;0;1)
Statut:ÞCALER(Pays;0;2)

Comme tu le vois ce sont des plages dynamiques, elles augmentent au fur et à
mesure que tu rajoutes des données en colonne A.
Je considère que tes données commencent en A2 et ne comptent pas plus de 2999
lignes. Si tes valeurs diffèrent, tu ajustes dans la première formule.

2.Pour tes décomtes uniques:

la formule matricielle (Ctrl-Maj-Entrée) suivante :

=NB(1/FREQUENCE(SI((Pays="Espagne")*(Statut="Vendu");
EQUIV(Produit;Produit;0)+CELLULE("Row";Pays)-1);LIGNE(Pays)))

Salutations,

Daniel M.

"Serge" wrote in message
news:247bd01c45f7b$0f8ea800$
Bonjour a tous,

j'ai une petite question :
j'ai 3 colonnes :
-1ere : nom des pays (france, espagne...)
-2e : reference produit (NV1; NV2;NV3; NV4..); une
reference produit peutere répéter plusieurs fois pour une
meme commande.
-3e : statut (vendu;en cours; signé)

je souhaiterai déterminer le nombre de valeur unique de
la colonne 2 pour "espagne" avec un statut "vendu" par
exemple.
le second probleme est que je souhaite construire une
formule basé sur une colonne et non sur une plage. Car
cette formule va s'appliquer sur une feuille excel qui
évolue chaque jour en nombre de ligne.
je ne sais pas trop si ceci es possible et vous remercie
d'avance pour vos aides.

cdlt,
serge
Avatar
Daniel.M
Cher Michel, ;-)

En effet, j'avais saisi le problème de Serge un peu différemment par rapport à
l'aspect 'unique'.

La beauté de la chose est que ce dernier prendra connaissance des 2 solutions et
utilisera celle qui lui convient le mieux (ou un mix des 2 : par exemple, en
préférant redéfinir les plages avec l'événement Change au lieu d'une définition
dynamique) et qu'il ne se gênera pas ensuite pour nous remercier grandement pour
nos vaillants efforts (quitte à écorchez un prénom ici et là ;-).

Salutations amicales D.M.,

Daniel M.

"michdenis" wrote in message
news:
Bonjour Daniel,

Je suppose que ta formule fonctionne mieux lorsqu'il s'agit de valeur UNIQUE !
, le mot clé que j'ai raté !!


;-))


Salutations!


"Daniel.M" a écrit dans le message de
news:

Salut Serge,

1.Pour ton second problème:
Avec les plages ainsi définies:
Pays: ÞCALER($A$2;0;0;NBVAL($A$2:$A$3000);1)
Produit:ÞCALER(Pays;0;1)
Statut:ÞCALER(Pays;0;2)

Comme tu le vois ce sont des plages dynamiques, elles augmentent au fur et à
mesure que tu rajoutes des données en colonne A.
Je considère que tes données commencent en A2 et ne comptent pas plus de 2999
lignes. Si tes valeurs diffèrent, tu ajustes dans la première formule.

2.Pour tes décomtes uniques:

la formule matricielle (Ctrl-Maj-Entrée) suivante :

=NB(1/FREQUENCE(SI((Pays="Espagne")*(Statut="Vendu");
EQUIV(Produit;Produit;0)+CELLULE("Row";Pays)-1);LIGNE(Pays)))

Salutations,

Daniel M.

"Serge" wrote in message
news:247bd01c45f7b$0f8ea800$
Bonjour a tous,

j'ai une petite question :
j'ai 3 colonnes :
-1ere : nom des pays (france, espagne...)
-2e : reference produit (NV1; NV2;NV3; NV4..); une
reference produit peutere répéter plusieurs fois pour une
meme commande.
-3e : statut (vendu;en cours; signé)

je souhaiterai déterminer le nombre de valeur unique de
la colonne 2 pour "espagne" avec un statut "vendu" par
exemple.
le second probleme est que je souhaite construire une
formule basé sur une colonne et non sur une plage. Car
cette formule va s'appliquer sur une feuille excel qui
évolue chaque jour en nombre de ligne.
je ne sais pas trop si ceci es possible et vous remercie
d'avance pour vos aides.

cdlt,
serge





Avatar
Daniel.M
quitte à écorchez ...


Ooups: quitte à écorcher

Daniel M.

Avatar
michdenis
Je n'aurais pas mieux dit ou mieux fait moi-même !

;-))


Salutations!



"Daniel.M" a écrit dans le message de news:

quitte à écorchez ...


Ooups: quitte à écorcher

Daniel M.

Avatar
serge
merci beaucoup pour ton support.
je me suis mal exprimé sur un point (meme si ce que tu
m'as donné est vraiement utile pour moi).
je souhaite determiner le nombre de valeur unique sur la
colonne produit pour la "france" et statut "vendu".
L'idée principale est là (au niveau de la programmation
VBA) mais c'est la formule qui me pose probleme. la
fonction sommeprod prend toute les valeurs( meme celle en
doublons).

merci encore de ton support.

Serge.

-----Message d'origine-----
Bonjour Serge,

Copie ce qui suit dans le module feuille où sont tes
données


Ceci va mettre à jour continuellement 3 plages nommes de
cellules. Pays , Produit , Statut . Les noms de ces plages

nommées seront utilisés dans la formule suivante de ta
feuille de calcul :


'Pour trouver le nombre d'item NV1 vendu en France :
=SOMMEPROD((Pays="France")*(Produit="NV1")*
(Statut="vendu"))


En supposant que ta plage de données débute en ligne 1
par les étiquettes de colonnes ...


'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Derlig As Long
If Target.Column < 4 Then
With Range("A:C")
On Error Resume Next
Derlig = .Find(What:="*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows,
SearchDirection:=xlPrevious).Row

If Derlig > 1 Then
Range("A1:A" & Derlig).Name = "Pays"
Range("B1:B" & Derlig).Name = "Produit"
Range("C1:C" & Derlig).Name = "Statut"
End If
On Error GoTo 0
End With
End If

End Sub
'------------------------


Salutations!





"Serge" a écrit dans le
message de news:247bd01c45f7b$0f8ea800$

Bonjour a tous,

j'ai une petite question :
j'ai 3 colonnes :
-1ere : nom des pays (france, espagne...)
-2e : reference produit (NV1; NV2;NV3; NV4..); une
reference produit peutere répéter plusieurs fois pour une
meme commande.
-3e : statut (vendu;en cours; signé)

je souhaiterai déterminer le nombre de valeur unique de
la colonne 2 pour "espagne" avec un statut "vendu" par
exemple.
le second probleme est que je souhaite construire une
formule basé sur une colonne et non sur une plage. Car
cette formule va s'appliquer sur une feuille excel qui
évolue chaque jour en nombre de ligne.
je ne sais pas trop si ceci es possible et vous remercie
d'avance pour vos aides.

cdlt,
serge


.



Avatar
merci beaucoup de votre support. Qui êtes-vous ? des
utilisateurs intensifs d'excel? ou des microsofters?
pour votre infos, je vais faire en effet un mix des 2.

merci encore.
cdlt,

Serge
-----Message d'origine-----
Je n'aurais pas mieux dit ou mieux fait moi-même !

;-))


Salutations!



"Daniel.M" a écrit
dans le message de

news:

quitte à écorchez ...


Ooups: quitte à écorcher

Daniel M.



.




Avatar
ChrisV
Bonjour Serge,

En supposant que les données soient réparties sur les colonnes A, B et C et
débutent en ligne 1...
(à saisir sans les { } et valider par Ctrl+Shift+Entrée)

{=SOMME(SI(FREQUENCE(SI((DECALER(A$1;;;NBVAL(A:A))
="France")*(DECALER(C$1;;;NBVAL(C:C))="vendu");
--STXT(DECALER(B$1;;;NBVAL(B:B));3;9^9));LIGNE(DECALER
(B$1;;;NBVAL(B:B))))>0;1))}


ChrisV


"serge" a écrit dans le message de
news:2516701c4601b$7d7a3140$
merci beaucoup pour ton support.
je me suis mal exprimé sur un point (meme si ce que tu
m'as donné est vraiement utile pour moi).
je souhaite determiner le nombre de valeur unique sur la
colonne produit pour la "france" et statut "vendu".
L'idée principale est là (au niveau de la programmation
VBA) mais c'est la formule qui me pose probleme. la
fonction sommeprod prend toute les valeurs( meme celle en
doublons).

merci encore de ton support.

Serge.

-----Message d'origine-----
Bonjour Serge,

Copie ce qui suit dans le module feuille où sont tes
données


Ceci va mettre à jour continuellement 3 plages nommes de
cellules. Pays , Produit , Statut . Les noms de ces plages

nommées seront utilisés dans la formule suivante de ta
feuille de calcul :


'Pour trouver le nombre d'item NV1 vendu en France :
=SOMMEPROD((Pays="France")*(Produit="NV1")*
(Statut="vendu"))


En supposant que ta plage de données débute en ligne 1
par les étiquettes de colonnes ...


'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Derlig As Long
If Target.Column < 4 Then
With Range("A:C")
On Error Resume Next
Derlig = .Find(What:="*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows,
SearchDirection:=xlPrevious).Row

If Derlig > 1 Then
Range("A1:A" & Derlig).Name = "Pays"
Range("B1:B" & Derlig).Name = "Produit"
Range("C1:C" & Derlig).Name = "Statut"
End If
On Error GoTo 0
End With
End If

End Sub
'------------------------


Salutations!





"Serge" a écrit dans le
message de news:247bd01c45f7b$0f8ea800$

Bonjour a tous,

j'ai une petite question :
j'ai 3 colonnes :
-1ere : nom des pays (france, espagne...)
-2e : reference produit (NV1; NV2;NV3; NV4..); une
reference produit peutere répéter plusieurs fois pour une
meme commande.
-3e : statut (vendu;en cours; signé)

je souhaiterai déterminer le nombre de valeur unique de
la colonne 2 pour "espagne" avec un statut "vendu" par
exemple.
le second probleme est que je souhaite construire une
formule basé sur une colonne et non sur une plage. Car
cette formule va s'appliquer sur une feuille excel qui
évolue chaque jour en nombre de ligne.
je ne sais pas trop si ceci es possible et vous remercie
d'avance pour vos aides.

cdlt,
serge


.



Avatar
Daniel.M
Bonjour,

merci beaucoup de votre support.


C'était avec plaisir.

Qui êtes-vous ?


Dans un cas, c'est Daniel. Dans l'autre, c'est plus compliqué. :-)

des utilisateurs intensifs d'excel? ou des microsofters?


La première description est plus près de la réalité. Pas des MSers en tout cas.

Salutations,

Daniel M.

1 2