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 :

backcolor sur userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 13
    Par défaut backcolor sur userform
    Bonjour à tous,

    J'ai pas trouvé de topic a proprement parlé sur mon soucis...

    Je suis un peu novice en vba mais j'aimerai utiliser des conditions de couleur sur un userform.

    En clair j'ai une macro qui me donne à la fin un resultat. Je souhaite qu'il s'affiche dans un label dans un userform : pas de soucis jsuque là. Mais je souhaite qu'il s'affiche avec une couleur de fond donnée associé à mon résultat.
    Je l'ai fais dans ma table avec la mise en forme conditionnelle du coup je pensais utiliser ce code là pour l'userform:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Workbook_Open()
     
    ligne_tableau = Feuil3.Range("A1048576").End(xlUp).Row
    Resultat.Label4.Caption = Feuil3.Cells(ligne_tableau + 1, 10).Value
     
    Label1.BackColor =  Feuil3.Cells(ligne_tableau + 1, 10).Interior.Color
     
    Resultat.Show
     
    End Sub
    ce code ne marche pas : mon fond de label apparait blanc car une mise en forme conditionnelle ne défini pas le fond de la cellule. Même si ma cellule est rouge son fond est défini blanc dans le bandeau Accueil

    Du coup j'ai voulu mettre des conditions sur l'userform

    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
     
    Private Sub Workbook_Open()
     
    ligne_tableau = Feuil3.Range("A1048576").End(xlUp).Row
    Resultat.Label4.Caption = Feuil3.Cells(ligne_tableau + 1, 10).Value
     
    If Resultat.Label4.Caption = "correct" Then
       Resultat.Label10.BackColor = RGB(224, 0, 0)
    End If
     
    If Resultat.Label4.Caption = "incorrect" Then
       Resultat.Label10.BackColor = RGB(0, 160, 255)
    End If
     
    End sub
    ca ne fonctionne pas non plus... je ne vois pas ou est le soucis...

    merci d'avance de votre aide
    bonne journée

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, à lire ( en Anglais ) : Conditional Formatting Colors
    Extrait sans appel :
    Unfortunately, the Color and ColorIndex properties of a Range don't return the color of a cell that is displayed if Conditional formatting is applied to the cell. Nor does it allow you to determine whether a conditional format is currently in effect for a cell.

  3. #3
    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
    allons donc !!

    cet exemple te donne la couleur de la formatconditions(1).interior.color de la cellule "B5"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
    couleur=Cells(5, 2).FormatConditions(1).Interior.Color
     
    'donc exemple 
     'userform1.label1.backcolor=couleur 
    End Sub
    il te faudra peut être tester si la cellule a un formatconditions pour éviter les erreurs
    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

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 13
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    Bonjour
    allons donc !!

    cet exemple te donne la couleur de la formatconditions(1).interior.color de la cellule "B5"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
    couleur=Cells(5, 2).FormatConditions(1).Interior.Color
     
    'donc exemple 
     'userform1.label1.backcolor=couleur 
    End Sub
    il te faudra peut être tester si la cellule a un formatconditions pour éviter les erreurs
    Merci !! ca marche en partie car j'ai de la couleur mais pas la bonne... voilà le message qui s'affiche aussi
    " l'indice n'appartient pas à la selection "
    en fait j'ai beaucoup de condition de couleur sur le format de mes cellules. Est ce que c'est pas l'indice du "formatconditions(1)" qui beugue ?
    Bizarement il affiche la première couleur inscrite dans mes conditions mais qui ne correspond pas à ma cellule... quand je mets rien comme indice ca ne fonctionne pas non plus...

    Ca met sur la piste, je vais continuer sur cette voie
    merci !!

Discussions similaires

  1. novice sur userform
    Par danyphil dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/09/2007, 10h31
  2. Feuille de calcul sur UserForm
    Par abennis dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/08/2007, 20h37
  3. problème variable publique sur userform
    Par swissmade dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/08/2007, 06h36
  4. Problème sur UserForm
    Par guismoman33 dans le forum VBA Word
    Réponses: 13
    Dernier message: 19/07/2007, 18h22
  5. [VBA-E] - Loop sur userform
    Par Qatari dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 26/03/2007, 14h00

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