Démarrer une macro différentes en fonction de la cellule qui change

jo385

XLDnaute Nouveau
Salut à tous,

Je fais appelle à vous pour un petit problème de choix de macro à effectuer.
Le plus simple je pense est de vous coller le bout de code qui me pose problème :


Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("H181")) Is Nothing Then
blablabla macro1
End If

If Not Application.Intersect(Target, Range("E375")) Is Nothing Then
blablabla macro2
End If

End sub


Voilà donc la cellule H181 se modifie le programme entre bien dans la condition IF. Mais quand c'est E375 qui change alors le programme passe sur les deux conditions sans entrer dedans....

Quelqu'un aurait une idée pour solutionner le problème???
 

Pierrot93

XLDnaute Barbatruc
Re : Démarrer une macro différentes en fonction de la cellule qui change

Bonjour Jo

A tout hasard ta cellule E375 ne serait pas fusionnée avec une autre ? Sinon, comprends pas, le code me parait bon.

bon après midi
@+
 

Spitnolan08

XLDnaute Barbatruc
Re : Démarrer une macro différentes en fonction de la cellule qui change

Bonjour,

Sans avoir le fichier et sans savoir ce que font tes macros : mission impossible, car ton code semble bon...

Cordialement

Edit : Salut Pierrot:), désolé pour la collision
 

jo385

XLDnaute Nouveau
Re : Démarrer une macro différentes en fonction de la cellule qui change

Je n'arrive pas à réduire le fichier en dessous de la limite
Est il possible d'avoir une autre adresse pour te faire parvenir le fichier.
Merci
 

Spitnolan08

XLDnaute Barbatruc
Re : Démarrer une macro différentes en fonction de la cellule qui change

Re,

Tu ne nous a pas dit comment sont modifiées tes cellules... Le sont elles de la même façon ?

Par un utilisateur ?
Par une macro ?
Par un recalcul ?

L'événement Worksheet_Change se produit lorsque les cellules de la feuille de calcul sont modifiées par l'utilisateur ou par un lien externe, mais ne se produit pas lorsque les cellules sont modifiées par un recalcul.

Dans ce cas, il faut utiliser l'événement Calculate.

Pour joindre un fichier, il faut l'alléger au maxi en ne conservant que le minimum nécessaire à l'environnement du problème et le zipper.
Sinon, tu peux passer par c.joint.com mais ce n'est pas une bonne solution car le fichier n'a qu'une durée de vie limitée.

Cordialement
 

jo385

XLDnaute Nouveau
Re : Démarrer une macro différentes en fonction de la cellule qui change

Ouf c'est bon il me restait une image cachée qui allourdissait le fichier.
J'espère que le fichier reste compréhensible. J'ai allégé au maximum.

Les fonctions CP214 et CP214SAH me servent à créer à modifier les valeurs de ma liste en fonction de mon voltage. Dans la version envoyée le voltage ne peut aller que jusqu'à 4160 kV. Il n'y a pas de boutons pour lancer ces macro.

Ensuite le reste ca devrait marcher tout seul mais ca marche pas ... Snifff

Merci de ton aide
 

Pièces jointes

  • PFC.zip
    37.3 KB · Affichages: 28

Spitnolan08

XLDnaute Barbatruc
Re : Démarrer une macro différentes en fonction de la cellule qui change

Re,

La seconde condition fonctionne en changeant manuellement ta valeur en H181 (Donc mes questions du post précédent reste d'actualité) mais il manque un end if dans ton fichier...

Cordialement
 

jo385

XLDnaute Nouveau
Re : Démarrer une macro différentes en fonction de la cellule qui change

C'est bon Spitnolan08, je trouvé l'erreur. En fait je me suis trompé ce n'est pas E375 à tester pour le "change" mais plutôt H378. C'est en effet cette dernière qui vient être modifiée par la validation d'une valeur de ma liste.

En revanche, je suppose que "linked cell" comme c'est le cas pour E375 n'ai pas prise ne compte comme "change" de la page. Peut être que comme tu l'as dit dans ce cas c'est une "calculate" qu'il faut utiliser.

En tout cas merci de votre rapidité à tous les deux.

Je pense à bientôt car mon petit outil Excel est loin de toucher à sa fin...

Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 102
Membres
103 117
dernier inscrit
augustin.morille