j'ai un problème avec Excel 97 avec une fonction "Find" placée à l'intérieur
d'une Fonction personnalisée. Le programme ne renvoie pas d'erreur mais ne
trouve pas la valeur. Le même code fonctionne en version 2002 !
Soit une zone nommée plage_a_calculer ( V1,V2,V3,V4,V5) et une zone nommée
liste_valeurs ( V2,V4,V5) .
La fonction "=SommeSelonListe(plage_a_calculer , liste_valeurs) " placée
dans une feuille de calcul renvoie 0 alors que la même fontion lancée à
partir de VBA (fontion appelSomme) renvoie la bonne valeur.
Merci d'avance pour votre aide, Catherine
Ci-dessous, les fonctions concernées.
Function SommeSelonListe(plage As Range, liste As Range) As Double
Application.Volatile True
Dim c As Range
For Each c In plage
If (Not liste.Find(c.Value) Is Nothing) Then SommeSelonListe
= SommeSelonListe + 1
Next
End Function
Function AppelSomme()
AppelSomme = SommeSelonListe(Range("plage_a_calculer"),
Range("liste_valeurs"))
MsgBox AppelSomme
End Function
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
j
c'est normal find ne fonctionne pas dans une fonction personnalisée je ne sais pas pour 2002 --
http://jacxl.free.fr/
"catherine" a écrit dans le message de news: 400fe3af$0$24119$
Bonjour,
j'ai un problème avec Excel 97 avec une fonction "Find" placée à l'intérieur
d'une Fonction personnalisée. Le programme ne renvoie pas d'erreur mais ne trouve pas la valeur. Le même code fonctionne en version 2002 !
Soit une zone nommée plage_a_calculer ( V1,V2,V3,V4,V5) et une zone nommée liste_valeurs ( V2,V4,V5) . La fonction "=SommeSelonListe(plage_a_calculer , liste_valeurs) " placée dans une feuille de calcul renvoie 0 alors que la même fontion lancée à partir de VBA (fontion appelSomme) renvoie la bonne valeur.
Merci d'avance pour votre aide, Catherine
Ci-dessous, les fonctions concernées.
Function SommeSelonListe(plage As Range, liste As Range) As Double
Application.Volatile True Dim c As Range
For Each c In plage
If (Not liste.Find(c.Value) Is Nothing) Then SommeSelonListe
= SommeSelonListe + 1 Next End Function
Function AppelSomme() AppelSomme = SommeSelonListe(Range("plage_a_calculer"), Range("liste_valeurs")) MsgBox AppelSomme End Function
c'est normal find ne fonctionne pas dans une fonction personnalisée
je ne sais pas pour 2002
--
J@C
http://jacxl.free.fr/
"catherine" <cathdenisgautier@yahoo.fr> a écrit dans le message de news:
400fe3af$0$24119$79c14f64@nan-newsreader-01.noos.net...
Bonjour,
j'ai un problème avec Excel 97 avec une fonction "Find" placée à
l'intérieur
d'une Fonction personnalisée. Le programme ne renvoie pas d'erreur mais ne
trouve pas la valeur. Le même code fonctionne en version 2002 !
Soit une zone nommée plage_a_calculer ( V1,V2,V3,V4,V5) et une zone nommée
liste_valeurs ( V2,V4,V5) .
La fonction "=SommeSelonListe(plage_a_calculer , liste_valeurs) " placée
dans une feuille de calcul renvoie 0 alors que la même fontion lancée à
partir de VBA (fontion appelSomme) renvoie la bonne valeur.
Merci d'avance pour votre aide, Catherine
Ci-dessous, les fonctions concernées.
Function SommeSelonListe(plage As Range, liste As Range) As Double
Application.Volatile True
Dim c As Range
For Each c In plage
If (Not liste.Find(c.Value) Is Nothing) Then
SommeSelonListe
= SommeSelonListe + 1
Next
End Function
Function AppelSomme()
AppelSomme = SommeSelonListe(Range("plage_a_calculer"),
Range("liste_valeurs"))
MsgBox AppelSomme
End Function
c'est normal find ne fonctionne pas dans une fonction personnalisée je ne sais pas pour 2002 --
http://jacxl.free.fr/
"catherine" a écrit dans le message de news: 400fe3af$0$24119$
Bonjour,
j'ai un problème avec Excel 97 avec une fonction "Find" placée à l'intérieur
d'une Fonction personnalisée. Le programme ne renvoie pas d'erreur mais ne trouve pas la valeur. Le même code fonctionne en version 2002 !
Soit une zone nommée plage_a_calculer ( V1,V2,V3,V4,V5) et une zone nommée liste_valeurs ( V2,V4,V5) . La fonction "=SommeSelonListe(plage_a_calculer , liste_valeurs) " placée dans une feuille de calcul renvoie 0 alors que la même fontion lancée à partir de VBA (fontion appelSomme) renvoie la bonne valeur.
Merci d'avance pour votre aide, Catherine
Ci-dessous, les fonctions concernées.
Function SommeSelonListe(plage As Range, liste As Range) As Double
Application.Volatile True Dim c As Range
For Each c In plage
If (Not liste.Find(c.Value) Is Nothing) Then SommeSelonListe
= SommeSelonListe + 1 Next End Function
Function AppelSomme() AppelSomme = SommeSelonListe(Range("plage_a_calculer"), Range("liste_valeurs")) MsgBox AppelSomme End Function