PROTECTION Contents:=true

jeromear

XLDnaute Junior
Bonjour à tous
J'ai mis en place cette macro qui lance la macro EFFACER de tous les fichiers du chemin
La protection à la fin de la macro EFFACER ne marche plus : elle selectionne les cellules déverrouilées et verrouillées aussi et ca ne devrait pas.

Quelqu'un y comprend quelque chose ?
Merci pour votre aide

Code:
Sub EFFACER_SUR_TOUS_LES_FICHIERS()
Dim wbk As Workbook, awbk As Workbook
Dim Fich As String
Const chemin = "C:\COMMANDES C&A SEM51\SEMAINE 51\COMMANDES CLIENTS"
  
  Set awbk = ThisWorkbook
  Fich = Dir(chemin & "\*.xls")
  Do While Fich<>""
  Set wbk = Workbooks.Open(chemin & "\" & Fich)
    '
    Application.Run"[B]'[/B]"&wbk.Name&"'!EFFACER"
    wbk.Save
    wbk.Close
    Set wbk = Nothing
    Fich = Dir
  Loop

Set awbk = Nothing
End Sub


Pourtant la macro EFFACER fonctionne bien toute seule : elle ne selectionne bien que les cellules déverrouilées

Code:
Sub EFFACER()
'
' EFFACER Macro
' Macro enregistrée le 14/01/2010 par JEROME
'


Dim cel As Range
Dim tablo, i As Byte
Application.ScreenUpdating = False
tablo = Array("COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "COM10") 'nombre de feuilles étudiées limité à 255, sinon => i As Integer
For i = 0 To UBound(tablo)
With Sheets(tablo(i))
    .Unprotect
    .Range("A10:AI24").ClearContents
    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
Next i
End Sub
 
Dernière édition:

Gael

XLDnaute Barbatruc
Re : PROTECTION Contents:=true

Bonsoir jeromear,

Essaye d'ajouter:

.EnableSelection = xlUnlockedCells soit:

Code:
With Sheets(tablo(i))
    .Unprotect
    .Range("A10:AI24").ClearContents
    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    .EnableSelection = xlUnlockedCells
End With

@+

Gael
 

jeromear

XLDnaute Junior
Re : PROTECTION Contents:=true

Bonsoir Gael
J'ai essayé ta proposition mais cela ne marche tjrs pas :

- La macro EFFACER marche bien sur chaque fichier (elle me selectionne seulement les cellules déverrouillées pour la protection)

- Mais la macro qui lance la macro EFFACER sur chaque fichier me selectionne toujours les cellules déverrouilées et verrouillées
donc elle ne fait pas que lancer la macro EFFACER
c'est dans cette macro qu'il y a un bug et je ne le trouve pas...

peut être par là?
Set wbk = Workbooks.Open(chemin & "\" & Fich)
 

Discussions similaires

Statistiques des forums

Discussions
312 545
Messages
2 089 470
Membres
104 173
dernier inscrit
RavraX