Bouton permettant l'actualisation des formule dans la feuille de calcul

Bonjour,

Je vous explique j'ai un fichier Excel avec un tableau qui vien piocher des données dans un fichier Excel sur un autre répertoire, cet autre fichier est rempli quotidiennement et je voudrais que sur mon fichier avec mon tableau de synthèse il y ait un petit bouton qui permettrait à mes formules de pouvoir s'actualiser en cliquant dessus car le fichier Excel source est rempli quotidiennement.

Comme je ne suis pas très doué avec les macros et bouton je me tourne vers vous.

Merci de votre aide

Bonjour Hus, bonjour le forum,

Un petit fichier exemple (reprenant la structure de l'original) serait le bienvenu ainsi que le nom et le chemin complet des deux fichiers...

Merci de ta réponse,

j'ai fait un fichier simplifié, alors pour faire simple dans la colonne "KM théoriques" je mets la formule .

='\Users\xxx\desktop\dossier teste\[RQ__2021_02 L1 Xlsm]18'! $N$12

cela me permet de récupérer spécifiquement dans le fichier Excel désigné dans l'onglet 18 par exemple et la cellule N12 la valeur du km théorique dont j'ai besoin.

ce fichier source se situe en réalité sur les réseaux et tout le monde quotidiennement le remplis.

je voudrais que mon fichier après avoir entré toutes les formules dans la colonne "km théorique" puisse donc se mettre à jour au fur et à mesure que nous avançons dans le mois à l'aide d'un bouton piloté par macro qui actualisé tous les formules sur toute la feuille et entre donc la valeur de la formule.

Actuellement mon fichier récupère bien les données avec ma formule mais si je change la valeur dans le fichier source il faut obligatoirement que je clique sur ma formule dans la cellule puis que je fasse "entrer" pour l'actualiser.

c'est pour cela que je souhaite un bouton pour cliquer manuellement qui actualise toute la feuille.

désole du pavé et merci de ton attention.

26test.xlsx (12.02 Ko)

Bonjour à tous,

Ce n'est pas quelque chose que j'utilise en général mais il ne serait pas possible de cliquer sur actualiser les données (ou actualiser tout) à partir du volet "Données" ?

Cdlt,

bonjour,

j'ai essayé mais cela ne met pas à jour mes formule avec liaison dans un autre fichier excel dans le réseau.

Mince ! J'aurais essayé au moins... Je retourne me coucher alors

Il n'y a pas de mal merci quand même

Et vous avez essayé d'aller dans Fichier/Options avancées/Lors du calcul du calsseur/Mettre à jour les liaisons ?

je viens d'y aller et cette option est bien cochée, rien à faire je n'arrive pas à actualiser toute la feuille avec les formules et liaison, je pense la meilleure solution serait un bouton en Vba mais je ne suis pas assez doué dans ce domaine.

Est-ce que tu peux essayer ce code (en adaptant le chemin d'accès si besoin) :

sub test()

sfilename = environ("USERPROFILE") & "\desktop\dossier teste\RQ__2021_02 L1.xlsm"
if dir(sfilename, vbdirectory) <> "" then
    workbooks.open sfilename
    workbooks(sfilename).close true
else
    msgbox "fichier introuvable"
end if

end sub

Mais je pense qu'il doit y avoir plus simple.

Alors on est d'accord qu'il faut que je note ta macro dans la feuille ou se trouve mon tableau?

j'ai juste remplacer le chemin pour faire un test grandeur nature je n'ai pas touché à "Environ("USERPROFILE")" et tout le reste uniquement le chemin d'accès du fichier source, et il ne se passe rien, j'ai modifier la valeur du "KM théorique" dans mon fichier source puis je suis re aller dans mon fichier avec le tableau, changé d'onglet puis revenu au l'onglet du tableau et rien, le seul moyen c'est de cliqué sur la formule et faire "entrer" la elle se met à jour.

Je ne pense pas qu'il faut mettre dans la macro le chemin d'accès au fichier source car le mois suivant un nouveau fichier avec un nom diffèrent apparait etc..

c'est pour cela que j'avais pensé à un bouton sans se soucié du chemin d'accès puisque qu'il est dans ma formule.

Re,

Alors, déjà, il y a un petit problème dans le code de départ que je modifie :

sub test()

sfilename = environ("USERPROFILE") & "\desktop\dossier teste\RQ__2021_02 L1.xlsm"
if dir(sfilename) <> "" then
    workbooks.open sfilename
    workbooks(sfilename).close true
else
    msgbox "fichier introuvable"
end if

end sub

Il faut bien être attentif au nom du fichier. Cette macro doit se trouver dans le fichier exécutant, enfin tout fichier autre que celui à ouvrir. Le fichier à ouvrir doit être fermé.

Ensuite, je propose cette macro pour essai, nettement plus simple :

sub test2()
application.calculate
end sub

Sinon, est-ce que les autres formules s'actualisent correctement ? Ce serait bête d'être passé à côté d'un calcul en mode manuel...

Je ne connais pas bien les liaisons mais le changement de nom pourrait être une explication, cela pourrait créer une anomalie au niveau des liaisons.

Bonjour,

merci pour le 2 ème code mais je n'arrive pas à le faire marché rien à faire je suis obligé de cliquer sur la formule et appuyé entrer pour l'actualisé.

j'ai vu qu'il exister un code du type " refresh" peut-on mettre se code dans un bouton cliquable sur la feuille?

Bonjour,

Vous arrivez à faire fonctionner le premier code mais pas le second ?

Oui, mais "refresh" correspond à actualiser. Donc si vous avez essayé manuellement sans succès, ça ne marchera pas dans le code non plus.

Je propose ce mélange des 2 derniers codes :

sub test()

sfilename = environ("USERPROFILE") & "\desktop\dossier teste\RQ__2021_02 L1.xlsm" '<<<<
if dir(sfilename) <> "" then
    workbooks.open sfilename
    workbooks(sfilename).refreshall
    thisworkbook.refreshall
    application.calculate
    workbooks(sfilename).close true
else
    msgbox "fichier introuvable"
end if

end sub

Là, j'ai mis la totale. Vous devriez quand même regardez de près les options définies. Peut-être que les liaisons ne sont pas bien mises à jour à l'ouverture du fichier car l'autre étant fermé, il n'est en principe pas modifié et le recalcul n'est pas nécessaire (à moins qu'il y ait d'autres liaisons).

Alors je crois que je n'arrive pas à tout suivre je suis désolé je vais reprendre à zéro.

Donc je vous joins un fichier avec dans la colonne G "KM théorique" ligne 3 une formule.

cette formule est ='\\FRSFIL014997\Echanges\Commun\Rapports\Rapports d''exploitation\Rapports quotidiens d''exploitation\Rapport quotidien - Ligne 1\Rapport quotidiens\[RQ_2021_01_L1.xlsm]1'!$N$12

elle reprend dans un fichier commun une valeur dans un fichier Excel.

Donc si j'étends cette formule sur le mois de février par exemple, la colonne G n'aura plus de valeur à partir de la date d'aujourd'hui car elle n'est pas remplie dans le fichier commun.

Donc à chaque ouverture de mon fichier de synthèse j'ai la notification "mettre à jour qui apparaît" mais cela pose problème car avec ce fichier plus les mois passent plus j'aurais de fichier donc c'est embêtant de toujours choisir les fichiers à mettre à jour à chaque ouverture de fichier chaque jour.

Donc j'ai testé votre macro que j'ai copié coller dans la feuille data de mon fichier mais je ne sais pas comment l'activé rien ne se passe.

Le seul moyen que j'ai de mettre à jour s'est sois avec la notification d'excel à l'ouverture du fichier ou alors quand je clique sur la formule de la cellule puis tape entrer.

22test.xlsm (16.31 Ko)
je voudrais donc un moyen de mettre à jour les données en ayant mon fichier synthèse ouvert. par exemple j'ouvre le fichier de synthèse je clique sur un bouton pour venir tout mettre à jour si j'ai besoin de modifier dans le fichier commun je modifie puis la ferme et je reviens dans mon fichier synthèse et je clique sur le bouton actualisé.
Rechercher des sujets similaires à "bouton permettant actualisation formule feuille calcul"