Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mise à jour des calculs des fonctions

2 réponses
Avatar
Inkel
Bonjour,

J'utilise des fonctions dans mes feuilles. Mais lorsque je change une
des donn=E9es d'une cellule qui sert aux calculs, le r=E9sultat de la
fonction ne se met pas =E0 jour.
Cette fonction est utilis=E9e uniquement par une autre fonction, serait-
ce le probl=E8me ?

Function autobus(billet, region)

region =3D Sheets("Frais d=E9pl").Range("k8")

With Sheets("Frais")
r1 =3D .Range("B21")
r2 =3D .Range("B22")
r3 =3D .Range("B23")
P1 =3D .Range("e21")
P2 =3D .Range("e22")
P3 =3D .Range("e23")
End With

If billet =3D True Then

ElseIf region =3D r1 Then
autobus =3D P1

ElseIf region =3D r2 Then
autobus =3D P2

ElseIf region =3D r3 Then
autobus =3D P3

End If
End Function

2 réponses

Avatar
ChristianM
Et en ajoutant
Application.Volatile
en deuxième ligne

Function autobus(billet, region)

Application.Volatile
region = Sheets("Frais dépl").Range("k8")

With Sheets("Frais")
........
.......
--
ChristianM


"Inkel" a écrit dans le message de news:

Bonjour,

J'utilise des fonctions dans mes feuilles. Mais lorsque je change une
des données d'une cellule qui sert aux calculs, le résultat de la
fonction ne se met pas à jour.
Cette fonction est utilisée uniquement par une autre fonction, serait-
ce le problème ?

Function autobus(billet, region)

region = Sheets("Frais dépl").Range("k8")

With Sheets("Frais")
r1 = .Range("B21")
r2 = .Range("B22")
r3 = .Range("B23")
P1 = .Range("e21")
P2 = .Range("e22")
P3 = .Range("e23")
End With

If billet = True Then

ElseIf region = r1 Then
autobus = P1

ElseIf region = r2 Then
autobus = P2

ElseIf region = r3 Then
autobus = P3

End If
End Function
Avatar
Construk
Merci beaucoup ChristianM, c'est exactement ce que je cherchais. Ça me sera
utile à bien d'autres endroits.

Inkel

"ChristianM" a écrit :

Et en ajoutant
Application.Volatile
en deuxième ligne

Function autobus(billet, region)

Application.Volatile
region = Sheets("Frais dépl").Range("k8")

With Sheets("Frais")
.........
........
--
ChristianM


"Inkel" a écrit dans le message de news:

Bonjour,

J'utilise des fonctions dans mes feuilles. Mais lorsque je change une
des données d'une cellule qui sert aux calculs, le résultat de la
fonction ne se met pas à jour.
Cette fonction est utilisée uniquement par une autre fonction, serait-
ce le problème ?

Function autobus(billet, region)

region = Sheets("Frais dépl").Range("k8")

With Sheets("Frais")
r1 = .Range("B21")
r2 = .Range("B22")
r3 = .Range("B23")
P1 = .Range("e21")
P2 = .Range("e22")
P3 = .Range("e23")
End With

If billet = True Then

ElseIf region = r1 Then
autobus = P1

ElseIf region = r2 Then
autobus = P2

ElseIf region = r3 Then
autobus = P3

End If
End Function