Déclencher une macro lors d'un changement de valeur

Bonjour le forum!

Titre explicite, j'aimerai effectuer une macro (que j'ai pour base mais à modifier pour ma demande) lorsque la valeur d'une certaine cellule change.

Voila le problème, j'ai deux feuilles, une feuille "Sommaire" et une feuille "Feuille de Genres".

En colonne A de la feuille "Sommaire" j'ai une liste de titres et en colonne A de la feuille "Feuille de Genres" j'ai des références "=Sommaire!A..." pour avoir la même chose sans avoir à retaper manuellement.

Lorsque je change donc ma valeur en feuille "Sommaire" elle change également en feuille "Feuille de Genres".

C'est justement lors de ce changement de valeur que j'aimerai effectuer une macro UNIQUEMENT sur la ligne ou la valeur en colonne A a changé sur la feuille "Feuille de Genres".

Telle que ma macro est elle s'effectue sur TOUTES les lignes ou il y a une valeur en A et c'est très lourd comme actualisation quand on a plus de 700 titres donc... D’où l'envie de la modifier:

Sub Actualiserlesgenres()
On Error Resume Next
For Each Cel In Range("A18", Range("A18").End(xlDown))
        Cel.Offset(0, 1).Formula = "='" & Cel.Value & "'!H8"
        Cel.Offset(0, 2).Formula = "='" & Cel.Value & "'!H9"
        Cel.Offset(0, 3).Formula = "='" & Cel.Value & "'!J8"
        Cel.Offset(0, 4).Formula = "='" & Cel.Value & "'!J9"
        Cel.Offset(0, 5).Formula = "='" & Cel.Value & "'!L8"
        Cel.Offset(0, 6).Formula = "='" & Cel.Value & "'!L9"
        Cel.Offset(0, 7).Formula = "='" & Cel.Value & "'!N8"
        Cel.Offset(0, 8).Formula = "='" & Cel.Value & "'!N9"
        Next Cel
End Sub

Comme vous pouvez le voir c'est une macro qui me permet de créer des références aux feuilles qui portent le même nom que les titres en colonne A.

J'aimerai donc la modifier pour qu'elle s'effectue juste sur une ligne ou la valeur en A viens de changer (et ce peu importe le nombre de fois que la valeur en A changera).

Voici un fichier test pour les test (logique).

J'y ai mis des petites indications que vous retrouvez également dans ce message.

37test.xlsm (90.29 Ko)

J'ai essayé d'aborder ce problème d'une autre manière dans un sujet mais sans réponse ni succès en cherchant seul donc j'espère pouvoir obtenir de l'aide aujourd'hui et de cette manière

Sur ce bonne après-midi et à très vite!

Bonjour, petit up!

Bonjour

Un essai. Te convient-il ?

Bye!

71test-v1.xlsm (65.02 Ko)

Bonjour gmb, le forum!

Après test cela me parait fonctionner! Je viens seulement de trouver un petit bémol qui pourrait être amélioré.

Si cela ne te dérange pas je t'en parle, si tu te sens la possibilité d'arranger la chose tant mieux sinon tant pis je ferai avec.

Le soucis étant que je créer ma feuille après avoir inséré ma ligne et modifié le titre donc l'actualisation va bien se faire mais sans possibilité d'aller chercher les références car la feuille n'existera pas et cela m'ouvrira une fenêtre pour que j'importe la feuille manquante... Assez problématique vois tu.

Est-il possible de faire en sorte que si il n'y a pas de feuille portant le nom en colonne A et bien la macro ne s’exécute pas et que dès qu'il y aura une feuille portant ce nom et bien cela actualise la ligne concernée avec ce que tu m'a donné?

Voila, en tout cas merci mille fois pour ta solution!

A très vite j'espère et bon aprem.

Zayx a écrit :

Est-il possible de faire en sorte que si il n'y a pas de feuille portant le nom en colonne A et bien la macro ne s’exécute pas et que dès qu'il y aura une feuille portant ce nom et bien cela actualise la ligne concernée avec ce que tu m'a donné?

Un essai à tester.

Bye !

63test-v2.xlsm (66.68 Ko)

Re,

Alors j'ai essayé sur le classeur que tu m'a renvoyé.

La macro ne se lance effectivement pas lorsqu'il n'y a pas de feuille du nom du titre rentré en colonne A.

Cependant, une fois que je créer ma feuille du même nom, l'actualisation ne se fait pas...

Voici ma démarche lorsque je rajoute une série.

J'insère mes lignes sur mes feuilles via une macro.

Je change le titre en colonne A de la feuille Sommaire ce qui me change automatiquement les autres valeurs grâce aux "='Sommaire'!A..." .

Je créer ma feuille descriptive.

C'est donc au moment ou je créer ma feuille descriptive qu'il faudrait l'actualisation sans avoir à toucher a quoi que se soit (donc pas avoir a revalider la cellule en colonne A).

Peut être que j'utilise mal ce que tu m'a donné et si c'est le cas fais moi signe

En tout cas merci de t'être penché sur ce problème, a tout de suite merci encore!

Zayx a écrit :

C'est donc au moment ou je créer ma feuille descriptive qu'il faudrait l'actualisation sans avoir à toucher a quoi que se soit (donc pas avoir a revalider la cellule en colonne A).

Désolé, mais ça, je ne sais pas faire. Il n'y a pas, à ma connaissance, de macro événementielle qui se déclenche à la création d'une feuille.

Essai de modifier la séquence de ton mode opératoire.

Bye !

Hmmm. D'accord. Autre manière de faire sinon.

Ce que je ne comprend pas c'est que la création des références d'une feuille qui n'existe pas est faisable (même si sa m'ouvre des fenêtre pour importer la feuille). Alors pourquoi quand je créer une feuille qui correspond au nom dans les références et bien l'actualisation ne se fait pas?

Y a t-il un moyen d'actualiser ces cellule mais si c'est de manière manuel (via un bouton?)?

Y'a t-il également un moyen pour ne pas avoir ces fenêtre qui s'ouvre pour importer une feuille et ce même si la feuille n'existe pas?

Rechercher des sujets similaires à "declencher macro lors changement valeur"