J'ai pas trop compris ton histoire mais je crois avoir fais un truc un peu semblable donc je t'envoie toujours le code que j'ai fais...
Je dis pas que c'est LA méthode mais c'est une méthode...
Explications :
Worksheets(1).Range([A3].End(xlDown), [K3]).Borders(xlEdgeBottom).Weight = xlThick
-> Feuille numéro1, Range à partir de A3 jusqu'à la prochaine cellule vide en verticle et jusque K3 en horizontal,
Bordure du bas en xlThick
Les autres lignes suivent le même principe. Après je fais une boucle pour terminer le boulot...
Pour que cette façon de procéder fonctionne, il faut que dans ton tableau il y ait au moins une colonne où il n'y a pas de cellule vide (colonne A chez moi).
CODE
-------
'''''''''''''''''''''''''''
' Formattage de la grille '
'''''''''''''''''''''''''''
Worksheets(1).Range([A3].End(xlDown), [K3]).Borders(xlEdgeBottom).Weight = xlThick
Worksheets(1).Range([A3].End(xlDown), [K3]).Borders(xlEdgeRight).Weight = xlThick
Worksheets(1).Range([A3].End(xlDown), [K3]).Borders(xlEdgeLeft).Weight = xlThick
Worksheets(1).Range([A3].End(xlDown), [K3]).Borders(xlInsideHorizontal).Weight = xlThin
Worksheets(1).Range([A3].End(xlDown), [K3]).Borders(xlInsideVertical).Weight = xlThin
i = 3 ' i est un Integer
While Cells(i, 2) <> ""
Cells(i, 1).Borders(xlEdgeLeft).Weight = xlThick
Cells(i, 1).Borders(xlEdgeRight).Weight = xlThin
Cells(i, 1).Borders(xlEdgeBottom).Weight = xlThin
i = i + 1
Wend
Cells(i, 1).Borders(xlEdgeTop).Weight = xlThick