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

fonction VBA

9 réponses
Avatar
michel ou sam
Bonjour,
je me lance dans les fonctions en VBA

J'ai fait une Public Function dans le module1 qui prend en charge la valeur
de 2 cellules sources .
Public Function Casemaine(ligne As Integer, colonne As Integer)
Dans la fonction, les 2 variables précisent l'adresse d'une autre cellule
qui contient un montant.
La fonction utilise ce montant pour me renvoyer une moyenne.

Cette fonction fonctionne quand je valide, par contre si par la suite, les
données de la cellule indexée change, le résultat ne change pas, qu'est ce
que j'ai raté ?

Michel
Excel 2003

9 réponses

Avatar
Jacky
Bonsoir,

Aa-tu mis
Application.Volatile
Au début ?
--
Salutations
JJ


"michel ou sam" a écrit dans le message de news:
4d45a632$0$32456$

Bonjour,
je me lance dans les fonctions en VBA

J'ai fait une Public Function dans le module1 qui prend en charge la valeur de 2 cellules sources .
Public Function Casemaine(ligne As Integer, colonne As Integer)
Dans la fonction, les 2 variables précisent l'adresse d'une autre cellule qui contient un montant.
La fonction utilise ce montant pour me renvoyer une moyenne.

Cette fonction fonctionne quand je valide, par contre si par la suite, les données de la cellule indexée
change, le résultat ne change pas, qu'est ce que j'ai raté ?

Michel
Excel 2003

Avatar
michel ou sam
Bonsoir Jacky,
j'ai mis Application Volatile au début il y a 5 mn

et depuis 5 mn ça fonctionne.

Merci
Michel

"Jacky" a écrit dans le message de news:
ii49n0$d74$
Bonsoir,

Aa-tu mis
Application.Volatile
Au début ?
--
Salutations
JJ


"michel ou sam" a écrit dans le message de news:
4d45a632$0$32456$

Bonjour,
je me lance dans les fonctions en VBA

J'ai fait une Public Function dans le module1 qui prend en charge la
valeur de 2 cellules sources .
Public Function Casemaine(ligne As Integer, colonne As Integer)
Dans la fonction, les 2 variables précisent l'adresse d'une autre cellule
qui contient un montant.
La fonction utilise ce montant pour me renvoyer une moyenne.

Cette fonction fonctionne quand je valide, par contre si par la suite,
les données de la cellule indexée change, le résultat ne change pas,
qu'est ce que j'ai raté ?

Michel
Excel 2003





Avatar
Jacky
Et ben.......;o)

Bon courage

--
Salutations
JJ


"michel ou sam" a écrit dans le message de news:
4d45ae4a$0$5415$

Bonsoir Jacky,
j'ai mis Application Volatile au début il y a 5 mn

et depuis 5 mn ça fonctionne.

Merci
Michel

"Jacky" a écrit dans le message de news: ii49n0$d74$
Bonsoir,

Aa-tu mis
Application.Volatile
Au début ?
--
Salutations
JJ


"michel ou sam" a écrit dans le message de news:
4d45a632$0$32456$

Bonjour,
je me lance dans les fonctions en VBA

J'ai fait une Public Function dans le module1 qui prend en charge la valeur de 2 cellules sources .
Public Function Casemaine(ligne As Integer, colonne As Integer)
Dans la fonction, les 2 variables précisent l'adresse d'une autre cellule qui contient un montant.
La fonction utilise ce montant pour me renvoyer une moyenne.

Cette fonction fonctionne quand je valide, par contre si par la suite, les données de la cellule indexée
change, le résultat ne change pas, qu'est ce que j'ai raté ?

Michel
Excel 2003









Avatar
michdenis
Bonjour,

Tu as trouvé une solution à ton problème. Bravo !

Dans une fonction devant être utilisée dans une feuille de calcul,
il est souvent préférable de passer en paramètre un objet "Range"
en paramètre.

À partir de cette variable, tu peux déduire toutes les caractéristiques
que ce type d'objet possède...

Et au lieu d'utiliser "Application.volatile", la fonction se met à jour seulement
lorsque la valeur du range est modifiée. Ça diminue le temps de traitement si
cette fonction est utilisée abondamment dans un classeur.


MichD
--------------------------------------------
Avatar
michel ou sam
Bonjour MichD,
ce ne sont pas les paramètres passés qui changent mais le contenu de la
cellule(paramètre, paramètre)

La fonction est dans le fichier que je viens d'envoyer à Lionel "A LA
SEMAINE"
http://www.cijoint.fr/cjlink.php?file=cj201101/cij7D4Bu2V.xls
Je crois que j'y ai laissé la macro qui m'a permis d'avancer dans la
recherche de cette fonction.

N'hésite pas à passer derrière moi pour modifier ou proposer une autre façon
de faire.

merci
Michel

"michdenis" a écrit dans le message de news:
ii4jl7$k0b$
Bonjour,

Tu as trouvé une solution à ton problème. Bravo !

Dans une fonction devant être utilisée dans une feuille de calcul,
il est souvent préférable de passer en paramètre un objet "Range"
en paramètre.

À partir de cette variable, tu peux déduire toutes les caractéristiques
que ce type d'objet possède...

Et au lieu d'utiliser "Application.volatile", la fonction se met à jour
seulement
lorsque la valeur du range est modifiée. Ça diminue le temps de traitement
si
cette fonction est utilisée abondamment dans un classeur.


MichD
--------------------------------------------

Avatar
michdenis
Bonjour,

| N'hésite pas à passer derrière moi pour modifier
| ou proposer une autre façon de faire.

Quand tout roule, il ne faut plus toucher à rien !
;-)


MichD
--------------------------------------------
Avatar
DanielCo
Bonjour,

N'hésite pas à passer derrière moi pour modifier
ou proposer une autre façon de faire.



Quand tout roule, il ne faut plus toucher à rien !
;-)


MichD
--------------------------------------------



Bonjour,
Ca dépend :
***
Comprehending Engineers:
...
"Normal people believe that if it ain't broke, don't fix it.
Engineers believe that if it ain't broke, it doesn't have enough
features yet."
***
Daniel
Avatar
michdenis
|Comprehending Engineers:
|...
|"Normal people believe that if it ain't broke, don't fix it.
|Engineers believe that if it ain't broke, it doesn't have
|enough features yet."

Si on te paie pour apporter des améliorations, le problème
ce ne sont pas les améliorations, mais comment arriver à justifier
tes honoraires...à devenir un service indispensable à une organisation...
Avatar
DanielCo
Comprehending Engineers:
...
"Normal people believe that if it ain't broke, don't fix it.
Engineers believe that if it ain't broke, it doesn't have
enough features yet."



Si on te paie pour apporter des améliorations, le problème
ce ne sont pas les améliorations, mais comment arriver à justifier
tes honoraires...à devenir un service indispensable à une organisation...



;-)