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

function et procedure

1 réponse
Avatar
jieme
bonjour,

j'essaie a partir d'une function d'appeler une sub qui m'ouvre une sheet
dans laquelle j'effectue une recherche par valeur cible et dont je voudrai
recuperer le resultat dans la function appelante..
ca parait simple mais j'avoue que je suis bloqué car je n'ai pas de message
d'erreur
je passe bien par la sub mais pas de creation de feuille....?

Function puisspipeecoul(Dint, debit, viscdynfluide, dens_gaz, temp_gaz)
blalbla...
blabla...
call ciblelambda(Dint, rugosite, reynolds)
titi=resultat....recuperation de resultat
End Function

Static Sub ciblelambda(Dint, rugosite, reynolds)
Sheets.Add
ActiveSheet.Name = "test"
blabla....utilisation de goalseek et calcul de resultat
blabla...
resultat=toto
End Sub

merci d'avance pour un petit coup de main et bon WE

1 réponse

Avatar
anonymousA
bonjour,

si la fonction est lancée à partir d'une sub donc dans une macro VBA,
elle fera exactement ce que tu veux.
Si par contre, la fonction est utilisée depuis une feuille ( comme une
fonction normale d'Excel en fait), alors elle exécutera tout ce qui est
de l'ordre d'appel à une sub (des calculs, des affichages, des messages,
etc...) mais ne changera rien à l'architecture du classeur ou de la
feuille ou des cellules qui les composent ni d'ailleurs à quoique ce
soit d'autre concernant des objets appartenant à la feuille ou au classeur.
C'est comme ca qu'agissent , par construction, les fonctions appelées
depuis les feuilles et il n'y a rien que tu puisses faire pour le changer.

A+

bonjour,

j'essaie a partir d'une function d'appeler une sub qui m'ouvre une sheet
dans laquelle j'effectue une recherche par valeur cible et dont je voudrai
recuperer le resultat dans la function appelante..
ca parait simple mais j'avoue que je suis bloqué car je n'ai pas de message
d'erreur
je passe bien par la sub mais pas de creation de feuille....?

Function puisspipeecoul(Dint, debit, viscdynfluide, dens_gaz, temp_gaz)
blalbla...
blabla...
call ciblelambda(Dint, rugosite, reynolds)
titi=resultat....recuperation de resultat
End Function

Static Sub ciblelambda(Dint, rugosite, reynolds)
Sheets.Add
ActiveSheet.Name = "test"
blabla....utilisation de goalseek et calcul de resultat
blabla...
resultat=toto
End Sub

merci d'avance pour un petit coup de main et bon WE