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 :

Changer apparence message de saisie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Janvier 2013
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 149
    Par défaut Changer apparence message de saisie
    Bonsoir à tous,

    Existe-t-il un moyen sous EXCEL 2003 de modifier l'apparence de l'infobulle qui s'affiche lorsque je sélectionne une cellule via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Données > Validation > Message de saisie
    Puis-je en changer la largeur ? Hauteur, couleur de fond, police etc. ?
    J'ai beaucoup cherché sur google sans rien trouver...

    Auriez-vous une idée ?
    Merci !

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    A mon humble avis, tu ne peux rien changer directement. Si tu veux un message personnalisé, passe par VBA avec une macro évènementielle, un userform et un label. Et encore te faudra-t-il cliquer ou double cliquer sur la cellule. Si tu es disposé à adopter cette solution, dis-le.

  3. #3
    Membre très actif
    Inscrit en
    Janvier 2013
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 149
    Par défaut
    Bonjour Daniel ! Merci pour votre réponse.

    Oui je suis complètement prêt à passer par VBA, mais je ne m'y connais pas assez pour produire quelque chose venant de moi...

    L'essentiel pour moi, et de pouvoir afficher une infobulle à un endroit précis de ma feuille de travail lorsque je sélectionne ma cellule.

    Actuellement, la solution que j'utilisais ne permet pas d'insérer beaucoup de texte (tout est trop exiguë) d'où ma volonté de personnaliser ces infobulles (plus large, plus haute et d'une autre police (titre gras, texte normal).

    Merci pour votre aide ! Je désespère un peu, cette question semble être sacrement ardue à résoudre.

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Regarde le classeur en pièce jointe. J'ai mis la macro suivante dans le module de la feuille. Si tu cliques sur une cellule de la colonne H, le message s'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Target.Column = 8 And Target.Count = 1 Then
            UserForm1.Show
            Application.Wait Now() + TimeValue("0:0:1")
            UserForm1.Hide
        End If
    End Sub
    Je t'expliquerai le code si la macro te convient.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre très actif
    Inscrit en
    Janvier 2013
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 149
    Par défaut
    Ouah ! C'est énorme ! Merci beaucoup effectivement ça pourrait complètement me convenir ! Je suis tout ouïe concernant l'explication !

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bon, je vais expliquer et si tu ne comprends pas, signale-moi à quel endroit. Tu commences par ouvrir la fenêtre VBE (Alt+F11 depuis la fenêtre Excel). Repères, à gauche le projet portant le nom de ton classeur. Clic droit dessus, clic sur Insertion et Userform. Ce dernier s'affiche; fais un clic droit dessus et clique sur "Porpriétés"; modifie la propriété "ShowModal" pour la mettre à "False"; dans la boîte à outils également affichée, clique sur le contrôle "Label" (un "A" majuscule). Clique dans l'userform, et, en maintenant le bouton de la souris enfoncée, dessine le rectangle destiné à contenir le texte. Fais un clic droit dessus et un clic sur "Propriétés". Note le texte destiné à être affiché dans la propriété "Caption". Clique sur les "..." de la propriété "Font" pour définir les attributs de la police. Si tu veux changer la couleur du texte, utilise la propriété "ForeColor". Je te laisse découvrir les autres propriétés. Quand tu as fini, ferme la fenêtre Propriétés et, en te servant des "poignées" situées aux angles et au milieu des côtés de l'userform, en cliquant dessus et en maintenant le bouton de la souris enfoncé, dimensionne l'userform. Reviens dans Excel et fais un clic droit sur l'onglet de la feuille où se trouvent les validations de liste. Clique sur "Visualiser le code". Dans la partie droite de la fenêtre, colle la macro suivante en la modifiant selon tes besoins.

    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
    'cette macro se déclenche quand on sélectionne une cellule
    ' de la plage définie (ici, la colonne H)
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        'si la cellule sélectionnée est en colonne H et qu'une seule cellule est sélectionnée
        If Target.Column = 8 And Target.Count = 1 Then
            'on affiche le userform
            UserForm1.Show
            'si la propriété du userform n'était pas positionnée à "False", la macro s'arrêterait tant qu'il
            'serait affiché
            'on attend le temps indiqué (ici 1 seconde)
            Application.Wait Now() + TimeValue("0:0:1")
            'et on masque le userform
            UserForm1.Hide
        End If
    End Sub

  7. #7
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut
    Citation Envoyé par Daniel.C Voir le message
    Regarde le classeur en pièce jointe.

    Bonjour,

    Je reprends la discussion dans ce (très) ancien message car le thème m'intéresse.
    Je ne vois pas la pièce jointe, pouvez-vous me dire où elle est, svp ?
    Merci

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Je ne me souviens plus de la discussion, mais, en cliquant sur le lien, je récupère bien le classeur.

    Cordialement.

    Daniel

Discussions similaires

  1. changer un message d'erreur
    Par milielf dans le forum Access
    Réponses: 3
    Dernier message: 19/07/2006, 13h05
  2. Changer le message de login (motd)
    Par TronsoT dans le forum Administration système
    Réponses: 7
    Dernier message: 22/06/2006, 18h01
  3. Changer apparence du bouton
    Par tets88 dans le forum Access
    Réponses: 3
    Dernier message: 09/03/2006, 16h15
  4. Comment changer le message d'erreur d'un MaskEdit...
    Par eponette dans le forum Composants VCL
    Réponses: 3
    Dernier message: 12/09/2005, 13h40
  5. Changer apparance input de type image.
    Par licorne dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 04/08/2005, 14h11

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