|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Date d'inscription: avril 2009
Messages: 8
|
Bonjour,
J'ai un petit souci inattendu avec la protection d'une feuille Excel qui est protégée par un petit bout de VBA qui déverrouille toute les cellules puis qui verrouille les cellules qui contiennent une formule. Lorsque je copie/colle une valeur extérieure au classeur sur une cellule sans formule (donc dévérouillée), Madame se verrouille "toute seule" sans raison. Je planche là dessus mais un petit coup de main m'aiderait bien. Voilà le code qui s'exécute à l'ouverture du classeur : Code :
Private Sub Workbook_Open() Dim ws As Worksheet Set ws = Sheets("Adhérents") 'if ws.Protect ws.Unprotect With ws .Cells.Locked = False .Cells.SpecialCells(xlCellTypeFormulas).Locked = True .Protect UserInterfaceOnly:=True, _ AllowFormattingCells:=True, _ AllowFormattingColumns:=True, _ AllowInsertingHyperlinks:=True, _ AllowFiltering:=True .EnableSelection = xlUnlockedCells End With End Sub |
|
|
|
|
|
#2 |
|
Invité de passage
![]() Date d'inscription: avril 2009
Messages: 8
|
Je me réponds tout seul.
La solution est de faire un collage special pour ne copier que du texte mais les utilisateurs n'y penseront jamais. Sinon le plus simple c'est Code :
AllowFormattingCells:=False
Mais le mieux c'est de passer par l'événement SelectionChange Code :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Target.HasFormula Then Target.Cells.Locked = False End If End Sub |
|
|
|
|
|
![]() |
||
Protection VBA et copier/coller
|
||
| Outils de la discussion | |
|
|