mise a jour feuille avec excel des calcul d'une fonction

mise a jour feuille avec excel des calcul d'une fonction - VB/VBA/VBS - Programmation

Marsh Posté le 18-06-2008 à 18:04:03    

Je m'arrache les cheveux.
Voila mon pb. Pour faire simple j'ai un classeur avec deux onglets, un onglet de stockage de saisies et un autre ou se trouve le résultats de calculs d'une fonction vba. Par exemple dans la cellule A1 j'écris "=fonctionPerso(feuil1!A1)"
La saisie se fait par un userform.  
Une fois la saisie effectuée, le contenu du formulaire alimente sans problème le premier onglet. Pour être sûr (c'est ce que je croyais...) que les calculs se mettent bien à jour sur les second onglets, j'écrivais à la fin de la macro du bouton de validation du formulaire: Sheets("feuil2" ).calculate.
Et pourtant j'ai toujours l'ancienne valeur. Le pire c'est que si j'entre dans la cellule et que je tape "Enter", la valeur de met bien à jour.
Supposant du coup que le calcul se lancerait si l'une des cellules de l'onglet changeait j'ai essayé l'astuce suivante (tjs à la fin de la même macro):
Sheets("feuil2" ).range("A2" )="essai"
Sheets("feuil2" ).range("A2" )=""
Sheets("feuil2" ).calculate
Application.calculate    (pour bien vérouiller l'histoire pensais je....)

 
Quelqu'un peut-il m'aider?
 

Reply

Marsh Posté le 18-06-2008 à 18:04:03   

Reply

Marsh Posté le 18-06-2008 à 18:05:47    

J'oubliais de dire que l'astuce n'avait pas marché.... lol

Reply

Marsh Posté le 18-06-2008 à 23:34:52    

bonjour,
 
je ne sais pas si ca peut le faire mais essaye cette astuce
 
Sub test()
Dim cel As Range
Set r = Sheets("Feuil4" ).Range("A1:Z99" ) 'a toi de definir
For Each cel In r
SendKeys (ENTER)
Next cel
End Sub
 
et tiens moi au courant
 
et n'as tu pas un application.screenupdating=false qui traine quelque part
 
a+

Reply

Marsh Posté le 19-06-2008 à 02:56:31    

Salut,placer un

Application.Volatile = True


en tête de ta FonctionPerso
voir l'aide en ligne mais attention cependant aux effets pervers


Message édité par kiki29 le 19-06-2008 à 02:58:02
Reply

Marsh Posté le 20-06-2008 à 16:45:24    

merci kiki29 ça marche

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed