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 :

Créer une liste avec différentes polices


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Par défaut Créer une liste avec différentes polices
    Bonjour,

    Je suis novice en programmation VBA, donc je rencontre quelques problèmes.
    Je souhaiterais faire ceci : afficher un pangramme, et la police de ce pangramme devra être celle sélectionnée dans une liste déroulante que je crée.

    Voici mes bouts de code que j'ai déjà fait :

    - C'est là où j'écris mon pangramme. Je veux récupérer la police se trouvant dans D2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Range("J16:U17").Select
    ActiveCell.FormulaR1C1 = "Portez ce vieux whisky au juge blond qui fume"
    With Selection.Font
            .Name = Range("D2") 'Comment récupérer la valeur de la police ?
    End With
    - Code de la liste que j'ai trouvé sur ce forum, que j'ai adapté à ma situation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Range("D2").Select
        With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="Calibri,Comic Sans Ms,Arial Black"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With|
    Cependant, quand je change la police dans la liste, mon pangramme n'a pas sa police de changée, pourriez-vous m'aider à résoudre ce problème ?

    Merci d'avance !

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 682
    Par défaut
    Bonjour,
    Ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("J16:U17").Font.Name = Range("D2").Font.Name
    Devrais convenir.

  3. #3
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Par défaut
    Bonjour,

    Merci de la réponse, mais ça ne change pas la police de mon mot.
    Nous ne pouvons peut-être pas changer la police du mot en fonction de la police choisie dans le menu déroulant ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 682
    Par défaut
    edit:
    My bad, j'avais mal compris.
    Si je comprends mieux ceci marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("J16:U17").Font.Name = Range("D2")
    Mais c'est exactement ton code ... (sans le select et le with)
    Du coup il doit y avoir quelque chose qui m'échape

  5. #5
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Par défaut
    Effectivement, je viens de re-tester, mais ça ne marche pas.
    J'ai peut-être mal exprimé mon problème, donc je le refais :

    J'ai en D2 une liste où je peux choisir parmi plusieurs polices, que j'ai écrit dans ma macro.
    Ensuite en J16:U17 j'ai un mot, et je veux que la police de ce mot soit celle choisit dans ma liste en D2. Et quand je change la police dans la liste, la police de mon mot doit également changer.

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 682
    Par défaut
    en J16:U17 j'ai un mot
    Un seul mot sur plusieurs cellules?

    Et quand je change la police dans la liste, la police de mon mot doit également changer.
    Normalement, avec le code que tu as si tu change la police dans et que tu relance la macro la police du mot change.
    Si tu veux que ce soit automatique, c'est possible mais je ne sais pas le faire
    Normalement ce tuto devrais contenir la réponse: http://silkyroad.developpez.com/VBA/EvenementsFeuille/

    edit:
    C'est mieux expliqué dans le tuto mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = "$D$2" Then Range("J16:U17").Font.Name = Range("D2")
    End Sub
    à mettre dans la liste des évènements de ta feuille (alt + F11, double clic sur ta feuille à gauche)

Discussions similaires

  1. créer une liste avec un pas de 0.1
    Par Chefcou dans le forum Général Python
    Réponses: 2
    Dernier message: 06/06/2012, 20h46
  2. parcourir une List avec différents objets
    Par laurentlorient dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 03/08/2009, 09h34
  3. Créer une liste avec LinkedList
    Par kohan95 dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 29/11/2008, 18h40
  4. Réponses: 8
    Dernier message: 23/01/2008, 09h05
  5. Créer une liste avec des noms de fichiers
    Par Jeffboj dans le forum Access
    Réponses: 5
    Dernier message: 12/05/2006, 05h48

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