Bordures....

  • Initiateur de la discussion Titeuf
  • Date de début
T

Titeuf

Guest
Bonjour le Forum !


j'ai une petite question facile pour vous, mais impossible pour moi :

j'ajoute des lignes dynamiquement dans une feuille Excel
genre :
Range("axes!B2").End(xlDown).Offset(1, 0).Value = Txt_Entité.Value
...
sous forme d'un tableau dans Excel.

Or, je voudrais que mon tableau aient des bordures noires. Y a t'il un moyen en VBA de coder ça ?

Merci bcp ^__^
 
S

sousou

Guest
pour controler le bordures d'un objet range,
utilise la propriété colors ou indexcolor
de l'objet border de la collection borders(6 bordure possibles) de l'obget inetrior de l'objet range
exemple
range("a1").interior.borders( 1).colors
 
D

Dan

Guest
Bonjour Titeuf,

Voici un exemple mais je pense que le mieux est que tu utilises l'enregistreur de macro automatique de Excel (menu outils -> macro -> nouvelle macro) car cela correspondra à ton apllication.

Selection.CurrentRegion.Select
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
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

Bonne chance

@+

Dan
 
T

Titeuf

Guest
Hello à tous,

je ne suis pas très doué...Je n'y arrive pas avec les 2 méthodes !
Là ou j'ai le plus avancé, c'est en prenant ton code Dan, mais le hic c'est qu'en changeant
"Selection.CurrentRegion.Select" par "Feuil1.Select" où se trouve mon tableau, la bordure n'agit que sur une seule case, et pas sur l'ensemble du tableau....

Je ne dois pas être loin de la solution...

Autre pb en amont.

Dans le code :
"With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With"

ca me fait une erreur style : "Erreur 1004...Impossible de définir le Propriété LineStyle de la classe Border"
Je ne comprends pas car les autres LineStyle, il n'y pas de pb.

Je suis une chèvre ? :))
 
D

Dan

Guest
Titeuf,

L'instruction que tu as mise "feuil1.select" ne fonctionnera pas.
1. Soit tu dois donner un nom à ton tableau et mettre une instruction pour que ta macro prenne ce nom
2. Soit tu utilises l'instruction "...currentregion....". Mais tu peux la faire précéder de "Range("A1").select" par exemple si ton tableau commence à cette cellule.

Pour ce qui du code erroné, c'est aasez curieux.

Essaie de faire ta macro à partir de l'enregistreur qui se trouve dans menu outils comme je te l'ai expliqué dans mon post.
Je pense que c'est plus efficace et surtout le plus sûr d'avoir une solution correspondant à ta version d'Excel.

Quelle est taversion d'Excel et as-tu un PC ou un Mac ?

@+

Dan
 
T

Titeuf

Guest
Hello le fil !

J'y suis presque ! Tout fonctionne bien si avant de lancer mon Userform, j'ai positionné mon curseur au début de mon tableau (Feuil1 A1).
Sinon, j'ai l'erreur citée hier.

Avec

Sheets("Feuil1").Select
Range("A1").Select
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
...

je pensais que ça me positionnait mon curseur en A1, mais il n'en ait rien. :(
Comment lui dire à Excel ? :-/

Sinon j'utilise XL 97 sur un PC. ;-)

Pour la macro, je vois ce que tu veux dire. Mais c'est qd je valide le Userform que les données sont transférées ds le tableau et que les bordures doivent se créer. Je ne sais pas comment dire en VBA "va me chercher la macro xxxx".

Meci bcp bcp bcp !
 
D

Dan

Guest
Titeuf,

Tu mets simplement le nom de ta macro à la suite de tes instructions pour les bordures

Exemple : supposons que ta macro bordures s'appelle "xxx"

Sub USF()
.... (tes instructions)
xxx
End Sub

bon travail

@+

Dan
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz