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 :

[Style] Comment récupérer le style d'une Cellule ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de SmOkEiSBaD
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2008
    Messages : 234
    Points : 127
    Points
    127
    Par défaut [Style] Comment récupérer le style d'une Cellule ?
    Bonjour à tous,
    Existe-t-il un objet qui permettrait de récupérer le style d'une Cellule (Taille, couleur, remplissage, alignement, font, etc..) ?

    Je connais Border Around et Style mais apparement aucun des deux ne porte l'ensemble des attributs de style (font par exemple).

    Merci.

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Non cela n'existe pas.
    Tu peux utiliser le copier/coller spécial format pour récupérer toute la mise en forme (couleur, taille, style de texte, bordures, etc...)

    Exemple, copie des formats de la cellule A1 à la plage A2:A20
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
    Range("A1").Copy
     
    Range("A2:A20").PasteSpecial Paste:=xlFormats
    Application.CutCopyMode = False
    End Sub

  3. #3
    Membre habitué Avatar de SmOkEiSBaD
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2008
    Messages : 234
    Points : 127
    Points
    127
    Par défaut
    Ok merci bien pour la rapidité de ta réponse.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2019
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Font Size
    Bonjour;

    Je veux programmer cette ligne mais je ne trouve pas le syntaxe correcte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range( "A(i)" :  "g(i)").Font.Size = 16
    Merci

  5. #5
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Apparemment, il s(agit d'un balayage sur une plage de cellules.
    Dans ce cas, le processus le plus approprié serait d'utiliser l'Objet Cells
    Une autre piste: concaténer l'argument String del'objet Range avec la valeurde i.
    Pour plus d'efficacité, après avoir adapté ces indications, tu pourrais retourner le code.

    Un salut à l'ami Fring.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 910
    Points : 28 889
    Points
    28 889
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ta question est un peu hors sujet de cette discussion qui de plus est très ancienne.
    Je suppose que tu souhaites mettre la taille de la police des cellules des colonnes A à G de la ligne définie par la variable I. Si c'est le cas, deux syntaxes possibles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & i & ":H" & i).Font.Size = 16
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(i, 1), Cells(i, 8)).Font.Size = 16
    Pour éviter les problèmes, n'oublies pas de référencer les parents de l'objet Range (feuille + classeur)
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim i As Long
    i = 10 '
    With ThisWorkbook.Worksheets("Feuil1")
    .Range(.Cells(i, 1), .Cells(i, 8)).Font.Size = 12
    End With

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

Discussions similaires

  1. Comment récupérer 7 chiffres dans une cellule ?
    Par Novice_vba dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 25/06/2013, 11h56
  2. Réponses: 1
    Dernier message: 12/09/2009, 19h52
  3. Réponses: 4
    Dernier message: 19/04/2009, 13h44
  4. Comment récupérer le contenu d'une cellule
    Par gronaze dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2008, 17h30

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