Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Evaluate NB.SI() = erreur 2015

  • Initiateur de la discussion Compte Supprimé 979
  • Date de début
C

Compte Supprimé 979

Guest
Evaluate NB.SI() = erreur 2015 [RESOLU]

Bonjour à tous,

Est-ce que quelqu'un peut m'expliquer pourquoi en VBA

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Nb = ActiveSheet.Evaluate("NB.SI(1:1;" & Chr(34) & Target.Value & Chr(34) & ")")
End Sub
Ne fonctionne pas et me renvoie : Erreur 2015

Target.value me retourne bien la valeur que je viens de saisir

J'aimerais de façon très simple, savoir combien de valeurs indentiques existent !?

J'ai les neurones qui bloquent

Merci pour vos réponses
 
Dernière modification par un modérateur:

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Evaluate NB.SI() = erreur 2015

Bonsoir, bruno

je n'ai pas cherché le pourquoi, mais tu peux essayer avec ce code :

Code:
nb2 = Application.CountIf([1:1], Target)

Edit, et avec la méthode Evaluate :

Code:
nb3 = Evaluate("COUNTIF(1:1," & """" & Target & """)")
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Evaluate NB.SI() = erreur 2015

Salut Bh²

Merci je n'avais absolument pas pensé à cette solution, ça devrait convenir

Bravo ...
 

job75

XLDnaute Barbatruc
Re : Evaluate NB.SI() = erreur 2015

Bonsoir,
Sinon essayer :
Nb = ActiveSheet.Evaluate("NB.SI(1:1;""" & Chr(34) & Target.Value & Chr(34) & """)")
Le texte de critère doit être entre guillemets doubles. Je n'ai pas testé.
A+
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Evaluate NB.SI() = erreur 2015

Re-
(j'édite pas, ne sachant si tu as lu mon dernier Edit)

avec ta méthode, cela devrait également le faire :

Code:
nb3 = Evaluate("COUNTIF(1:1,""" & Target & """)")

J'avais mis un [ " & " ] de trop (mais cela fonctionnait également)
 
C

Compte Supprimé 979

Guest
Re : Evaluate NB.SI() = erreur 2015

Salut Job75,
Bonsoir,
Sinon essayer :
Nb = ActiveSheet.Evaluate("NB.SI(1:1;""" & Chr(34) & Target.Value & Chr(34) & """)")
Le texte de critère doit être entre guillemets doubles. Je n'ai pas testé.
A+
Merci pour ta réponse, mais celle là ne fonctionne pas
ERREUR 2015

A+
 
C

Compte Supprimé 979

Guest
Re : Evaluate NB.SI() = erreur 2015

Encore merci,
Celle là est plus dans mon type de développement et elle focntionne,
donc je garde

Thanks
 

Kotov

XLDnaute Impliqué
Re : Evaluate NB.SI() = erreur 2015

Bonjour à tous,

Bruno, pour répondre à ta question initiale (en gros, pourquoi ça ne marche pas), je te propose de traduire ta ligne en anglais, comme dans l'exemple suivant :

Le principe : la formule en anglais et le séparateur devient virgule au lieu de point virgule
Sur l'exemple suivant, ça semble fonctionner mais je n'ai pas réalisé de test exhaustif.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
nb = Evaluate("COUNTIF(A1:A65536," & (Target.Value) & ")")
End Sub

A +

Kotov

EDIT : désolé Bhbh, je n'avais pas actualisé le fil. Ma réponse fait doublon.
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Evaluate NB.SI() = erreur 2015

Salut Voisin

Je serais curieux de savoir quand même pourquoi ça ne marche pas avec NB.SI() !?

A les mystères de l'informatique

A+
 

job75

XLDnaute Barbatruc
Re : Evaluate NB.SI() = erreur 2015

Kotov a tout à fait raison, il faut utiliser dans VBA la traduction anglaise des fonctions Excel : NB.SI() est traduit en anglais par COUNTIF().
A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…