Touche ARRÊT VBA

Bonjour,

Pour terminer mon fichier, je souhaite mettre une touche qui permettra de désactiver la totalité des programmes VBA et une autre touche qui permettra de tout réactiver.

j'ai besoin de votre aide s'il vous plait.

Merci,

Bonjour,

Je ne comprends pas très bien ce que tu veux... Tu n'as programmé que des évènements il me semble, si tu ne veux pas qu'ils se lancent tu les désactive !

J'ai vu aussi 6 Userforms identiques, ce qui en fait 5 de trop...

Cordialement.

Bonjour,

Oui, je suis débutant. et j'ai beaucoup de mal en Vba.

en fait, je dois les désactiver provisoirement parce qu'il ya des trucs (userform date) qui apparaissent partout chaque fois qu'on clic sur une cellule.

par moment c'est un peu embêtant. donc suivant les utilisateurs du fichier, la vba sera désactivée ou pas.

Merci,

La commande pour iniber les évènements est :

Application.EnableEvents = False

et True pour la rétablir.

Il faut donc que tu la mettes dans une procédure Workbook_Open, pour interrompre systématiquement les évènements à l'ouverture du classeur.

Puis une procédure associée à un bouton :

Sub Evènements()
    Static Ev As Boolean
    Ev = Not Ev
    Application.EnableEvents = Ev
End Sub

Au premier clic elle rétablira les évènements. Au suivant elle les supprimera, et ainsi dde suite alternativement à chaque clic.

Mais comme je l'ai dit pas mal d'autres choses seraient à reprendre !

Franchement Merci, ça fonctionne comme je le souhaite.

j'apprends bcp via ce site et c'est cool, merci les gars de votre disponibilité et de votre aide.

L’espoir renait enfin...

Du coup, je me pose une question:

Avec le fonctionnement actuel, est il possible d'autoriser juste certaines lignes de code à l'ouverture du fichier et désactiver d'autres provisoirement jusqu'à ce qu'elles soient toutes activées en cliquant sur le bouton "MACRO TOUCHE

ARRÊT / MARCHE" ?

Pour résumer:

à l'ouverture du fichier, juste une partie des codes est désactivée.

lorsqu'on appuie sur la touche "MACRO TOUCHE

ARRÊT / MARCHE" toute la macro fonctionne de nouveau.

Et lorsqu'on ra-appuie de nouveau sur cette touche "MACRO TOUCHE

ARRÊT / MARCHE" les lignes qui étaient désactivées à l'ouverture du fichier sont les seules à se désactiver de nouveau.

C'est pour éviter le tout ou rien et pour un plus grand confort d'utilisation.

Les macros que je souhaite voir désactivés sont surtout le calendrier et les 6 userforms

Merci.

Bonjour,

Change un peu ton module1 en :

Public Ev As Boolean

Sub Evènements()
        Ev = Not Ev
End Sub

et n'importe où ailleurs :

  ' code exécuté tout le temps
   ' blablabla
    If Ev Then
       ' code exécuté si Ev=True
       ' blablabla
    End If
  ' code exécuté tout le temps
   ' blablabla

Tu peux aussi utiliser un bouton à bascule dont l'état on/off est plus visible.

eric

eriiic a écrit :

Bonjour,

Change un peu ton module1 en :

Public Ev As Boolean

Sub Evènements()
        Ev = Not Ev
End Sub

et n'importe où ailleurs :

  ' code exécuté tout le temps
   ' blablabla
    If Ev Then
       ' code exécuté si Ev=True
       ' blablabla
    End If
  ' code exécuté tout le temps
   ' blablabla

Tu peux aussi utiliser un bouton à bascule dont l'état on/off est plus visible.

eric

Bonjour Eric,

Ok pour le module 1 ci-dessous.

Public Ev As Boolean

Sub Evènements()

Ev = Not Ev

End Sub

Mais pour le code en dessous, j'ai tout essayé mais il ne se passe rien. soit j'ai rien compris, soit je fais mal, (mais je pense que c'est les deux) lol :

et n'importe où ailleurs :

[code=vb] ' code exécuté tout le temps

' blablabla

If Ev Then

' code exécuté si Ev=True

' blablabla

End If

' code exécuté tout le temps

Réexpliquez le moi encore svp je ressayerai. mais si c'est trop compliqué, je garderai la première solution.

Ben oui il ne fait rien, c'est un exemple de test à faire ensuite.

C'est toi qui sait quelles lignes de codes tu veux exécuter optionnellement.

Avant ces lignes tu mets : If Ev Then

et tu refermes à la fin avec un endif.

A l'ouverture du fichier Ev=False donc elles ne seront pas exécutées. Elles le seront lorsque le clic qui fera basculer Ev de False à True.

Et ainsi de suite.

C'est plus clair ?

Rechercher des sujets similaires à "touche arret vba"