Cherche code vba pour mise en forme tab exel.

developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 5 nov. 2005 à 09:42
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 20 nov. 2005 à 09:57
Bonjour tout le monde

Je cherche des codes vba qui mai en forme les bordures des cellules et qui aligne le text(Gauche,Centre,droite) dans exel.

J'ai cherché dans l'aide d'exel mai j'ai rien trouvé.

Pouvez vous m'aider svp?

Merci.

Cordialement

A bientôt

19 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
5 nov. 2005 à 13:21
Bonjour,

Voici une macro qui centre le texte et place des bordure dans la cellule B1.



Sub CentrerTexte()

Range("B1").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.ShrinkToFit = False

.MergeCells = False

End With

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.Weight = xlMedium

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.Weight = xlMedium

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.Weight = xlMedium

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.Weight = xlMedium

.ColorIndex = xlAutomatic

End With

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
5 nov. 2005 à 18:39
Bonsoir tout le monde

J'ai oublié de vous dire que je souhaite utiliser une case à coher pour placer une bordure sur une ligne.

Et que je souhaite utiliser 3 boutons option pour alignement du text.

Pour l'alignement droite et gauche, quel terme dois je employer?

Merci d'avance.

Cordialement

A bientôt
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
5 nov. 2005 à 19:52
Bonsoir,

Sur quoi sont tes OptionButton et ta case à cocher, sur un UserForm ou sur la feuille ??



jpleroisse
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
5 nov. 2005 à 20:05
Rebonsoir tout le monde

Les boutons et les case à cocher sont sur un formulaire.

En faite tout dois être manipuler par le formulaire.

Merci.

cordialement

A bientôt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
5 nov. 2005 à 22:13
Bonsoir,

'Dans un Module,



Sub PlacerBordureBas()

Range("C2").Select

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

Selection.Borders(xlEdgeRight).LineStyle = xlNone

End Sub



Sub AlignDroite()

Range("c2").Select

With Selection

.HorizontalAlignment = xlRight

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.ShrinkToFit = False

.MergeCells = False

End With

End Sub



Sub AlignCentre()

Range("C2").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.ShrinkToFit = False

.MergeCells = False

End With

End Sub



Sub AlignRetraitGauche()

Range("C2").Select

With Selection

.HorizontalAlignment = xlLeft

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.IndentLevel = 0

.ShrinkToFit = False

.MergeCells = False

End With

End Sub



Sub EnleverBordureBas()

Range("C2").Select

Selection.Borders(xlEdgeBottom).LineStyle = xlNone

End Sub



'Dans les contrôles du UserForm



Private Sub CheckBox1_Click()

If CheckBox1 Then

Call PlacerBordureBas

Else

Call EnleverBordureBas

End If

End Sub



Private Sub OptionButton1_Click()

Call AlignDroite

End Sub



Private Sub OptionButton2_Click()

Call AlignCentre

End Sub



Private Sub OptionButton3_Click()

Call AlignRetraitGauche

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
5 nov. 2005 à 22:23
Rebonsoir tout le monde

J'ai oublié de vous dire que je travaille avec exel 2000

Merci beaucoup, je vais tester.

Par rapport au bordure, je souhaite que tout les bordure soit encadré.

Cordialement

A bientôt
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
6 nov. 2005 à 12:38
Bonjour,

Si tu veux que toute la cellule soit encadrée, remplace la macro PlacerBordureBas par celle-ci.



SubPlacerBordures()

Range("C2").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
6 nov. 2005 à 18:24
Bonsoir tout le monde

J'utilise Worksheets pour entrer mes données ligne par ligne et je souhaiterais pouvoir mettre la bordure sur une ligne

Exemple:

de A2:H2

Est ce possible?

Merci

Cordialement

A bientôt
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
7 nov. 2005 à 21:49
Bonsoir tout le monde

Je vous signal que je travail avec exel 2000.

je souhaite encadrer un ligne entiere de A à H

Est se possible?


Merci.

Cordialement

A bientôt
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
8 nov. 2005 à 23:30
Sais pas pour excel 2000 mais testes ceci:

'*** Trace un cadre sur la plage "A2:H2" de couleur Noire


With [A2:H2]Borders


.LineStyle = xlContinuous


.Weight = xlMedium


.ColorIndex = 1


.Item(xlInsideVertical).LineStyle = xlNone


End With

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
8 nov. 2005 à 23:33
oups, ma bouffé le point
With
[A2:H2].Borders

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
9 nov. 2005 à 05:48
Bonjour tout le monde

Est ce possible de faire With [A:H].Borders

Car je souhaiterais que les bordure soit placé à chaque entre de données grace à Worksheets.

Avez vous compris?

Merci.

Cordialement

A bientôt
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
10 nov. 2005 à 01:11
Re,
non j'ai pas compris expliques un peu plus

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
10 nov. 2005 à 06:03
Bonjout tout le monde

Je souhaiterai que les bordure soient placé sur les célules de la ligne automatiquement en suivant.

Merci

Cordialement

A bientôt
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
11 nov. 2005 à 06:24
Bonjour tout le monde

J'utilise la fonction Worksheets pour entrer les données.

Je réexplique, je souhaiterai que les bordures soivent placé automatiquement a chaque fois que les données soi entré.

Avez vous compris?

Excusé moi, si je m'explique mal.

Merci.

Cordialement

A bientôt
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
11 nov. 2005 à 21:23
Tu interceptes les changements dans l'évènement Change de ta feuille

Private Sub Worksheet_Change( ByVal Target As Range)


With Target.Borders


.LineStyle = xlContinuous


.Weight = xlMedium


.ColorIndex = 1


End With


End Sub

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
12 nov. 2005 à 07:06
Bonjour tout le monde

Je n'ai pas tres bien compris.

Je dois faire ce code, mais comment l'appeller avec le bouton.

Avez vous compris ma question?

Merci

Codialement

A bientôt
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
13 nov. 2005 à 10:34
Bonjour tout le monde

Je m'exuse si je suis vague dans les questions que je pose.

Ce que je souhaite c'est que les bodures soivent placé sur la ligne de H à F à chaque foi qu'une données est entré.



Voici tout le code:

Sub enregistreleve()


Dim lLigneFin As Integer
Dim rCell As Range


lLigneFin = Worksheets("Tableau").Cells.SpecialCells(xlLastCell).Row
Set rCell = Worksheets("Tableau").Cells(lLigneFin + 1, 2)
With rCell



.Select


If UserForm1.OptionButton1 = True Then



ElseIf UserForm1.OptionButton2 = True Then


With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With


ElseIf UserForm1.OptionButton3 = True Then





End If





.Value = UserForm1.txtSaisie
If UserForm1.Chkgras Then
.Font.Bold = True
Else
.Font.Bold = False
End If
If UserForm1.Chkgitalic Then
.Font.Italic = True
Else
.Font.Italic = False
End If





UserForm1.ComboBox1.AddItem "arial"
UserForm1.ComboBox1.AddItem "Courrier New"
UserForm1.ComboBox1.AddItem "Time New Roman"



Select Case .Font.Name


Case "arial"
UserForm1.ComboBox1.ListIndex = 0


Case "Courrier New"
UserForm1.ComboBox1.ListIndex = 1


Case "Time New Roman"
UserForm1.ComboBox1.ListIndex = 2


Case Else
UserForm1.ComboBox1.ListIndex = -1


End Select


UserForm1.ComboBox2.AddItem "10"
UserForm1.ComboBox2.AddItem "12"
UserForm1.ComboBox2.AddItem "14"



Select Case .Font.Size


Case "10"
UserForm1.ComboBox2.Font.Size = 10


Case "12"
UserForm1.ComboBox2.Font.Size = 12


Case "14"
UserForm1.ComboBox2.Font.Size = 14


End Select


UserForm1.SpinButton1


End With



End Sub

J'ai 4 autre problemes

1) je n' arrive pas à changer la taille du texte.

2) Je n'arrive pas à changer le format texte.

3) il me manque 2 code un pour aligner le texte à droite, le deuxieme pour aligner le texte à gauche.

4) j'ai fai un code pour changer la hauteur de ligne, mais le probleme c'est qu'il marque erreur de compilation "utilisation incorect de la propriété" en selectionnant SpinButton1

Voici le code de spinButton1

Private Sub SpinButton1_Change()



Label8.Caption = _
" Hauteur de ligne : " & SpinButton1.Value
End Sub

Pouvez vous m'aider svp?

Merci

Cordialement

A bientôt
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
20 nov. 2005 à 09:57
Bonjour tout le monde

Vous ne voulez plus m'aider, pourquoi?

Je sais mes questions son ennieuses à force, et je m'en excuse.

Mai svp aidé moi encore un peu.

Merci

Cordialement

A bientôt
0
Rejoignez-nous