[VBA-Excel] - protection plage de cellule sur i feuilles
Bonjour au forum et Re à Ouskel'nord,
Voilà, VBA m'a une fois de plus mis à bout:
Je n'arrive pas à comprendre pourquoi si j'ai plusieurs feuilles (très souvent), la sélection ne s'affiche que dans la dernière et pas dans les autres (la cellule n'est pas entourée pour dire qu'elle est sélectionnée mais si l'on fait un double-clic, on peut la modifier) ?
Ce n'est pas super important mais il est préférable de voir la cellule sélectionnée.
Pouvez-vous me dire ce qui ne vas pas dans ce code ?
(Si quelque chose ne va pas car si pas c'est dans mes classeurs que cela se trouve.)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Private Sub CommandButton1_Click()
If ComboBox1.Value = "" Then
MsgBox "Vous devez entrer un code !"
Exit Sub
Else
Dim i As Integer
Dim r As Range, plage As Range
Set plage = Range("D14:AD14,D21:AD21,D3,D5,S5,Y5,X3")
For i = 1 To ActiveWorkbook.Sheets.Count
With ActiveWorkbook.Sheets(i)
.Unprotect
.[D5] = Uf2.ComboBox1.Value
.Cells.Locked = True
.ChartObjects.Locked = True
plage.Locked = False
For Each r In plage
If r.Value <> "" Then
r.Locked = True
End If
Next
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
.EnableSelection = xlUnlockedCells
End With
Next
End If
Unload Uf2
End Sub |
Ce code s'exécute avec un bouton valider d'un Uf et est destiné à protéger toutes les cellules sauf celles de la "plage" qui sont encore vides.
En vous remerciant bien bas. :hola: