IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

interdire le changement d'onglet sans avoir executer une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    responsable formation
    Inscrit en
    Février 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : responsable formation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 33
    Points : 22
    Points
    22
    Par défaut interdire le changement d'onglet sans avoir executer une macro
    bonsoir,

    Je prends gout à votre site et surtout aux réponses.
    J'y ai trouvé une macro pour ne pas pouvoir quitter une feuille sans avoir saisi une cellule, mais comment faire pour ce cette macro ne s'exécute dans des onglets portant tous un nom commençant par client (car ce blocage se fait aussi sur d'autre onglet de reporting )
    Est il aussi possible de ne pas pouvoir passer à un autre onglet clientxx sans avoir exécuter une macro (qui copie des données dans un autre onglet récapvente) et qui s'effectue en cliquant sur un gros bouton ?

    Merci d'avance pour vos judicieuses réponses.

    Cordialement

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 764
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Puisque tu n'affiches pas la procédure que tu as trouvée, on suppose qu'il s'agit de la procédure événementielle Worksheet_Deactivate et bien à la place de cette procédure, tu utilises la procédure

    Exemple 1 pour exécuter une procédure en quittant la feuille dont le nom comment par Client
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
     With Sh
      If Left(LCase(Trim(.Name)), 6) = "client" Then
       ' Code de la procédure
       MsgBox "Procédure"
      End If
     End With
    End Sub
    Exemple 2 On lance une procédure mais à condition que la cellule A1 de la feuille que l'on a quittée soit rouge. Sinon on réactive cette feuille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
     With Sh
      If Left(LCase(Trim(.Name)), 6) = "client" Then
       If .Range("A1").Interior.Color <> vbRed Then
        MsgBox "La cellule A1 n'est pas rouge"
        .Activate: Exit Sub
       End If
       ' Code de la procédure
       MsgBox "Lancement de la procédure"
       '
       End If
     End With
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    La barre de défilement qui te permet de naviguer dans la page Excel, tu la fait glisser devant le nom des onglet.

    Je suppose qu'il est possible de l verrouiller mais là???

  4. #4
    Membre à l'essai
    Homme Profil pro
    responsable formation
    Inscrit en
    Février 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : responsable formation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Bonjour et merci à tous les deux

    Bonne journée

  5. #5
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWindow.DisplayWorkbookTabs = False

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/08/2011, 12h45
  2. Réponses: 2
    Dernier message: 05/04/2011, 22h34
  3. Réponses: 10
    Dernier message: 11/01/2011, 16h43
  4. [OpenOffice][Texte] executer une macro dans fichier odt sans ouvrir celui-ci
    Par cpf2006 dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 06/12/2010, 11h32
  5. Interdire le changement d'onglet
    Par Muabdiba dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/09/2010, 14h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo