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 :

Activation/Desactivation de bouton au chargement d'Excel [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 20
    Points
    20
    Par défaut Activation/Desactivation de bouton au chargement d'Excel
    Bonjour.

    Voilà mon problème.

    Je voudrai faire en sorte que selon le fichier Excel ouvert, on ne puisse pas activer certains boutons d'un onglet que j'ai crée (via le Ruban personnalisé), utilisant des macro que j'ai aussi crée.
    Car si on active un bouton et que l'on est pas dans la bonne feuille, cela fait planter Excel.

    Je voudrais donc pouvoir vérifier la feuille activé au chargement d'excel, et que les boutons de mon onglet sois activable ou non selon la feuille active.

    Si vous pouviez me répondre,je vous en serais reconnaissant, car je bloque un peu la :s

    Merci

  2. #2
    Membre actif Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 259
    Points
    259
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Ton_Bouton.Enable=False
    Le rend actionable ou pas (grisé)

  3. #3
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Alors première chose, il faudrait faire une vérification au début de ta macro pour savoir si tu es dans le bon onglet, ça évitera les plantages.

    Pour la question de la barre d'outils, tu peux très bien la créer ou la rendre visible dans le worksheet_activate et la cacher dans le worksheet_deactivate.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 20
    Points
    20
    Par défaut
    CODYCO-->J'y avais meme pas pensé...Merci

    ZebreLoup--->Le truc c'est que si je vérifie au début de ma macro, ça ne sert à rien alors que je le grise car il devra d'abord cliquer sur le bouton pour vérifier si c'est la bonne page, pour ensuite le grisé.
    Ce que je voudrais faire c'est que ça vérifie au lancement d'excel, et selon la feuille charger, ça active ou non les boutons.

    Je prend un exemple:
    J'ai 8 feuilles, qui sont des Devis.Toutes ces feuilles peuvent utiliser le bouton "Maj".
    J'ai 3 autres feuilles dans le même classeur, mais qui ne sont pas des Devis, et donc ne peuvent pas utiliser le bouton "Maj".

    Il faut que je vérifie constamment quel est la feuille active, afin de savoir si j'active ou non le bouton et ça je ne sais pas comment faire.

  5. #5
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Si ton classeur est figé, tu peux justement activer le bouton dans les évènements Worksheet_Activate des 8 feuilles de devis et le désactiver dans le même évènement des autres feuilles. Si ton nombre de feuille est amené à grossir, je pense qu'il vaut mieux faire la vérification dans la macro avec un moyen d'identifier les feuilles devis (par leurs noms ou autre).

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 20
    Points
    20
    Par défaut
    Effectivement le classeur n'est plus amener à recevoir de nouvelles feuilles.

    Je test ça de suite et éditerai ce message

    Merci pour ton aide.

  7. #7
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    J'y pense, plutôt que d'ajouter une procédure dans chaque feuille, il y a l'évènement SheetActivate de l'objet Workbook qui est sans doute plus simple à implémenter dans ton cas.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 20
    Points
    20
    Par défaut
    Euh...Si tu le dis je veux bien te croire^^"

    Mais comment tu l'utilises et ou?
    Car si je doit faire ça sur toute les feuilles et tout les classeurs ^^"

    J'ai une base de donnée de plus de 10 000 classeurs comprenant chacun plusieurs feuilles devis^^"
    Donc si je dois faire ça pour chaque feuille..je suis pas sortit de l'auberge XD

    Si tu pouvais mieu me l'expliquer^^" je suis un tout nouvelle utilisateur du VBA et de Excel ça fait a pêne une semaine que je code des macro

    Merci déjà pour toutes ces réponses et ton attention .

  9. #9
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Ah excuse-moi, je pensais que c'était pour un classeur donné.

    Pour que ça marche pour n'importe quel classeur, ça devient un peu plus compliqué. A mon avis tu vas avoir plus de soucis qu'autre chose à essayer de faire ça. Franchement, si tu contrôles au début de ta macro que tu es sur une feuille qui va bien, c'est le plus simple.

    Mais du coup, si tu as 20 000 classeurs, elle est où la macro qui correspond à ton bouton ? Dans ton perso.xls ? Dans un xla ?

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 20
    Points
    20
    Par défaut
    Je n'ai que du .xls

    L’arborescence est la suivante:

    J'ai un dossier comprenant tout ce qui concerne ce projet.

    Dedans j'ai donc ma base de devis( qui pour l'instant n'est qu'un autre fichier excel contenant plein de lien vers la base elle même, une sorte d'index donc)

    Mes macro.

    Et Divers autre classeur Excel contenant pas mal de feuille, qui ont un rapport avec les devis, mais qui n'en sont pas.

    Du coup je voudrais que mon bouton ne sois activable que pour une feuille qui est est un devis.



    ça complique les choses j'en suis totalement conscient, et en plus je viens de penser à une autre solution, qui m’éviterai tout c'est ennui^^"
    Qui serai de vérifier au lancement de la macro si c'est bien un devis, et si c'est pas le cas afficher avec un MsgBox un message demandant de se placer sur un Devis...

    C'est même trop facile pour y avoir pensé de suite...

    Mais si tu as une solution plus complexe qui me permettrai de pouvoir désactiver le bouton au lieu de faire un contrôle dans la macro et de toujours avoir le bouton activé, j'en serais vraiment ravie^^

  11. #11
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Pour être franc, pour faire un truc qui marcherait quel que soit le fichier ouvert et pour tous tes anciens fichiers, ce ne serait pas simple et surtout pas très propre (risque de bug...). Ce serait limite plus logique de revoir ton mode de fonctionnement sur les fichiers, comme par exemple tout stocker dans une base de données, ou alors que tu aies un fichier maître qui contrôle les autres (toutes les macros sont dans le fichier maitre)...
    Mais si le message box te convient (ou encore une fois, une vérification), je te conseillerais d'en rester là.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 20
    Points
    20
    Par défaut
    Oui je pense en rester la pour le moment^^"

    Trop compliquer pour moi avec mes compétences actuelles.

    Une fois que j'aurai de meilleur connaissance, pourquoi ne pas revenir dessus


    Merci en tout cas ZebreLoup
    Je met en Resolu

  13. #13
    Membre actif Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 259
    Points
    259
    Par défaut
    A mon avis le seul moyen de t'en sortir en l'état actuel de tes fichiers est de passer par une macro complémentaire qui créer à la fois ta barre de bouton et qui détecte toutes nouvelles feuilles, pour attraper les quelques 3 feuilles qui t'interresse...

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

Discussions similaires

  1. activer et desactiver un bouton en fonction de .
    Par roussos dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/09/2008, 14h29
  2. activer/desactiver un bouton
    Par ricko06 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 21/11/2007, 16h36
  3. Bouton radio activant/desactivant checkbox - adaptation de la FAQ
    Par 12monkeys dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/09/2007, 16h38
  4. activation et desactivation des boutons
    Par monphp dans le forum VBA Access
    Réponses: 7
    Dernier message: 11/07/2007, 17h25
  5. comment activer/desactiver un bouton de controle
    Par OyyoDams dans le forum MFC
    Réponses: 17
    Dernier message: 09/04/2006, 11h15

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