Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Bouton recalculate via VBA pour recalculer plusieurs cellules sur plusieurs feuilles

Frozzy

XLDnaute Nouveau
Bonjour,

Avant toute chose, je tiens à m'excuser de ne pas tout savoir, même certaines base d'excel et c'est en partie pourquoi je suis là aujourd'hui.

J'ai commencé récemment mon alternance en tant que Contrôleur de Gestion et mon tuteur m'a donc confié une mission à réaliser sur Excel pour m'habituer.

Je travaille actuellement sur une ScoreCard (reporting) pour les responsables Grands Comptes de ma boîte et j'ai plusieurs formules sur mon tableau (sur feuille nommée ScoreCard) ainsi qu'une autre formule sur une autre feuille (nommée Paramètres).

Je ne connais rien de VBA et c'est pour cela que j'aurais aimé savoir s'il y a possibilité d'insérer un bouton sur la feuille "Paramètres" pour que lorsque je sélectionne donc mes paramètres (nom du client, mois et année), toutes les formules selectionnées des différentes feuilles se recalculent et qu'en plus me renvoie sur la feuille "ScoreCard".

En bref, je ne veux qu'un seul bouton sur la feuille "Paramètres" pour qu'il recalcule à la fois une cellule de la même feuille ET certaines cellules de la feuille "ScoreCard".

Merci d'avance !
 

Pièces jointes

  • 1.PNG
    81.7 KB · Affichages: 19
  • 2.PNG
    113.2 KB · Affichages: 19
Solution
Bonjour Frozzy, Vgendron,
je trouve aussi que dans ce cas, c'est un bon exercice pour me familiariser avec et tout simplement pour mieux comprendre comment cela fonctionne.
Alors allons y ! Voir PJ.
Vous faites ALT+F11 pour accéder à l'interface VBA.
Vous avez :
VB:
Sub AllerSurScorecard()
    Calculate                   ' Recalcule toutes les feuilles
    Sheets("Scorecard").Select  ' Affiche la feuille demandée
End Sub
Sub AllerSurParamètres()
    Calculate
    Sheets("Paramètres").Select
End Sub
A noter qu'un Calculate recalcule l'ensemble des feuilles.
Une macro commence toujours par Sub XXX() et finit toujours par End Sub.
Puis sur la feuille vous insérez une forme quelconque, ou même une image.
Vous faites clic...

vgendron

XLDnaute Barbatruc
Bonjour et bienvenu

pour recalculer, il y a une option Excel qui consiste à spécifier si le mode est Automatique (tout se recalcule dès qu'une cellule change), au Manuel (tout se recalcule quand tu le demandes (avec la touche F9)

c'est une case à cocher dans les options excel
(il arrive qu'excel repasse cette option à Manuel, lorsqu'il y a beaucoup de formules..
donc faire un bouton juste pour remplacer la touche F9: c'est peu utile

par contre, si tu souhaites aussi filtrer, copier coller, ou toute autre opération, une macro est peut etre utile (peut etre dans le sens ou bien souvent des fonctionnalités excel sont ignorées ou peu exploitées: vu que tu sembles débutant, c'est sans doute le cas)
==> il faudrait donc dans ce cas, fournir un fichier exemple (Données perso et/ou confidentielles remplacées par des données bidon) et expliquer le plus clairement possible ce que tu souhaites obtenir.
(des images ne servent à rien puisqu'inexploitables)
 

Frozzy

XLDnaute Nouveau
Merci pour la rapidité !

Je suis déjà en "manuel" car le fichier excel est déjà lourd et bourré de formules donc je n'ai pas envie qu'à chaque fois que je sélectionne un client il recalcule, en sachant qu'il faut aussi que je choisisse le mois ainsi que l'année.

Vous en savez beaucoup plus que moi et donc vous devez vous demander pourquoi est-ce que je m'entête à vouloir utiliser VBA. La réponse est simple : mon tuteur l'utilise (pas un pro mais l'utilise de temps à autre) et je trouve aussi que dans ce cas, c'est un bon exercice pour me familiariser avec et tout simplement pour mieux comprendre comment cela fonctionne.

Pour ce qui est des macros, je ne pense pas en avoir besoin pour le moment et je n'ai pas réellement compris ce que tu voulais dire. Aussi, si je voulais fournir les documents excel en question avec des données bidons, quelle serait la méthode la plus simple et rapide pour justement falsifier ces données ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Frozzy, Vgendron,
je trouve aussi que dans ce cas, c'est un bon exercice pour me familiariser avec et tout simplement pour mieux comprendre comment cela fonctionne.
Alors allons y ! Voir PJ.
Vous faites ALT+F11 pour accéder à l'interface VBA.
Vous avez :
VB:
Sub AllerSurScorecard()
    Calculate                   ' Recalcule toutes les feuilles
    Sheets("Scorecard").Select  ' Affiche la feuille demandée
End Sub
Sub AllerSurParamètres()
    Calculate
    Sheets("Paramètres").Select
End Sub
A noter qu'un Calculate recalcule l'ensemble des feuilles.
Une macro commence toujours par Sub XXX() et finit toujours par End Sub.
Puis sur la feuille vous insérez une forme quelconque, ou même une image.
Vous faites clic droit sur cette forme et "Affecter une macro". Vous choisissez une macro et faites OK.
Dorénavant quand vous cliquerez sur cette forme vous exécuterez la macro demandée.
 

Pièces jointes

  • Classeur2.xlsm
    18.8 KB · Affichages: 4

vgendron

XLDnaute Barbatruc
VBA et Macro.. c'est pareil...
Macro = macroprogramme qui permet d'effectuer des manipulations sur ton fichier
VBA = langage de programmation de ces macros.

pour ton fichier.. le plus simple serait de le vider, et ne remplir que quelqes lignes de données
par données personnelles, on entend 'Nom prénom, adresse, numéro de tel, sécu....)
données confidentielles: ce qui pourrait donner des infos stratégiques sur ta boite: CA, projections, Couts de fabrication, couts de revient... tout ce qui pourrait mettre ta boite en difficulté face à la concurrence par exemple..

s'il y a beaucoup de formules, ce qui alourdit ton fichier. peut etre que justement il y a de nombreuses simplifications/optimisation possibles
 

Frozzy

XLDnaute Nouveau
Encore merci à tous les deux d'avoir pris le temps de me répondre. Vous m'avez bien aidé à mieux comprendre le système de macros.

J'ai fait en tout 4 macros dans un même module :
Macro 1 : Permets d'actualiser le nom du mois
Macro 2 : Permets de recalculer les formules de la ScoreCard
Macro 3 : Permets d'afficher la ScoreCard
Macro 4 : Permets de lancer les macros précédentes dans cet ordre

Je vous épargne le code puisque de toute façon vous devriez connaître et elles sont très simplistes et courtes.

Je ne sais pour quelle raison mais la macro que sylvanu m'a proposé ne fonctionne pas tout à fait : elle m'affiche constamment un message d'erreur mais je ne pense pas que ce soit un problème de la macro en elle-même mais simplement dû au fait que le fichier soit volumineux. Je suis arrivé à cette conclusion car lorsque je fais la macro composée de 3 macros, du fait qu'elle soit séquentielle, je pense qu'il est plus facile pour Excel/le PC de calculer.

En tout cas, de mon côté tout fonctionne. Je voulais donc vous remercier encore une fois.
Je ne sais pas si je dois clôturer le thread et si oui, comment ? (ouai je suis une brele)
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…