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 :
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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 :
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
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" <dursty76@yahoo.fr> a écrit dans le message de news:
1119452661.026673.106660@g49g2000cwa.googlegroups.com...
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 :
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.
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 :
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
AV
S'il s'agit de contantes : Cells.SpecialCells(xlCellTypeConstants, 23).Borders.LineStyle = xlContinuous
AV
S'il s'agit de contantes :
Cells.SpecialCells(xlCellTypeConstants, 23).Borders.LineStyle = xlContinuous
S'il s'agit de contantes : Cells.SpecialCells(xlCellTypeConstants, 23).Borders.LineStyle = xlContinuous
AV
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 :
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
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 :
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.
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 :
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
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 :
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
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" <dursty76@yahoo.fr> a écrit dans le message de news:
1119452661.026673.106660@g49g2000cwa.googlegroups.com...
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 :
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.
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 :
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.