Calcul automatique sur la feuille active uniquement

Bonjour,

J'ai créé un classeur avec de nombreuses feuilles utilisant des formules matricielles. Concrètement, lorsque j'entre des valeurs sur la première feuille (feuille de saisie), les autres feuilles sont modifiées à la volée. Du fait du grand nombre de formules matricielles, il y a un temps de latence entre deux saisies qui devient vite gênant. J'ai donc paramétré Excel pour que le calcul ne soit pas Automatique mais Manuel.

Ça règle bien mon problème de lenteur. Mais maintenant, j'aimerai tout de même que les calculs soient automatiques sur la feuille de saisie.

J'ai trouvé ceci sur le net :

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Calculate
End Sub

Si j'ai bien compris, ça devrait activer le calcul automatique sur la feuille active seulement, mais ça ne marche pas. Il est possible que je n'ai pas recopié ces lignes au bon endroit... Pouvez-vous m'aider ?

Merci d'avance,

Crystaltof


Précision : je préférerais ne pas envoyer de fichier exemple pour des raisons de confidentialité (il s'agit de notes d'élèves). Et créer un exemple simplifié sans données confidentielles me prendrait pas mal de temps...

Bonjour,

Pour que le code soit actif, celui doit être copié dans la "fenêtre Code" de la feuille concernée dans le "VBAProject" du classeur concerné . Pour ce faire, il faut accéder à 'Visual Basic Editor'' par l'activation des touches Alt + F11.

Pour accompagnement visuel, ne pas hésiter à regarder les tutoriels disponibles dans ce blog.

Cordialement.

Cagouman

Merci pour ta réponse. Ok pour ouvrir vba avec alt f11, mais ensuite ? Je dois insérer un nouveau module ? Puis comment le valider ?

J'ai finalement créé un fichier exemple.

En feuille 1 : une liste de nombres et leur moyenne.

En feuille 2 et 3 : des nombres aléatoires fournis par alea().

J'ai mis le mode de calcul en manuel.

Quand je change une valeur en feuille 1, la moyenne n'est pas recalculée et les nombres aléatoires ne changent pas. Normal.

J'ai alors inséré le code ci-dessus dans un nouveau module vba. Mon espoir : que la moyenne soit recalculée à chaque changement de valeur en feuille 1, mais que les nombres aléatoires restent inchangés. Ce que j'observe : rien ne change, pas même la moyenne.

66test.xlsm (12.62 Ko)

Ci-joint un fichier nommé exemple, dans le quel est inscrit le code Vba dans la "feuill1".

A faire de même dans votre fichier à la feuille concernée.

Cordialement.


Ci-joint votre fichier nominal.

Cordialement.

312exemple.zip (9.27 Ko)
173test.xlsm (13.82 Ko)
Rechercher des sujets similaires à "calcul automatique feuille active uniquement"