VBA - Créer un bouton pour rafraîchir les calculs [Résolu/Fermé]

Signaler
Messages postés
23
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
4 octobre 2018
-
Enaxor18
Messages postés
23
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
4 octobre 2018
-
Hello tout le monde !

Je cherche à créer un bouton sur une feuille excel qui actualisera les calculs d'un groupe de cellules.

J'ai essayé le code suivant, mais certainement un peu bancal :

Private Sub Worksheet_Activate()
ThisWorkbook.RefreshAll
End Sub

En sachant, que je veux que ça n'actualise que les cellules B33:B40

Auriez-vous une idée ? :)

PS : je ne maîtrise pas vraiment le VBA... ^^

Merci par avance pour votre aide !!

Enaxor18

6 réponses

Messages postés
17006
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 janvier 2020
3757
Re,

j'ai supprimé un bouton et piloté l'ensemble avec un seul, j'ai rajouté une feuille qui doit impérativement se trouver avant la feuille Résumé dans la quelle j'ai copié les données de Septembre 2015, si tu clic sur le bouton tu verras que les données s'actualisent et si tu contrôles manuellement tu verras que les résultats correspondent.
En ce qui concerne les lignes dans l'ancien code précédées d'apostrophes, je t'ai bien dit que j'avais écrit plusieurs codes pour tester dont un avec Do While ce qui permet de voir le travail du code

http://www.cjoint.com/c/EJnnaqeHfLj
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 79851 internautes nous ont dit merci ce mois-ci

Enaxor18
Messages postés
23
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
4 octobre 2018

Re,

Ca marche !!!! Merci beaucoup pour ton aide ! ;)
  • saute au plafond* ^^


Enaxor18
Messages postés
17006
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 janvier 2020
3757
Bonjour,

il faudrait voir ce qu'il y a dans ces cellules B33:B40, si tu as des formules il faudra tout passer en VBA
le mieux serait d'avoir un bout de ton classeur anonymisé que tu peux joindre à partir de ce lien
http://www.cjoint.com/
Enaxor18
Messages postés
23
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
4 octobre 2018

Bonjour Mike-31,

Merci pour ta réponse ! Pour répondre à ta question, dans b33:b40, j'ai une macro qui fait la moyenne des premières feuilles selon un critère (A, B, C, D, E, F, G ou H).

Voici mon fichier :
http://www.cjoint.com/c/EJmiWBxzfme
Messages postés
17006
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 janvier 2020
3757
Re,

je regarde ton fichier, mais rien ne correspond à tes explications, je ne vois nulle part des données en b33:b40 mais seulement B4:B10 qui font bien des calculs avec une fonction personnalisée "moyfeuille"

d'après ce que je comprends, cette fonction personnalisée rapatrie bien les données des feuilles précédentes et tu voudrais remplacer cette fonction automatique par un rapatriement des données uniquement lorsque tu cliqueras sur le bouton, c'est bien cela !
Messages postés
23
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
4 octobre 2018

Re,

Oui désolé en anonymisant mon fichier j'ai supprimé les premières lignes...

Et oui, c'est bien cela, je souhaite un bouton qui rapatrie et actualise les calculs notamment quand je rajoute de nouveaux onglets avant le dernier :)

--
Messages postés
17006
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 janvier 2020
3757
Re,

excuse mes interventions par intermittence dues à des coupures de connexions causées par des travaux.

regarde ton fichier voir si c'est que tu cherches, j'ai écrit plusieurs codes pour les voir fonctionner, mais on les simplifiera et on les accélérera si c'est ce que tu cherches
pourquoi mettre deux boutons et ne pas actualiser les colonnes B et I avec un seul code et bouton

http://www.cjoint.com/c/EJniWYDsSlj
Enaxor18
Messages postés
23
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
4 octobre 2018

Re,

Pas de problème, merci beaucoup pour ton aide !
Oui c'est vrai qu'avec un seul bouton c'est plus simple ;)

Par contre quand je teste les macros en ajoutant un nouvel onglet (comme Octobre 2015), et que je clique sur les boutons, les boutons n'ont pas l'air de fonctionner. Ils se sélectionnent juste, comme par exemple pour changer leur taille, modifier le texte à l'intérieur.

Je ne sais pas si c'est normal... En sachant que j'ai bien activer l'option "Développeur".

As-tu une idée d'où vient le problème ?

En regardant le code de plus près, ça semble convenir (je pense, vu que je ne maîtrise pas très bien le VBA). Juste pour précision, le début de la première commande a deux apostrophes en trop sur les lignes de Range et Do While :

Private Sub CommandButton1_Click()
' Boucle sur les cellules colonne A jusqu'à cellule vide
'Range("A4").Select
'Do While ActiveCell <> ""

Je te remercie encore pour ton aide très précieuse !!! :D

Enaxor18
Messages postés
17006
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 janvier 2020
3757
Re,

par contre tes fonctions personnalisés dans les modules sont devenues inutiles, supprime les 3 modules pour éviter qu'ils n'entrent en conflit
Mon code est directement dans les propriétés du bouton, pour y accéder clic droit sur l'onglet de ta feuille Résumé/Visualiser le code
Enaxor18
Messages postés
23
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
4 octobre 2018

Re,

Ok je supprime somfeuille et moyfeuille ;)

Encore merci !