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 :

Nom de Bouton


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut Nom de Bouton
    Bien le bonjour,

    je suis actuellement en train de me battre avec Excel VBA...

    Voici mon probleme. J'ai 72 boutons, nommés de la forme Bij, i designant le numero de la ligne et j celui de la colonne.
    J'ai créé une fonction "NameButton(i,j)" renvoyant le nom du boutton. Celle ci fonctionne :-)

    J'aimerais changer la couleur de fond d'un bouton. Pour ce faire j'ai tenté la chose suivante:

    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NameButton(1,3).backcolor = &HFFC0C0

    &HFFC0C0 étant bien entendu une couleur.
    Le problème est qu'il considère NameButton(1,3) comme le nom du bouton, or je voudrais qu'il considère la valeur de la fonction comme le nom de ce bouton.

    Des suggestions? Des idées?

  2. #2
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour dynarc,

    J'ai créé une fonction "NameButton(i,j)" renvoyant le nom du boutton. Celle ci fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("NomDeLaFeuille").Controls(NameButton(i,j)).Backcolor = &HFFC0C0
    ou bien,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("NomDeLaFeuille").Shapes(NameButton(i,j)).Backcolor = &HFFC0C0

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut
    Tout d'abord merci pour ta réponse Isabelle, cependant cela ne marche toujours pas...

    J'ai entendu dire que certaines fonctions ne sont pas activées par défaut. Le problème peut il venir de là?

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir
    ça ne serait pas ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("NomDeLaFeuille").Controls("NameButton(" & i & "," & j & ")").Backcolor = &HFFC0C0
    Vraiment au hasard
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut
    Non toujours pas.

    Pouvez vous me dire a quoi sert exactement ces fonctions controls() et shapes()?

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    Va faire un tour sur ce lien
    http://silkyroad.developpez.com/VBA/ControlesUserForm/
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour dynarc,

    Pouvez vous me dire a quoi sert exactement ces fonctions controls() et shapes()?
    Shapes : pour faire référence au objects créer à partir de la boite à outils dessin.
    controls : pour faire référence au objects créer à partir de la boite à outils Controles.

    il y a aussi cette syntaxe que tu peut utiliser,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bouton  = NameButton(i,j)
    Feuil1.Shapes(bouton).OLEFormat.Object.Backcolor = &HFFC0C0

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Donner le code de la fonction serait utile.

    Dire ce qui ne marche pas, ce qui plante serait un plus

    Donner l'éventuel message d'erreur serait un "must"

    Expliquer ce qui est attendu et ce qui est réalisé aiderait à aider...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour a tous
    javais deja il y a quelque temps poser le meme genre de question

    il me semble que le titre du post etait "le nom du bouton"

    en plus pour le cas ici j'ai remarquer que selon la version de excel le"namebouton ne marche pas bien

    alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    sub trucmachin ()
    dim nombouton as variant 
     
    nombouton=activecontrol.name
    'pour modifier la valeur 
    sheets("trucmachincouette").range(nombouton).value='cequetuveux
    'pour colorier l'interieur de la cellule
    sheets("trucmachincouette").range(nombouton).interior.colorindex='de 1 a 56 comme tu veux
    'pour les caractere en couleure
    sheets("trucmachincouette").range(nombouton).font.colorindex='de 1 a 56
     
     
    end sub
    et il y a bien d'autre solutions et possibilités
    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. récupérer un nom de bouton radio ds une variable
    Par dmalik dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/06/2007, 17h22
  2. Excel, Changer le nom du bouton ?
    Par marot_r dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/06/2006, 15h29
  3. Réponses: 5
    Dernier message: 03/04/2006, 16h50
  4. [PHP-JS] Connaître le nom du bouton submit cliqué
    Par fabrice1596 dans le forum Langage
    Réponses: 6
    Dernier message: 08/03/2006, 08h59
  5. Réponses: 35
    Dernier message: 17/02/2006, 18h39

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