OVH Cloud OVH Cloud

Fonction perso qui agit sur d'autre cellule

6 réponses
Avatar
FdeCourt
Hello,

Est-il possible cr=E9er une fonction qui alimente une autre cellule :

Function test()
Cells(1, 1).Value =3D x
End Function

Et je met dans une cellule quelconque =3Dtest()

Ca me renvoit une erreur, et j'aurais voulu savoir comment rendre la
chose possible.

Mon probl=E8me est que j'ai un classeur avec beaucoup de donn=E9es que je
doit nettoyer, analyser, etc.... pour cela, j'ai cr=E9er une fonction,
mais j'aurais voulu que sur l'=E9cran il y ai quelque chose qui bouge
pour indiquer =E0 l'utilisateur que son Excel n'a pas plant=E9, mais
qu'il calcul. (d'ou un % de calcul dans une des cellule d'entete qui
apparaisse toujours)

Merci

Bonne soir=E9e

6 réponses

Avatar
JB
Bonsoir,

Affichage d'une image par une fonction:

¯fichecache(B6;100;"gidel")

Function AfficheCache(nb, seuil, image)
If nb > seuil Then
ActiveSheet.Shapes(image).Visible = True
Else
ActiveSheet.Shapes(image).Visible = False
End If
AfficheCache = 0
End Function

http://cjoint.com/?liwaMfTDhl

JB



Hello,

Est-il possible créer une fonction qui alimente une autre cellule :

Function test()
Cells(1, 1).Value = x
End Function

Et je met dans une cellule quelconque =test()

Ca me renvoit une erreur, et j'aurais voulu savoir comment rendre la
chose possible.

Mon problème est que j'ai un classeur avec beaucoup de données que je
doit nettoyer, analyser, etc.... pour cela, j'ai créer une fonction,
mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté, mais
qu'il calcul. (d'ou un % de calcul dans une des cellule d'entete qui
apparaisse toujours)

Merci

Bonne soirée


Avatar
Ange Ounis
mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté


Il existe de nombreuses possibilités d'informer un utilisateur de la progression
d'un travail un peu longuet.
Quelques-unes de ces possibilités ici :

http://frederic.sigonneau.free.fr/exemples/BarresDeProgression.zip

ou encore :

http://www.excelabo.net/xl/tempo.php#barreprogress1
http://www.excelabo.net/xl/tempo.php#barreprogression
http://www.excelabo.net/xl/tempo.php#progressbarexcel

(par exemple!)

----------
Ange Ounis
----------

Hello,

Est-il possible créer une fonction qui alimente une autre cellule :

Function test()
Cells(1, 1).Value = x
End Function

Et je met dans une cellule quelconque =test()

Ca me renvoit une erreur, et j'aurais voulu savoir comment rendre la
chose possible.

Mon problème est que j'ai un classeur avec beaucoup de données que je
doit nettoyer, analyser, etc.... pour cela, j'ai créer une fonction,
mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté, mais
qu'il calcul. (d'ou un % de calcul dans une des cellule d'entete qui
apparaisse toujours)

Merci

Bonne soirée



Avatar
FdeCourt
Bonjour Ange Ounis,

Les barres de progression fonctionne bien bpour une macro, mais je n'ai
pas réussi à la faire fonctionner lors du calculs d'une fonction
perso.

Merci pour ton aide,


mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté


Il existe de nombreuses possibilités d'informer un utilisateur de la pr ogression
d'un travail un peu longuet.
Quelques-unes de ces possibilités ici :

http://frederic.sigonneau.free.fr/exemples/BarresDeProgression.zip

ou encore :

http://www.excelabo.net/xl/tempo.php#barreprogress1
http://www.excelabo.net/xl/tempo.php#barreprogression
http://www.excelabo.net/xl/tempo.php#progressbarexcel

(par exemple!)

----------
Ange Ounis
----------

Hello,

Est-il possible créer une fonction qui alimente une autre cellule :

Function test()
Cells(1, 1).Value = x
End Function

Et je met dans une cellule quelconque =test()

Ca me renvoit une erreur, et j'aurais voulu savoir comment rendre la
chose possible.

Mon problème est que j'ai un classeur avec beaucoup de données que je
doit nettoyer, analyser, etc.... pour cela, j'ai créer une fonction,
mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté, mais
qu'il calcul. (d'ou un % de calcul dans une des cellule d'entete qui
apparaisse toujours)

Merci

Bonne soirée





Avatar
Ange Ounis
Alain t'a déjà indiqué hier qu'une fonction, y compris perso en VBA, ne pouvait
pas faire autre chose que renvoyer un résultat. A quelques exceptions près qui
ne me paraissent pas pouvoir répondre à ta demande (comme envoyer un message par
une MsgBox).
Mon conseil, sauf meilleure idée d'un autre contributeur, serait donc que tu
adaptes ta demande à cette contrainte et que tu trouves une solution macro pour
obtenir le résultat souhaité.

----------
Ange Ounis
----------

Bonjour Ange Ounis,

Les barres de progression fonctionne bien bpour une macro, mais je n'ai
pas réussi à la faire fonctionner lors du calculs d'une fonction
perso.

Merci pour ton aide,


mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté


Il existe de nombreuses possibilités d'informer un utilisateur de la progression
d'un travail un peu longuet.
Quelques-unes de ces possibilités ici :

http://frederic.sigonneau.free.fr/exemples/BarresDeProgression.zip

ou encore :

http://www.excelabo.net/xl/tempo.php#barreprogress1
http://www.excelabo.net/xl/tempo.php#barreprogression
http://www.excelabo.net/xl/tempo.php#progressbarexcel

(par exemple!)

----------
Ange Ounis
----------

Hello,

Est-il possible créer une fonction qui alimente une autre cellule :

Function test()
Cells(1, 1).Value = x
End Function

Et je met dans une cellule quelconque =test()

Ca me renvoit une erreur, et j'aurais voulu savoir comment rendre la
chose possible.

Mon problème est que j'ai un classeur avec beaucoup de données que je
doit nettoyer, analyser, etc.... pour cela, j'ai créer une fonction,
mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté, mais
qu'il calcul. (d'ou un % de calcul dans une des cellule d'entete qui
apparaisse toujours)

Merci

Bonne soirée








Avatar
Ange Ounis
Alain t'a déjà indiqué hier qu'une fonction, y compris perso en VBA, ne
pouvait pas faire autre chose que renvoyer un résultat.


On parle là, bien sûr, d'une fonction VBA utilisée dans une feuille de calcul.
Utilisée dans un module de code, une fonction fait absolument la même chose
qu'une procédure et peut du reste être utilisée avec la même syntaxe.

Par ailleurs ta fonction exemple, telle que tu l'as écrite, ne peut de toute
façon rien faire dans la mesure où tu ne lui affectes aucun résultat.
Il vaudrait mieux :

Function test()
test(
End Function

De cette manière, si tu écris =test() dans une cellule, tu auras un résultat.
Par contre

Function test2()
Cells(1,1)(
test2(
End Function

va renvoyer une erreur, sauf à désactiver la ligne Cells(1,1)(.

----------
Ange Ounis
----------

Alain t'a déjà indiqué hier qu'une fonction, y compris perso en VBA, ne
pouvait pas faire autre chose que renvoyer un résultat. A quelques
exceptions près qui ne me paraissent pas pouvoir répondre à ta demande
(comme envoyer un message par une MsgBox).
Mon conseil, sauf meilleure idée d'un autre contributeur, serait donc
que tu adaptes ta demande à cette contrainte et que tu trouves une
solution macro pour obtenir le résultat souhaité.

----------
Ange Ounis
----------

Bonjour Ange Ounis,

Les barres de progression fonctionne bien bpour une macro, mais je n'ai
pas réussi à la faire fonctionner lors du calculs d'une fonction
perso.

Merci pour ton aide,


mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté


Il existe de nombreuses possibilités d'informer un utilisateur de la
progression
d'un travail un peu longuet.
Quelques-unes de ces possibilités ici :

http://frederic.sigonneau.free.fr/exemples/BarresDeProgression.zip

ou encore :

http://www.excelabo.net/xl/tempo.php#barreprogress1
http://www.excelabo.net/xl/tempo.php#barreprogression
http://www.excelabo.net/xl/tempo.php#progressbarexcel

(par exemple!)

----------
Ange Ounis
----------

Hello,

Est-il possible créer une fonction qui alimente une autre cellule :

Function test()
Cells(1, 1).Value = x
End Function

Et je met dans une cellule quelconque =test()

Ca me renvoit une erreur, et j'aurais voulu savoir comment rendre la
chose possible.

Mon problème est que j'ai un classeur avec beaucoup de données que je
doit nettoyer, analyser, etc.... pour cela, j'ai créer une fonction,
mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté, mais
qu'il calcul. (d'ou un % de calcul dans une des cellule d'entete qui
apparaisse toujours)

Merci

Bonne soirée










Avatar
FdeCourt
Hello Ange Ounis,

Affectivement, mon exemple n'était pas le meilleur.

Je vais trouver une solution macro pour m'adapter à cette contrainte.

Merci pour votre aide à tous.



Alain t'a déjà indiqué hier qu'une fonction, y compris perso en V BA, ne
pouvait pas faire autre chose que renvoyer un résultat.


On parle là, bien sûr, d'une fonction VBA utilisée dans une feuille de calcul.
Utilisée dans un module de code, une fonction fait absolument la même chose
qu'une procédure et peut du reste être utilisée avec la même synt axe.

Par ailleurs ta fonction exemple, telle que tu l'as écrite, ne peut de toute
façon rien faire dans la mesure où tu ne lui affectes aucun résulta t.
Il vaudrait mieux :

Function test()
test(
End Function

De cette manière, si tu écris =test() dans une cellule, tu auras un résultat.
Par contre

Function test2()
Cells(1,1)(
test2(
End Function

va renvoyer une erreur, sauf à désactiver la ligne Cells(1,1)(.

----------
Ange Ounis
----------

Alain t'a déjà indiqué hier qu'une fonction, y compris perso en V BA, ne
pouvait pas faire autre chose que renvoyer un résultat. A quelques
exceptions près qui ne me paraissent pas pouvoir répondre à ta de mande
(comme envoyer un message par une MsgBox).
Mon conseil, sauf meilleure idée d'un autre contributeur, serait donc
que tu adaptes ta demande à cette contrainte et que tu trouves une
solution macro pour obtenir le résultat souhaité.

----------
Ange Ounis
----------

Bonjour Ange Ounis,

Les barres de progression fonctionne bien bpour une macro, mais je n'ai
pas réussi à la faire fonctionner lors du calculs d'une fonction
perso.

Merci pour ton aide,


mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté


Il existe de nombreuses possibilités d'informer un utilisateur de la
progression
d'un travail un peu longuet.
Quelques-unes de ces possibilités ici :

http://frederic.sigonneau.free.fr/exemples/BarresDeProgression.zip

ou encore :

http://www.excelabo.net/xl/tempo.php#barreprogress1
http://www.excelabo.net/xl/tempo.php#barreprogression
http://www.excelabo.net/xl/tempo.php#progressbarexcel

(par exemple!)

----------
Ange Ounis
----------

Hello,

Est-il possible créer une fonction qui alimente une autre cellule :

Function test()
Cells(1, 1).Value = x
End Function

Et je met dans une cellule quelconque =test()

Ca me renvoit une erreur, et j'aurais voulu savoir comment rendre la
chose possible.

Mon problème est que j'ai un classeur avec beaucoup de données q ue je
doit nettoyer, analyser, etc.... pour cela, j'ai créer une fonctio n,
mais j'aurais voulu que sur l'écran il y ai quelque chose qui bouge
pour indiquer à l'utilisateur que son Excel n'a pas planté, mais
qu'il calcul. (d'ou un % de calcul dans une des cellule d'entete qui
apparaisse toujours)

Merci

Bonne soirée