Créer une fonction CRITERE
Résolu/Fermé
Victor Porée
Messages postés
75
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
30 mai 2017
-
8 juil. 2016 à 17:29
Victor Porée Messages postés 75 Date d'inscription mardi 11 juin 2013 Statut Membre Dernière intervention 30 mai 2017 - 10 juil. 2016 à 18:14
Victor Porée Messages postés 75 Date d'inscription mardi 11 juin 2013 Statut Membre Dernière intervention 30 mai 2017 - 10 juil. 2016 à 18:14
A voir également:
- Créer une fonction CRITERE
- Fonction si et - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
- Créer une adresse hotmail - Guide
5 réponses
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 423
Modifié par ccm81 le 9/07/2016 à 17:22
Modifié par ccm81 le 9/07/2016 à 17:22
Bonjour
Peut être ceci, mais je ne vois toujours pas où tu veux en venir
Cdlmnt
Peut être ceci, mais je ne vois toujours pas où tu veux en venir
Public Function test(ech, ope As String, ref) As Boolean
Dim ok As Boolean
ok = False
Select Case ope
Case "=": If ech = ref Then ok = True
Case ">": If ech > ref Then ok = True
Case ">=": If ech = ref Then ok = True
Case "<": If ech < ref Then ok = True
Case "<=": If ech <= ref Then ok = True
End Select
test = ok
End Function
Cdlmnt
Victor Porée
Messages postés
75
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
30 mai 2017
2
10 juil. 2016 à 18:14
10 juil. 2016 à 18:14
Bonjour tout le monde,
Une réponse m'a été apportée par ailleurs :
Merci de m'avoir accordé de votre temps !
Bon dimanche,
Une réponse m'a été apportée par ailleurs :
Function test(échantillon, opérateur, valeur)
Dim r(), i, v, nc
nc = Application.Caller.Columns.Count
If échantillon.Count = 1 Then
test = Evaluate(Replace(échantillon & opérateur & valeur, ",", "."))
Else
i = -1
For Each v In échantillon
i = i + 1
ReDim Preserve r(i)
r(i) = Evaluate(Replace(v & opérateur & valeur, ",", "."))
Next v
If nc = 1 Then test = Application.Transpose(r) Else test = r
End If
End Function
Merci de m'avoir accordé de votre temps !
Bon dimanche,
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
8 juil. 2016 à 21:03
8 juil. 2016 à 21:03
Bonjour,
Bien que je ne voie pas la finalité ... voici la fonction personnelle correspondante :
Fonction à placer dans un module standard.
A+
Bien que je ne voie pas la finalité ... voici la fonction personnelle correspondante :
Function CRITERE(opérateur As String, valeur As String) As String
CRITERE = opérateur & valeur
End Function
Fonction à placer dans un module standard.
A+
Victor Porée
Messages postés
75
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
30 mai 2017
2
9 juil. 2016 à 16:25
9 juil. 2016 à 16:25
Bonjour Gyrus,
Merci pour ta réponse,
Au temps pour moi, j'avais mal identifié le problème. Effectivement, une simple concaténation fonctionne parfaitement. C'est avec la fonction SI que ça ne fonctionne pas :
C'est donc plutôt une fonction TEST dont j'aurais besoin :
en guise de test logique.
Ou peut-être serait-ce réalisable sans macro ?
Bon weekend. :)
Merci pour ta réponse,
Au temps pour moi, j'avais mal identifié le problème. Effectivement, une simple concaténation fonctionne parfaitement. C'est avec la fonction SI que ça ne fonctionne pas :
=SI(A1&B1&C1;VRAI;FAUX)
C'est donc plutôt une fonction TEST dont j'aurais besoin :
=TEST(échantillon;opérateur;valeur)
en guise de test logique.
Ou peut-être serait-ce réalisable sans macro ?
Bon weekend. :)
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 423
Modifié par ccm81 le 8/07/2016 à 21:05
Modifié par ccm81 le 8/07/2016 à 21:05
Bonjour
Utilisation dans la feuille
=NB.SI($A$2:$A$11;critere("<";2))
Mais c'est bien compliquer pour pas grand chose
Cdlmnt
Public Function critere(operation As String, valeur) As String
critere = operation & valeur
End Function
Utilisation dans la feuille
=NB.SI($A$2:$A$11;critere("<";2))
Mais c'est bien compliquer pour pas grand chose
Cdlmnt
Victor Porée
Messages postés
75
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
30 mai 2017
2
9 juil. 2016 à 16:25
9 juil. 2016 à 16:25
Bonjour ccm81,
Merci pour ta réponse,
Au temps pour moi, j'avais mal identifié le problème. Effectivement, une simple concaténation fonctionne parfaitement. C'est avec la fonction SI que ça ne fonctionne pas :
C'est donc plutôt une fonction TEST dont j'aurais besoin :
en guise de test logique.
Ou peut-être serait-ce réalisable sans macro ?
Bon weekend. :)
Merci pour ta réponse,
Au temps pour moi, j'avais mal identifié le problème. Effectivement, une simple concaténation fonctionne parfaitement. C'est avec la fonction SI que ça ne fonctionne pas :
=SI(A1&B1&C1;VRAI;FAUX)
C'est donc plutôt une fonction TEST dont j'aurais besoin :
=TEST(échantillon;opérateur;valeur)
en guise de test logique.
Ou peut-être serait-ce réalisable sans macro ?
Bon weekend. :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Arkana0
Messages postés
4399
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
8 juil. 2016 à 17:37
8 juil. 2016 à 17:37
Bonjour,
Tu peux t'intéresser à https://www.excel-pratique.com/ et aller sur le cours de vba
Tu peux t'intéresser à https://www.excel-pratique.com/ et aller sur le cours de vba
Victor Porée
Messages postés
75
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
30 mai 2017
2
Modifié par Victor Porée le 8/07/2016 à 19:09
Modifié par Victor Porée le 8/07/2016 à 19:09
Bonjour,
Merci pour ce lien,
Mais à vrai dire, ça ne m'aide pas vraiment...
Merci pour ce lien,
Mais à vrai dire, ça ne m'aide pas vraiment...
10 juil. 2016 à 01:08
Encore merci pour ta réponse,
Simplement, dans mon test logique, l'échantillon, l'opérateur et la valeur sont des variables définies dans différentes cellules. Je veux tout bonnement qu'une formule du genre fonctionne :
Effectivement, ça marche, mais pas quand l'échantillon est une plage. :/
Pour que ce soit plus simple, je t'ai joint un exemple simplifié de ce que je veux faire :
https://www.cjoint.com/c/FGjxcZm03fa