Adaptation de macro

Bonjour,

Je voudrais adapter cette macro (que quelqu'un ma gentiment faite).

Pour que ce ne soit pas que la feuille 1 , mais 4 feuilles et non plus des colonnes B à E.

Donc, les plages devraient être celles-ci :

Feuille 1 de A5 à J11

Feuille 2 de A5 à M38

feuille 3 de A5 à N150

feuille 4 de A5 à N171

J'ai beau essayer, mais n'y parvient pas ;-(

D'avance, grand merci pour votre aide.

Pasqi

Sub DeverouillerCellulesVides()
    'Commence par tout vérouiller
    With Sheets("Sheet1")
        .Unprotect "1234"

        With Intersect(.UsedRange, .Range("B:E"))
        .Cells.Locked = True
        'On Error Resume Next
        .SpecialCells(xlCellTypeBlanks).Locked = False
        End With

        .Protect "1234"
    End With
End Sub

Bonjour,

rapidement car boulot oblige

Essaie ce code :

Sub DeverouillerCellulesVides()
'Macro modifiée par Dan le 26/11/2009
Dim i as byte
For i = 1 To 4
With Sheets ("Sheet" & i)
    .Unprotect "1234"
    If i = 1 Then
        With Intersect(.UsedRange, .Range("A5:J11"))
        .Cells.Locked = True
        .SpecialCells(xlCellTypeBlanks).Locked = False
        End With
    End If
    If i = 2 Then
        With Intersect(.UsedRange, .Range("A5:M38"))
        .Cells.Locked = True
        .SpecialCells(xlCellTypeBlanks).Locked = False
        End With
    End If
    If i = 3 Then
        With Intersect(.UsedRange, .Range("A5:N150"))
        .Cells.Locked = True
        .SpecialCells(xlCellTypeBlanks).Locked = False
        End With
        End If
    If i = 4 Then
        With Intersect(.UsedRange, .Range("A5:N171"))
        .Cells.Locked = True
        .SpecialCells(xlCellTypeBlanks).Locked = False
        End With
    End If
    .Protect "1234"
End With
Next
End Sub

Amicalement

Dan

Bonjour Dan,

Cela fonctionne nickel !!

Mais, comme il y a tjs un "mais" , j'aurais du le préciser à la base,

si mes 4 feuilles se nomment Lundi, pour la 1 et les autres Mardi, Mercredi et Jeudi,

où faut-il modifier ce paramètre dans le code ?

Mille merci encore et bonne fin de journée.

Pasqi

Bonsoir,

Cela importe peu puisque le code s'exécute sans tenir compte du nom de ta feuille mais de sa position dans le fichier. Donc veille à mettre la feuille Lundi en premier, mardi en second et ainsi de suite.

Sinon modifie le code :

Sub DeverouillerCellulesVides()
'Macro modifiée par Dan le 26/11/2009
Dim i As Byte
For i = 1 To 4
With Sheets(i)
.Unprotect "1234"
If Sheets(i).Name = "Lundi" Then
....
....
If Sheets(i).Name = "Mardi" Then
...

Amicalement

Dan

6test-helico.xlsm (19.31 Ko)

Bonjour Dan,

Tu m'auras appris quelque chose !!

Encore grand merci,c'est impeccable.

Bonne journée.

Rechercher des sujets similaires à "adaptation macro"