Proteger les bordures des cellules d'une feuille

Bonjour à tous,

Je souhaite pouvoir copier/coller ou effacer n'importe quelle cellule d'une feuille en ne copiant que son contenu ou sa mise en forme sans les bordures. Est-ce possible sans pour autant faire une macro qui redessine cette feuille.

Avez-vous une solution à me proposer ?

Merci

Cordialement

Bonjour,

Pour le Copier/Coller, tu disposes du Collage spécial qui offre toute une batterie d'options (Valeurs, Format, Tout sauf la bordure, etc.)

A+

merci Frangy pour ta réponse, mais ce n'est pas vraiment ce que je cherche, c'est plutôt une macro qui, quelque que soit la cellule que l'on copie ( soit par le "ctrl-C/ ctrl-V"ou la sélection-étirer ) ne copie que le contenu et la mise en forme mais pas la bordure.

peut-on protéger que les bordures des cellules d'une feuille ?

Merci

Re,

Je ne pense pas qu’il soit possible d’effectuer la copie d’une cellule sans les bordures.

D’après moi, tu ne peux agir que sur le collage.

A+

Bonsoir asterix08, frangy,

frangy a écrit :

Je ne pense pas qu’il soit possible d’effectuer la copie d’une cellule sans les bordures.

D’après moi, tu ne peux agir que sur le collage.

Je pense comme frangy, tu ne peux pas copier une cellule sans ses bordures. Pour réaliser ce que tu demandes il faut passer par les macros.

asterix08 a écrit :

ce que je cherche, c'est plutôt une macro qui, quelque que soit la cellule que l'on copie ( soit par le "ctrl-C/ ctrl-V"ou la sélection-étirer ) ne copie que le contenu et la mise en forme mais pas la bordure.

J'ai trouvé une astuce qui permet d'obtenir ce que tu désires, c'est à dire copie / colle ou sélection étirer en ne modifiant pas les bordures.

Cependant elle présente 3 inconvénients :

  • tu ne peux coller qu'une fois par copie
  • si tu fais couper au lieu de copier il y'aura des bugs de bordure ( il faut copier puis supprimer)
  • tu ne peux pas annuler une transformation en cas d'erreur (pas de Ctrl+Z) il faut alors corriger en manuel

N.B : En l'état je n'ai fait qu'un test rapide d'une idée. Je n'ai pas développé le code très loin car je ne sais pas sur quel type de tableau tu devras travailler. Je n'ai pas tenu compte de la couleur de la bordure ou de l'épaisseur par exemple.

Mon idée : utiliser des macros évènementielles sur la feuille contenant ton tableau

Je définis 4 variables publiques :

Public BorderLeft, BorderTop, BorderRight, BorderDown As Integer

Et je me sers à la fois de Worksheet_Change et Worksheet_SelectionChange :

Private Sub Worksheet_Change(ByVal Target As Range)

With Target
   .Borders(xlEdgeLeft).LineStyle = BorderLeft
   .Borders(xlEdgeTop).LineStyle = BorderTop
   .Borders(xlEdgeBottom).LineStyle = BorderDown
   .Borders(xlEdgeRight).LineStyle = BorderRight
End With

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

BorderLeft = Target.Borders(xlEdgeLeft).LineStyle
BorderTop = Target.Borders(xlEdgeTop).LineStyle
BorderDown = Target.Borders(xlEdgeBottom).LineStyle
BorderRight = Target.Borders(xlEdgeRight).LineStyle

End Sub

Je te joins un fichier pour test sur la feuil1 uniquement.

Est-ce que ça te va ?

294bordures-fixes.zip (10.60 Ko)

bonsoir Deraks & Frangy,

merci Deracks pour ton code , c'est une piste que je vais prendre prendre en compte. par contre je viens d'effectuer une macro en copiant la cellule G27 et en la copiant en Q27 à l'aide de la fonction de collage spécial et c'est exactement le resultat que je cherche, par contre je ne sais pas comment l'utiliser pour que ça fonctionne ( soit par le "ctrl-C/ ctrl-V"ou la sélection-étirer ) sur n'importe quelle cellule de la feuille. Avez vous une idée ?

Merci

Cordialement

Sub Macro1()

'

' Macro1 Macro

'

Range("G27").Select

Application.CutCopyMode = False

Selection.Copy

Range("Q27").Select

Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

End Sub

Bonsoir asterix08,

Essaye ceci :

Créé une macro et affecte lui le raccourci ctrl+v

puis dans le corps de la macro insère simplement ce code :

Selection.PasteSpecial Paste:=xlPasteAllExceptBorders

Normalement ça écrasera la fonction de collage par défaut et ne tiendra plus compte des bordures.

ctrl+c / ctrl+v à volonté !

Bonsoir Deracks,

Mille merci pour ta solution, c'est nickel !

Salutations

Rechercher des sujets similaires à "proteger bordures feuille"