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

Contribuez Discussion :

Mise en page d'Excel par automation


Sujet :

Contribuez

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut Mise en page d'Excel par automation
    Je ne savais pas ou la poster alors je post ici.

    Pour commencer vous devez rajouter dans le menu - Outils - Références - cocher Microsoft Excel x.x

    Nous utiliserons ce code récupéré sur le tuto du forum:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'Ouverture de l'application
    Set appExcel = CreateObject("Excel.Application")
    'Ajout d'un classeur car à l'ouverture d'Excel il n'y a aucun classeur d'ouvert
    appExcel.Workbooks.Add 'Ceci n'est nécessaire que si vous n'ouvrez pas un fichier existant
    'Récupération du classeur par défaut
    Set wbExcel = appExcel.ActiveWorkbook
    'Récupération de la feuille par défaut
    Set wsExcel = wbExcel.ActiveSheet
    Définir les marges de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'définition des marges pour l'impression
    wsExcel.PageSetu.HepaderMargin = appExcel.CentimetersToPoints(1.3)
    wsExcel.PageSetup.TopMargin = appExcel.CentimetersToPoints(2.5)
    wsExcel.PageSetup.RightMargin = appExcel.CentimetersToPoints(0)
    wsExcel.PageSetup.LeftMargin = appExcel.CentimetersToPoints(0)
    wsExcel.PageSetup.BottomMargin = appExcel.CentimetersToPoints(0)
    wsExcel.PageSetup.FooterMargin = appExcel.CentimetersToPoints(0.5)
    Les valeurs sont mis en centimètres "CentimetersToPoints" ou en Pouces "InchesToPoints"

    HepaderMargin -> en tête
    TopMargin -> haut de page
    RightMargin -> marge droite de la page
    LeftMargin -> marge gauche de la page
    BottomMargin -> bas de page
    FooterMargin -> pied de page

    Centrer sur la page (par défaut il est sur False)
    horizontalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wsExcel.PageSetup.CenterHorizontally = True
    Verticalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wsExcel.PageSetup.CenterVertically = True

    Sélection d'une colonne
    Sélection de plusieurs colonnes
    Définition de la largeur de colonne
    La largeur sera de 10


    Sélection d'une ligne
    Sélection de plusieurs lignes
    Définition de la hauteur des lignes
    les lignes auront une hauteur de 12


    Sélection d'une cellule
    Sélection d'une plage de cellule

    Définition de la police d'écriture
    La police se nomme Arial

    Définition de la taille de la police à 8
    Écrire en gras
    Écrire en italique
    Pour souligné le texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Font.Underline = xlUnderlineStyleSingle
    On peut souligné différemment
    xlUnderlineStyleDouble -> Double souligné épais.
    xlUnderlineStyleDoubleAccounting -> Deux soulignés fins placés côte à côte.
    xlUnderlineStyleNone -> Aucun soulignement.
    xlUnderlineStyleSingle -> Soulignement simple.
    xlUnderlineStyleSingleAccounting -> Non pris en charge.


    Choisir la position du texte a l’intérieur d'une cellule verticalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .VerticalAlignment = xlVAlignCenter
    les différentes valeurs sont :
    xlVAlignBottom -> En bas
    xlVAlignCenter -> Centré
    xlVAlignDistributed -> Distribué
    xlVAlignJustify -> Justifié
    xlVAlignTop -> En haut


    Choisir la position du texte a l’intérieur d'une cellule horizontalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .HorizontalAlignment = xlCenter
    les différentes valeurs sont :
    xlHAlignCenter -> Centrer.
    xlHAlignCenterAcrossSelection -> Centrer dans la sélection.
    xlHAlignDistributed -> Distribuer.
    xlHAlignFill -> Remplir.
    xlHAlignGeneral -> Aligner en fonction du type de données.
    xlHAlignJustify ->Justifier.
    xlHAlignLeft -> Gauche.
    xlHAlignRight -> Droite.


    Renvoyer a la ligne automatiquement
    Fusionner des cellules de A1 à B5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wsExcel.Range("A1:B5").Merge
    Encadrer une cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    wsExcel.Range("A1").BorderAround LineStyle:=xlContinuous, Weight:=xlThin, Color:=RGB(0, 0, 0)
    ou
    wsExcel.Range("A1").BorderAround LineStyle:=xlContinuous, Weight:=xlThin, ColorIndex:=1
    ou en simplifiant :
    wsExcel.Range("A1").BorderAround xlContinuous, xlThin, 1
    Les différentes possibilités sont si dessous

    LineStyle :
    xlContinuous -> Trait continu.
    xlDash -> En pointillés.
    xlDashDot -> Alternance de tirets et de points.
    xlDashDotDot -> Tiret suivi de deux points.
    xlDot -> Trait avec points.
    xlDouble -> Double trait.
    xlLineStyleNone -> Aucun trait.
    xlSlantDashDot -> Tirets inclinés.

    Weight :
    xlHairline -> Très fin (bordure la plus fine).
    xlMedium -> Moyen.
    xlThick -> Épais (bordure la plus large).
    xlThin -> Fin.

    ColorIndex
    le 1 est pour le noir


    Le placement des bordures avec choix de la couleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Borders(xlEdgeBottom).Color = RGB(0, 0, 0)
    les différentes valeurs sont :
    xlDiagonalDown -> Bordure de l'angle supérieur gauche à l'angle inférieur droit de chaque cellule de la cellule.
    xlDiagonalUp -> Bordure de l'angle inférieur gauche à l'angle supérieur droit de chaque cellule de la cellule.
    xlEdgeBottom -> Bordure au bas de la cellule.
    xlEdgeLeft -> Bordure sur le bord gauche de la cellule.
    xlEdgeRight -> Bordure sur le bord droit de la cellule.
    xlEdgeTop -> Bordure en haut de la cellule.

    Manu.

    Remarques ou suggestions d'amélioration je suis preneur.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pleins de petites choses intéressantes et utiles.

    Il manque cependant un truc important, il faut référencer Excel dans l'éditeur VB.

    Philippe

Discussions similaires

  1. Mise en page sur excel
    Par Olivier0 dans le forum Excel
    Réponses: 2
    Dernier message: 13/08/2007, 14h11
  2. Mise en page d'Excel avec VB6 ?
    Par sebajedi dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/12/2006, 14h01
  3. [VBS] - Mise en page d'Excel (Bordure de cellule)
    Par RegiO dans le forum VBScript
    Réponses: 2
    Dernier message: 01/09/2006, 14h44
  4. mise en page feuille excel par transfert d'Access
    Par pascal913 dans le forum Access
    Réponses: 6
    Dernier message: 12/07/2006, 14h31
  5. Enregistrement d'un fichier Excel par automation
    Par tiopan dans le forum Access
    Réponses: 2
    Dernier message: 04/12/2003, 19h57

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