Empecher couper et supprimer cellules

atc

XLDnaute Junior
bonjour forum
je me demande s'il y'a un moyen pour empecher de couper et de supprimer les cellules,j'ai des feuilles liees et j'ai remarqué que si on coupe ou on supprime il y'a des erreurs de ref qui s'affichent sur les cellules referencées

merci d'avance
 

Sylvie

XLDnaute Accro
Re : Empecher couper et supprimer cellules

Bonsoir Atc, Bonsoir Brigitte, Bonsoir le forum, coucou les Italiens ;)

la solution qui t'est soufflée par Brigitte semble parfaitement adaptable dès lors que tu utilises au moins Excel 2002.
En dévérouillant les cellules qui nécessitent une saisie, cela aura pour effet de permettre la saisie dans ces cellules quand la feuille sera protégée.
Par contre, tu peux cibler les actions autorisées en protégeant la feuille et donc ne pas autoriser les actions "insérer ou supprimer des lignes".

En procédant ainsi, la suppression ou l'insertion de lignes et de colonnes peut etre interdite mais la saisie dans des cellules ciblées (ou non) possible.

Bonne soirée
 

atc

XLDnaute Junior
Re : Empecher couper et supprimer cellules

re forum
re brijitte
re sylvie
je viens de verifier ce que tu m'as suggerer je le trouve faisable ,malheureusement ca ne resout pas totalement mon pb,puisque la fonction couper persiste tjrs et ca me perturbe les ref merci bcp
@+
 

job75

XLDnaute Barbatruc
Bonsoir coco_lapin, coucou chère Brigitte si jamais tu passes par ici :)

3 macros très simples dans le code de la feuille pour y interdire le couper-coller :
Code:
Private Sub Worksheet_Activate()
If Application.CutCopyMode = xlCut Then Application.CutCopyMode = 0
End Sub

Private Sub Worksheet_Deactivate()
Worksheet_Activate 'lance la macro
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Worksheet_Activate 'lance la macro
End Sub
Fichier joint.

Bonne nuit.
 

Pièces jointes

  • Interdire le couper-coller(1).xlsm
    21.3 KB · Affichages: 26

coco_lapin

XLDnaute Impliqué
Bonjour job75 et eriiiic,

Merci job75 j'ai essayé ta proposition et cela répond exactement à ma question. Super :)

Effectivement eriiic cela n'empêche pas le coupé-collé par un cliqué-glissé de la ou les cellule(s).
A l'ouverture du classeur il faut mettre le code que tu proposes mais il faut aussi pensez de mettre un code inverse à la fermeture du classeur sinon l'utilisateur se retrouve sans cliqué-glissé.
Je ne sais pas trop ce qu'il se passe pour l'utilisateur si entre l'ouverture et la fermeture du classeur excel plante ou si un réseau plante et que le classeur se trouve dessus ou qu'il y ait une coupure secteur. Dans ces cas l'utilisateur pourrait se retrouver sans cliqué-glissé. C'est pourquoi je n'aime pas trop jouer sur ces paramètres excel mais dans notre cas c'est pas trop grave et je vais faire ainsi. C'est plus grave lorsque le calcul a été mis en manuel par macro et que cela reste en manuel après la fermeture du classeur, dans ce cas c'est très dangereux.

Encore merci pour vos aides et bon Week-end.
Je vais prévenir atc qui avait initialisé ce fil en message personnel pour qu'il puisse voir la solution et mettre le titre en "résolu"
 

job75

XLDnaute Barbatruc
Bonjour coco_lapin, eriiiic,

Je n'avais pas vu le message d'eriiiic après suppression de mon 1er message :
Seulement ça n'empêche pas le coupé-collé par un cliqué-glissé de la cellule.
Oui en effet, alors comme il y a des cellules liées servons-nous en :
Code:
Private Sub Worksheet_Deactivate()
If Application.CutCopyMode = xlCut Then Application.CutCopyMode = 0
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Set c = Feuil2.Cells.Find("#REF!", , xlFormulas, xlPart)
If c Is Nothing Then Exit Sub
With Application
    .EnableEvents = False
    .Undo 'annule la modification
    .CutCopyMode = 0
    .EnableEvents = True
End With
End Sub
Fichier (2).

A+
 

Pièces jointes

  • Interdire le couper-coller(2).xlsm
    23.2 KB · Affichages: 25

Jean-Marie!

XLDnaute Nouveau
Bonjour coco_lapin, eriiiic,

Je n'avais pas vu le message d'eriiiic après suppression de mon 1er message :

Oui en effet, alors comme il y a des cellules liées servons-nous en :
Code:
Private Sub Worksheet_Deactivate()
If Application.CutCopyMode = xlCut Then Application.CutCopyMode = 0
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Set c = Feuil2.Cells.Find("#REF!", , xlFormulas, xlPart)
If c Is Nothing Then Exit Sub
With Application
    .EnableEvents = False
    .Undo 'annule la modification
    .CutCopyMode = 0
    .EnableEvents = True
End With
End Sub
Fichier (2).

A+
bonjour,
je suis très intéressé par cette macro. dans le test que j'ai fait j'ai déplacer une case jaune E14 vers le bas en E15, cela a généré une erreur dans la feuille 2 mais la macro n'a pas empêche le déplacement.
ai-je loupé qqch
merci
 

Pièces jointes

  • Interdire le couper-coller(2).xlsm
    15.2 KB · Affichages: 3

Discussions similaires

Réponses
2
Affichages
239

Statistiques des forums

Discussions
314 628
Messages
2 111 339
Membres
111 107
dernier inscrit
cdel