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 :

colorisation d'une multipage


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 30
    Par défaut colorisation d'une multipage
    Bonjour,

    Je n'arrive pas à coloriser le fond des pages d'un multipage. D'une part, il n'y a pas de propriété "backColor" attaché à cet objet et d'autre part en mettant, dans Private Sub Userform_Initialize le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MultiPage1.BackColor
    With Selection.interior
    .ColorIndex= 2 'pour la couleur blanche
    .Pattern = x1Solid
    End With
    End Sub
    j'ai un code "erreur de compilation - Utilisation incorrecte de la propriété"

    Je vous remercie de bien vouloir me dire où est mon erreur et comment parvenir normalement à la solution.

    Cordialement

    Guy

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MultiPage1.BackColor = RGB(255, 255, 255)

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut guy59960 et le forum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MultiPage1.BackColor
    With Selection.interior
    .ColorIndex= 2 'pour la couleur blanche
    .Pattern = x1Solid
    End With
    End Sub
    Ça ne veut rien dire. Au lieu d'utiliser les selection/select, essaie de réfléchir à comment les shooter. Dans ton lambeau de code, qu'est-ce qui est sélectionné ? Rien
    De plus à Backcolor doit correspondre un nombre long (comme celui constitué par RGB) et non un numéro d'index.
    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 30
    Par défaut
    Mercatog,

    Je vous remercie de votre réponse qui m'a permis d'avancer dans la compréhension de cette problématique, notamment pour moi qui suis totalement novice, j'ai été cherché par ailleurs la signification du RGB et du pourquoi des "255".

    Toutefois, bien qu'ayant mis ce code dans l'initialize de mon USForm cela ne fonctionne pas, il y a donc quelque chose d'autre que je ne fais pas bien.

    Cordialement.

    GUY59960

    PS : Quant à la réponse de GORFAEL, si je le remercie d'avoir pris le temps de me répondre, pour ne pas être le professionnel qu'il est en ce domaine, je n'ai rien compris

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut guy59960 et le forum
    notamment pour moi qui suis totalement novice
    Si tu l'avais dit dès le départ, ma remarque aurait sans doute été différente. Mais les débutants utilisent rarement le With, d'où mon erreur d'appréciation
    Toutefois, bien qu'ayant mis ce code dans l'initialize de mon USForm cela ne fonctionne pas
    La signification des mots n'est pas la même pour tout le monde. Ça veut dire quoi "fpnctionne pas" ? Et sur quel code ?

    En mettant ton bout de code tel que donné dans un USF avec un multipage, à la ligne MultiPage1.BackColor le compilateur me balance une erreur "utilisation incorrecte de la propriété" : ce qui me semble normal : on dit à excel qu'on veut agir sur l'arrière plan du contrôle, mais on ne lui dit pas comment. BackColor est une propriété en lecture/écriture qui lit ou renvoie un nombre (entier long) correspondant à la couleur actuelle (-2147483633 ou &H8000000F& par défaut) ou celle que tu veux lui attribuer. Mais là, c'est comme si tu écrivais un nombre sur une ligne et que tu espérais qu'Excel l'interprête.
    c'aurait du être (en ayant X = variable Long)
    X=MultiPage1.BackColor pour lire le nombre de la couleur
    ou
    MultiPage1.BackColor=X pour fixer la couleur au nombre X
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Selection.interior
    .ColorIndex= 2 'pour la couleur blanche
    .Pattern = x1Solid
    End With
    Ça c'est du code issu d'une macro automatique concernant une plage de cellule
    With Selection.interior
    With dit qu'on va utiliser ce qui le suis en tant que préfixe à tout ce qui commence par un caractère de liaison ("." ou"!")
    Selection concerne le dernier objet qui a été sélectionné soit manuellement soit par une instruction .select
    .interior C'est une propriété qui ne concerne que certains objet (voir la liste dans l'aide à Interior, propriété - s'applique à) dont multipage ne fait pas partie
    il y a donc quelque chose d'autre que je ne fais pas bien.
    Toute la question est de savoir quoi ? Et comme tu ne donnes pas l'intégralité de ta macro, quelque soit ton erreur, si elle n'apparaît pas dans les quelques lignes fournies, il nous est impossible de t'aider. Pour dépanner, on a besoin de ce que doit faire le code, des données et du code en intégralité pour qu'on puisse déterminer à partir de quel moment ton code a dérapé pour aboutir à la panne.
    Quant à la réponse de GORFAEL...ne pas être le professionnel qu'il est en ce domaine
    pas d'insulte Je te rappelle que si le Titanic a été construit par des professionnels, l'Arche de Noé l'a été par des amateurs.

    Être un débutant n'est pas honteux. Mais quand je réponds, j'essaie de ne pas être suffisant et de répondre au même niveau que celui de la question. Sur l'intégralité d'une macro c'est assez simple, mais sur un extrait...
    Perdre du temps à rédiger un sujet compréhensible a plusieurs objectifs
    - faire comprendre le problème
    - limiter le nombre de postes
    - éviter de perdre du temps sur des réponses hors sujets
    - intêresser les dépanneurs. Ce n'est pas la complexité d'un problème qui les rebutent, mais la difficulté à le comprendre.
    Et le temps perdu à écrire le sujet et largement compensé par la rapidité de la solution donnée. Il faut savoir perdre du temps pour en gagner.
    Un peu suffisant quand même, non ?
    A+

Discussions similaires

  1. [XL-2007] Changer l'onglet d'une MultiPage
    Par Bugzy1963 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/06/2010, 19h36
  2. [XL-2003] Séléction de plusieurs textbox dans une multipage
    Par jackall dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/07/2009, 14h40
  3. colorisation d'une carte - pb actuel : comparaison de cellules
    Par MsieurDams dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/07/2008, 19h52
  4. Colorisation d'une cellule vide avec MsgBox
    Par olivepao dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 30/05/2008, 16h11
  5. Présentation d'une Multipage
    Par Zimzimut dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 27/06/2007, 15h28

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