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

Excel Discussion :

Modifier la couleur du texte d'un bouton activeX [XL-2013]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2011
    Messages : 10
    Points : 12
    Points
    12
    Par défaut Modifier la couleur du texte d'un bouton activeX
    Bonjour,

    Je rends mon tablier ! Voici une petite routine simple mais qui ne fonctionne pas comme je le voudrais.
    Je travaille en Excel 2013.

    Sur ma feuille, une cellule (C2 nommée "Prestataire") contenant une liste de choix et deux boutons ActiveX.
    Selon le choix, le prestataire de services s'affiche avec, dans une autre cellule, son adresse mail.
    Le bouton "Envoi_prestataire" dois être actif seulement dans le cas où une adresse mail correspond au prestataire. Et dans le cas contraire, il doit s'inactivé.

    Pour la précision, la beauté du geste et l'ergonomie de l'outil développé, j'aimerais que le bouton inactivé le soit ... visiblement ! Or, il ne change pas de tête (backcolor gris clair, couleur de texte encore plus grisé).

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Tbl As Variant
    Dim adr As String
    Dim verif As Boolean

    If Intersect(Target, Range("Prestataire")) Is Nothing Then Exit Sub
    If Target.Address = Range("Prestataire").Address Then

    adr = Range("MessA01")
    verif = TestAddr(adr) 'Permet de vérifier si l'adresse est valide
    If verif = True Then
    Envoi_prestataire.ForeColor = &HFF&
    Shapes("Envoi_prestataire").OLEFormat.Object.Enabled = True
    Else
    Envoi_prestataire.ForeColor = vbYellow 'juste pour bien visualiser le changement
    ' Envoi_prestataire.BackColor = RGB(215, 215, 215)
    Shapes("Prestataires").OLEFormat.Object.Enabled = False
    Me.OLEObjects("Prestataires").Object.Caption = "Pas de destinataire"
    End If
    End If
    End Sub

    Or, cette sale bête ne montre le caption : "Pas de destinataire" que lorsqu'il on clique sur le bouton.
    J'aimerais qu'il soit figé, grisé et qu'il affiche "Pas de destinataire" au repos, avant qu'on clique dessus.

    Merci pour vos lumières !

  2. #2
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2011
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Finalement, le code est bon ...
    La feuille était protégée et mes ActiveSheet.Unprotect et Proect étaient mal placés (n'apparaît pas dans le code ci-dessus).
    Pour moi, il manque une source de référence sur les activex.
    S'il y en a, je ne l'ai pas trouvée.

    Bonne journée à tous les codeurs !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/08/2006, 13h51
  2. Réponses: 15
    Dernier message: 11/08/2006, 11h20
  3. Réponses: 1
    Dernier message: 08/06/2006, 12h01
  4. [TStatusBar] Modifier la couleur du texte d'un panel
    Par Kerod dans le forum C++Builder
    Réponses: 18
    Dernier message: 05/03/2006, 16h46
  5. Comment modifier la couleur du texte sélectionné ?
    Par VincentR dans le forum Composants VCL
    Réponses: 4
    Dernier message: 14/06/2005, 22h29

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