calcul instantané sur vba

bernaroff

XLDnaute Junior
bon matin à tous et surtout aux lève-tôt qui sont déjà, comme moi, sur leur ordinateur !!

Petit problème de la matinée: existe-t-il une commande en vba qui permette de lancer un calcul dès qu'une des cellules sur laquelle porte le calcul est modifiée.

En gros faire ce que fait excel tout seul, mais sur vba ... (option de calcul -> automatique)

merci
bernaroff
 

bernaroff

XLDnaute Junior
Re : calcul instantané sur vba

ou bien si cela existe, est-il possible de faire un "parmi" sur excel sans passer par vba
exemple, j'inscrit une valeur dans une case, je la recherche dans un tableau et ça me retourne une possibilité de calcul.

(genre recherche la valeur 5 dans les cellules B15 à B19)
 

GeoTrouvePas

XLDnaute Impliqué
Re : calcul instantané sur vba

Bonjour,

Je pensais avoir compris ton problème avec ton premier message mais le deuxième sème un peu le doute.
Si je comprends bien, tu voudrais lancer une macro à chaque fois que certaines cellules changent de valeur ?

Le petit exemple suivant te permet d'exécuter une code à chaque fois que la cellule A1 est modifiée (à placer dans le module de la feuille concernée) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Cells(1, 1), Range(Target.Address)) Is Nothing Then
        'ton code
    End If
End Sub
 

bernaroff

XLDnaute Junior
Re : calcul instantané sur vba

en fait voila le genre de truc que je voudrais faire :

=RECHERCHEV(B116;G140:G145;SI(C117=H138;I140:I145;K140:K145);FAUX)

seulement je ne comprends pas trop comment ça marche la fonction recherchev
je recherche la valeur B116 dans la plage G140:G145, qui me retourne la valeur correspondante dans les plages I140:I145 si C117=H138 ou dans K140:K145 sinon, à valeur exacte...

si quelqu'un peut me donner un petit coup de main

Cdt
Bernaroff
 

bernaroff

XLDnaute Junior
Re : calcul instantané sur vba

coucou et merci à vous deux pour votre aide

voici le fichier que je dois améliorer:
si dans la case B116 il y a 7 et que dans C117 il y a entre 5001 et 20000 km, alors je doit faire B115*K143+K144/12
et ainsi de suite pour B116
Si en revanche j'ai moins de 5000 kms, il faut juste que ça me retourne B115*I143

je sais pas si c'est plus clair, mais je vois comment faire le calcul, seulement je ne sais pas comment aller chercher la valeur, la solution de GeoTrouvePas marche mais si je pouvais éviter une macro ...

en tout cas merci beaucoup
Bernaroff
 
Dernière édition:

bernaroff

XLDnaute Junior
Re : calcul instantané sur vba

re:

c'est bon j'ai fini par trouver une solution :
=RECHERCHEV(B116;G140:K145;SI(C117=H138;3;5);FAUX)*B115+SI(C117=J138;RECHERCHEV(B116;G140:L145;6;FAUX)/12;0)

c'est un peu mastoc mais je pense pas pouvoir faire mieux sans une macro

Merci
Bernaroff
 

Discussions similaires

Statistiques des forums

Discussions
312 459
Messages
2 088 582
Membres
103 885
dernier inscrit
xeps