Bloquer une macro une fois qu'elle a ete utilisee

Repokovski

XLDnaute Nouveau
Bonjour,

J'ai cree une macro qui me permet de convertir des montants en monnaie locale (CNY, VND, BTD) vers une monnaie unique (HK$ dans mon cas).
Cette macro est simple, un bouton divise tous les montants selectionnes par le currency factor correspondant a la monnaie (fixes en debut de mois par l'entreprise).
Le probleme est qu'une fois la conversion effectuee, on peut recliquer sur ce bouton autant de fois que l'on souhaite, ainsi cela divise mes montants encore et encore. Comme je ne serai pas le seul a consulter ce fichier, rien n'indique aux autres utilisateurs si la conversion a ete effectuee ou non.
Il faudrait de fait que ma macro devienne inactive lorsque la conversion a ete effectuee, ou bien qu'elle affiche un indicateur montrant que mes montants sont deja tous en HK$.

Si l'un d'entre vous a une idee, cela m'aiderait beaucoup,

merci

Bien cordialement

(dsl pour le clavier qwerty)
 

Hervé

XLDnaute Barbatruc
Re : Bloquer une macro une fois qu'elle a ete utilisee

salut

tu peux toujours mettre un indicateur dans une cellule masquée et tester cet indicateur au debut de ta macro

imaginons la cellule a1 comme cellule masqué, tu laisses vide avant le premier passage de ta macro puis tu teste en début de procédure :

if range("a1")<>"" then
exit sub
else
range("a1")="ok"
'le reste de ton code

salut
 

Pierrot93

XLDnaute Barbatruc
Re : Bloquer une macro une fois qu'elle a ete utilisee

Bonjour Repokovski, Hervé:)

une autre approche, rendre le bouton inactif et modifier sa propriété "caption", pour un bouton de la boite à outils controles, à placer en fin de procédure :
Code:
With CommandButton1
    .Enabled = False
    .Caption = "conversion déjà effectuée..."
End With

bonne journée
@+
 

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 019
dernier inscrit
BenKmc