Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1691 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  probleme avec worksheet_calculate

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme avec worksheet_calculate

n°1904033
novice752
Posté le 09-07-2009 à 13:20:23  profilanswer
 

Bonjour
 
Je ne suis pas un expert en vba et jai un probleme avec l’utilisation de la function worksheet_calculate()
J’ai une feuille de calcul qui comporte des cellules A1, A2, A3, etc qui sont en fait des drop-downs menus. Suivant la valeur selectionnee, je voudrais que les action1, action2, action3, etc correspondantes soient executees.  
 
Apres avoir essaye dutiliser la fonction Worksheeet_change() – qui na pas l’air de fonctionner avec des menus deroulants – jutilise la fonction Worksheet_calculate enregistree dans feuille1 ainsi :  
 
Private Sub Worksheet_calculate()
 
If A1 = X Then
Do Action1…
End If
 
If A2 = Y Then
Do Action2…
Msgbox(“Action 2 realisee”)
End If
 
If A3 = Z Then
Do Action3…
Msgbox(“Action 3 realisee”)
End If
 
End Sub
 
Le probleme que je rencontre est que si je change la valeur de la cellule A1 en une valeur differente de X et que A2=Y, A3=Z, Action1 ne sera pas lancee (ce qui est normal) mais Action2 et Action3 seront lancees alors que je voudrais que ces actions ne soient lancees QUE si je CHANGE leurs valeurs. Y a-t-il un moyen de faire ca simplement ?
L’autre pb que je rencontre est que les msgbox « Action2 realisee » et « Action3 realisee » saffichent 2 fois ?!
Merci beaucoup pour votre aide !!

mood
Publicité
Posté le 09-07-2009 à 13:20:23  profilanswer
 

n°1904564
galopin01
Posté le 11-07-2009 à 07:31:14  profilanswer
 

Bonjour,
Les macros évènementielles sont délicates à manier. De plus elles ont une facheuse tendance à s'appeler elles-même...
Calculate n'est sans doute pas l'idéal. Tu peux essayer quelques chose comme ça :

Code :
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. r$ = Target
  3. s$ = Target.Address(0, 0)
  4. Select Case s
  5. Case "A1"
  6.   If Range(s) = "A" Then
  7.       'Action1...
  8.       MsgBox r
  9.   End If
  10.   If Range(s) = "B" Then
  11.       'Action1...
  12.       MsgBox r
  13.   End If
  14.   If Range(s) = "C" Then MsgBox r
  15.   If Range(s) = "D" Then MsgBox r
  16. Case "A2"
  17.   If Range(s) = "E" Then MsgBox r
  18.   If Range(s) = "F" Then MsgBox r
  19.   If Range(s) = "G" Then MsgBox r
  20.   If Range(s) = "H" Then MsgBox r
  21. End Select
  22. End Sub


Toutefois le résultat dépendra grandement de ce que tu mets dans Action1, Action2...
A+

n°1905230
novice752
Posté le 15-07-2009 à 11:15:44  profilanswer
 

Merci beaucoup pour ton aide...Je vais essayer!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  probleme avec worksheet_calculate

 

Sujets relatifs
problème scrollView cocoaProblème avec variable php
Probleme pour installer un livre d'orprobleme de communication série
PL/SQL : Problème d'apostophes dans génération de liste de valeursproblème de jointure dans ma requette
[java] Problème d'optimisation de traitements batchProblème rafraichissement JTable
[RESOLU] Problème de vérouillage dans ma feuille excel[OK] problème d'éxécution du PHP sur mon serveur apache (sous centos)
Plus de sujets relatifs à : probleme avec worksheet_calculate


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR