Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Créer une fonction de mise en forme

Anastasia09

XLDnaute Nouveau
Bonjour,
Je souhaiterais créer une fonction qui me permettra d'alléger un programme. Je voudrais qu'elle me permettre de mettre en forme des plages ( alignement, bordures, fusion, ...).

Voici ce que j'ai fais mais étant débutante je suis sûr qu'il y a pas mal de fautes.
Aidez-moi svp.

Public Function MiseEnForme(laplage As Range)
With laplage
.HorizontalAlignment = xlCenter 'centrage horizontal du texte
.VerticalAlignment = xlCenter 'centrage vertical du texte
.Borders.LineStyle = xlContinuous 'bordure de type continu
.Borders.Weight = xlMedium 'bordure de taille moyenne
.Merge
End Function

Sub faire-tableau()
Range("H1:J2").MiseEnForme
End Sub


Merci
 

aalex_38

XLDnaute Nouveau
Re : Créer une fonction de mise en forme

Bonjour,

Pour appeler ta fonction, c'est plutôt :

Sub faire_tableau()
MiseEnForme Range("H1:J2")
End Sub

Nb: j'ai testé (sans le merge, je n'aime pas) et la fonction marche.
 

Staple1600

XLDnaute Barbatruc
Re : Créer une fonction de mise en forme

Bonjour Anastasia, Alex, le fil


Les cellules fusionnées, mieux vaut éviter

Sélectionnes les cellules à traiter et lance la macro test

VB:
Public Function MiseEnForme(P As Range)
With P
    .HorizontalAlignment = 7: .VerticalAlignment = -4108
    .Borders.LineStyle = 1: .Borders.Weight = -4138
End With
End Function
VB:
Sub test()
MiseEnForme Selection
End Sub

PS: Tu peux privilégier ton écriture , donc remplacer les constantes -4108 etc.
par celles de ton code initial

(Elles veulent dire la même chose, c'est juste ma façon d'écrire le VBA )
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…