Rafraichir les fonction VBA

  • Initiateur de la discussion Initiateur de la discussion SylvainPG
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

SylvainPG

Guest
Salut le forum,

J'ai fait tout un fichier de calcul avec plusieur feuilles. Toutes mes formules sont sous vba.
Le problème c'est que suand je modifie une valeur de ma feuilles excel, les cellules en dépendant ne se modifie pas😡.Il faut que je clique sur la cellule et que revalide la formule avec l'icone "validation" juste a gauche de la zone ou on tape les formules excel. J'ai essayer cette manip' en faisant une macro, mais c'est impossible...

Merci de vos réponses!

A bientôt,

Sylvain
 
Re : Rafraichir les fonction VBA

Salut,

Si tous tes calculs sont réalisés par le VBA, comment les macros sont-elles activées ?

La fonction calculate me semble la solution pour faire recalculer la feuille aprés modification par les macros.
Worksheets(1).Calculate
 
Re : Rafraichir les fonction VBA

RE!

Je ne suis pas un pro de VBA, pour tout vous dire je n'y connais pas grand chose. Mes fonction permettent d'interpoler des valeurs par des fonction, que je réutilise après pour d'autres calcul (de stabilité naval).

Je rentre les configuration du navire dans les trois premières feuilles et dans la 4ème feuille, j'ai un tableau qui me calcule des valeurs et qui fait appel a des fonction vba.

Et lorsque je modifie les config du navire, ba les fonction vba ne se mettent pas a jour.

Est-ce que on peut parler de macro, je n'en sais rien...

Où se place application.volatile dans l'exemple suivant????

Function poids_cuve_condition(X As Double) As Double 'effectue la somme des poids des cuves de la condition X en tonnes

Dim i As Integer
Dim a As Double
Dim c As Double

c = 0
a = 0
With worksheets("capacity")

For i = 3 To 100
a = (.cells(i, 2)) * (.cells(i, 5))
With worksheets("chargement")
b = a * (.cells(i, (X + 1))) / 100
End With
c = c + b
Next i
If c <> 0 Then
poids_cuve_condition = c
Else: poids_cuve_condition = 1
End If
End With

End Function

Merci à vous!!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

I
Réponses
8
Affichages
2 K
Réponses
12
Affichages
1 K
A
Réponses
37
Affichages
4 K
asso78Lim
A
T
Réponses
2
Affichages
1 K
Tava94
T
G
Réponses
5
Affichages
1 K
Guillaume.Boulay
G
J
Réponses
13
Affichages
1 K
B
Réponses
4
Affichages
3 K
BOMBO
B
V
Réponses
12
Affichages
1 K
Villard17
V
Retour