mise a jour feuille avec excel des calcul d'une fonction - VB/VBA/VBS - Programmation
Marsh Posté le 18-06-2008 à 18:05:47
J'oubliais de dire que l'astuce n'avait pas marché.... lol
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+
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
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?