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 :

couleur bouton formulaire


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut couleur bouton formulaire
    Bonjour,

    J'ai des boutons créés en "bouton formulaire". J'ai longtemps galéré, avant de m'aperçevoir dans le forum que la couleur de fond du bouton ne peut pas être changée....
    Bon, bref, de toutes façons, il pleut....
    En fait, j'arrive à changer la couleur du texte du bouton, ce que je cherche, c'est que lorsque je clique sur mon bouton, il "prend" la couleur du texte et la colle dans une cellule.

    Un peu comme un copié-collé de la couleur.....

    Des idées ???

    Merci,
    A+

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Des.. non, mais une.. oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Bouton1_QuanClick()
        ActiveSheet.Shapes("Button 1").Select
        Range("I6").Interior.ColorIndex = Selection.Font.ColorIndex
    End Sub
    A+

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Merci LeForestier,

    Je te joins le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, Range("c18:af63")) Is Nothing Then Exit Sub
     
     
    If  x = "" Then
     
        Exit Sub
    Else
        Target.Value = x
     
       x = ""
     
    End If
     
    End Sub
     
     
    Sub Test_nom()
    Range("A41").Select
        x = Application.Caller
     
    End Sub
    A partir d'une idée de Fring (rendons à César,....)

    Le principe : je clique sur l'objet (la macro Test_nom), je "prends" son nom et je clique sur une cellule et miracle de la macro, le nom est inséré dans la cellule.
    En fait, j'aimerais faire la même chose avec la couleur de l'objet (l'écriture, pas le motif car impossible apparement).

    J'ai essayé d'utiliser ton code, enfin les instructions ("interiorcolor, colorindex,..."), combinés avec "target, application", j'ai essayé plusieurs combinaisons, sans succès....



    Merci
    A+

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Un "bouton formulaire" n'active aucun événement de feuille, tu doit mettre cela directement dans la macro du bouton.
    Target est un Range, autrement dit.. une cellule ou plage de cellule.
    Précise.. c'est bien un bouton de la barre d'outils "Formulaire" ?
    Mais il est possible que tu veuille "montrer" d'abord la cellule que tu veux modifier !! dans ce cas là..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim AncAdd As String
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        AncAdd = Target.Address
    End Sub
    Et dans la mocros liée au bouton...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Bouton1_QuanClick()
        ActiveSheet.Shapes("Button 1").Select
        Range(AncAdd).Interior.ColorIndex = Selection.Font.ColorIndex
    End
    Tu dis.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Merci LeForestier,

    oui, je me sers bien des boutons de formulaire auquel j'affecte ma macro "test_nom", le 'nom' du bouton est récupéré et lorsque je clique dans une cellule, le texte du 'nom' est mis.

    Par contre, j'ai essayé ton code, il me répond : "la méthode 'Range' de l'objet '_Global' a échoué".

    J'ai essayé avec mon code de récupérer la valeur de la couleur du texte pour pouvoir la récupérer lorsque je clique sur ma cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, Range("c18:af63")) Is Nothing Then Exit Sub
    If x = "" Then
           Exit Sub
    Else
        Target.Value = x
        Selection.Interior.ColorIndex = y
        x = ""
    End If
    End Sub
     
     
    Public x, y As String
    Sub Test_nom()
    Range("A41").Select
        x = Application.Caller
        y = Selection.Font.ColorIndex
     
    End Sub
    Et même là, ça ne fonctionne pas....il me donne -4142 en valeur de y.....

    Merci,
    A+

    (juste, dans mon code, le "Range("A41") est de trop....)

    skuz

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Ok,j'ai compris, tu fais l'inverse, tu clic d'abord sur le bouton et ensuite sur la cellule que tu veux colorier.
    Si ça fonctionne oublie pas
    A+

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

Discussions similaires

  1. Couleur bouton formulaire en fonction du remplissage du formulaire
    Par Sofy16 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/05/2015, 17h06
  2. couleur sur formulaire
    Par azde7015 dans le forum IHM
    Réponses: 5
    Dernier message: 08/02/2006, 13h48
  3. Couleur Bouton
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 12/01/2006, 14h15
  4. couleur + bouton
    Par salem4 dans le forum MFC
    Réponses: 4
    Dernier message: 01/12/2005, 21h16
  5. Désactivation bouton = formulaire non soumis
    Par Gwipi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/05/2005, 16h11

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