OVH Cloud OVH Cloud

Bordures de tableaux

4 réponses
Avatar
KaZaLas
Bonjour =E0 tous, membres =E9clair=E9s du MPFE,

Je soumets =E0 votre sagacit=E9 un petit probl=E8me de mise en forme.
Dans une feuille, j'ai plusieurs tableaux de ce type, =E0 des
emplacements diff=E9rents avec des nombres de lignes et de colonnes
variables :

gfd gdfg
Adfr 122 122
sdze 125 145
sdqsd 12 122
dqs 12 122
cwxcw 12 154

Comment faire en sorte de mettre une bordure aux donn=E9es =E0
l'int=E9rieure du tableau seulement ? J'ai essay=E9 avec current.region,
mais cela s=E9lectionne l'ensemble du tableau.

Any idea ??

Merci par avance

4 réponses

Avatar
SL
Bonjour

Tu veux pour toutes les cellules non vide mettre une bordure à droite si la
cellule à droite est non vide et en bas si la cellule en dessous et non
vide. traduit par une MEFC sur l'ensemble de ta feuille cela donne :

1er condition
la formule est : =ET(NON(ESTVIDE(A1));NON(ESTVIDE(A2));NON(ESTVIDE(B1)))
bordure en bas et à droite

2eme condition
la formule est : =ET(NON(ESTVIDE(A1));NON(ESTVIDE(B1)))
bordure à droite

3eme condition
la formule est : =ET(NON(ESTVIDE(A1));NON(ESTVIDE(A2)))
bordure en bas

Ai-je bien compris le problème ?

Stéphane


"KaZaLas" a écrit dans le message de news:

Bonjour à tous, membres éclairés du MPFE,

Je soumets à votre sagacité un petit problème de mise en forme.
Dans une feuille, j'ai plusieurs tableaux de ce type, à des
emplacements différents avec des nombres de lignes et de colonnes
variables :

gfd gdfg
Adfr 122 122
sdze 125 145
sdqsd 12 122
dqs 12 122
cwxcw 12 154

Comment faire en sorte de mettre une bordure aux données à
l'intérieure du tableau seulement ? J'ai essayé avec current.region,
mais cela sélectionne l'ensemble du tableau.

Any idea ??

Merci par avance
Avatar
AV
S'il s'agit de contantes :
Cells.SpecialCells(xlCellTypeConstants, 23).Borders.LineStyle = xlContinuous

AV
Avatar
PMO
Bonjour,

Une solution en VBA.
Copiez le code suivant dans un module standard et
lancez la procédure "BordTableau".

ATTENTION: faites le test sur une copie de votre classeur.

'**********
Sub PMO_BordTableau()
Dim SEL As Range
Dim var
Dim i&
Dim j&
Dim R As Range
Set SEL = Selection
Columns(1).Insert
Rows(1).Insert
[a1] = "_tEmPo_"
var = ActiveSheet.UsedRange
Range("a" & UBound(var, 1) + 1 & "") = "_tEmPo_"
var = ActiveSheet.UsedRange
For i& = 2 To UBound(var, 1) - 1
For j& = 2 To UBound(var, 2)
If Not IsEmpty(var(i&, j&)) And _
IsEmpty(var(i&, j& - 1)) And _
Not IsEmpty(var(i& + 1, j& - 1)) Then
Set R = Range(Cells(i&, j&), _
Cells(i&, j&)).CurrentRegion
Set R = R.Offset(1, 1).Resize(R.Rows.Count - 1, _
R.Columns.Count - 1)
R.Borders(xlEdgeLeft).LineStyle = xlContinuous
R.Borders(xlEdgeTop).LineStyle = xlContinuous
R.Borders(xlEdgeBottom).LineStyle = xlContinuous
R.Borders(xlEdgeRight).LineStyle = xlContinuous
R.Borders(xlInsideHorizontal).LineStyle = xlContinuous
R.Borders(xlInsideVertical).LineStyle = xlContinuous
End If
Next j&
Next i&
Columns(1).Delete
Rows(1).Delete
SEL.Select
End Sub
'**********

Cordialement.
--
PMO
Patrick Morange



Bonjour à tous, membres éclairés du MPFE,

Je soumets à votre sagacité un petit problème de mise en forme.
Dans une feuille, j'ai plusieurs tableaux de ce type, à des
emplacements différents avec des nombres de lignes et de colonnes
variables :

gfd gdfg
Adfr 122 122
sdze 125 145
sdqsd 12 122
dqs 12 122
cwxcw 12 154

Comment faire en sorte de mettre une bordure aux données à
l'intérieure du tableau seulement ? J'ai essayé avec current.region,
mais cela sélectionne l'ensemble du tableau.

Any idea ??

Merci par avance




Avatar
LSteph
Bonsoir,

Si j'ai bien compris:

Sub bordinterieur()

Selection.Borders.LineStyle = xlNone

With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub

'lSteph

"KaZaLas" a écrit dans le message de news:

Bonjour à tous, membres éclairés du MPFE,

Je soumets à votre sagacité un petit problème de mise en forme.
Dans une feuille, j'ai plusieurs tableaux de ce type, à des
emplacements différents avec des nombres de lignes et de colonnes
variables :

gfd gdfg
Adfr 122 122
sdze 125 145
sdqsd 12 122
dqs 12 122
cwxcw 12 154

Comment faire en sorte de mettre une bordure aux données à
l'intérieure du tableau seulement ? J'ai essayé avec current.region,
mais cela sélectionne l'ensemble du tableau.

Any idea ??

Merci par avance