Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Protection cellule

3 réponses
Avatar
Polio2004
J'ai besoin de votre aide pour résoudre mon problème.
1. comment puis je protéger une feuille afin que l'opérateur ne puisse pas
modifier les cellules (je sais faire), par contre je veux que mon VBA vienne
y stocker les résultats de mes calculs.
2. comment puis je savoir à l'entrée d'une procédure, la cellule qui est
actuellement sélectionnée sur la feuille.
Merci de votre aide

3 réponses

Avatar
JB
1-

Sub auto_open()
Sheets(1).Protect Password:="moi", userinterfaceonly:=True
[A1] = "coucou"
End Sub

2-
Sub Essai()
MsgBox ActiveCell.Value
MsgBox ActiveCell.Address
End Sub

JB

On 6 mar, 09:30, "Polio2004" wrote:
J'ai besoin de votre aide pour résoudre mon problème.
1. comment puis je protéger une feuille afin que l'opérateur ne puiss e pas
modifier les cellules (je sais faire), par contre je veux que mon VBA vie nne
y stocker les résultats de mes calculs.
2. comment puis je savoir à l'entrée d'une procédure, la cellule qu i est
actuellement sélectionnée sur la feuille.
Merci de votre aide


Avatar
LSteph
Bonjour,
Réponse aux 1 et 2 mais surtout
Voir en 3 indication importante.

1- alt+F11 (ouvrir VBE)
dans l'explorateur de projet doublecliquer sur le ThisWorkbook de ton
classeur

a-hypothèse une seule feuille

'''''***dans le Thisworkbook du classeur******
Private sub Workbook_Open()
Feuil1.protect password:="mdp", userinterfaceonly:=true
end sub
'''''***

b-hypothèse toutes les feuilles

'''''***dans le Thisworkbook du classeur*****
Private sub Workbook_Open()
Dim sh as Worksheet
For each sh in thisworkbook.sheets
sh.protect password:="mdp", userinterfaceonly:=true
next
end sub
'''''***



2- Deux exemples

'''''***dans un module standard***
Sub zaza()
Dim CellDepart As Range
Set CellDepart = ActiveCell
'...les instructions
[e2:h4].Select
MsgBox "Coucou je suis là"
MsgBox "la cellule de départ était: " & CellDepart.Address
CellDepart.Select
MsgBox "on est revenu"
End Sub
'''''******
Sub azaz()
Dim addrCellDep As String
addrCellDep = ActiveCell.Address
'...les instructions
[e3:g7].Select
MsgBox "Coucou je suis ici"
MsgBox "la cellule de départ était: " & addrCellDep
Range(addrCellDep).Select
MsgBox "on est revenu"
End Sub
'''''****************************

3-Pour agir par macro on a pas besoin ou rarement de sélectionner

'''''***dans un module standard***
Sub zicolore()
msgbox "on ne bouge pas de cette cellule: "& activecell.address
[e3:g7].cells.interior.colorindexA
msgbox "on a pas bougé"
end sub

'Cdlt.

'lSteph

J'ai besoin de votre aide pour résoudre mon problème.
1. comment puis je protéger une feuille afin que l'opérateur ne puisse pas
modifier les cellules (je sais faire), par contre je veux que mon VBA vienne
y stocker les résultats de mes calculs.
2. comment puis je savoir à l'entrée d'une procédure, la cellule qui est
actuellement sélectionnée sur la feuille.
Merci de votre aide




Avatar
Polio2004
Merci beaucoup à tous, j'ai pu mettre en application vos suggestions.

"LSteph" a écrit dans le message de news:

Bonjour,
Réponse aux 1 et 2 mais surtout
Voir en 3 indication importante.

1- alt+F11 (ouvrir VBE)
dans l'explorateur de projet doublecliquer sur le ThisWorkbook de ton
classeur

a-hypothèse une seule feuille

'''''***dans le Thisworkbook du classeur******
Private sub Workbook_Open()
Feuil1.protect password:="mdp", userinterfaceonly:=true
end sub
'''''***

b-hypothèse toutes les feuilles

'''''***dans le Thisworkbook du classeur*****
Private sub Workbook_Open()
Dim sh as Worksheet
For each sh in thisworkbook.sheets
sh.protect password:="mdp", userinterfaceonly:=true
next
end sub
'''''***



2- Deux exemples

'''''***dans un module standard***
Sub zaza()
Dim CellDepart As Range
Set CellDepart = ActiveCell
'...les instructions
[e2:h4].Select
MsgBox "Coucou je suis là"
MsgBox "la cellule de départ était: " & CellDepart.Address
CellDepart.Select
MsgBox "on est revenu"
End Sub
'''''******
Sub azaz()
Dim addrCellDep As String
addrCellDep = ActiveCell.Address
'...les instructions
[e3:g7].Select
MsgBox "Coucou je suis ici"
MsgBox "la cellule de départ était: " & addrCellDep
Range(addrCellDep).Select
MsgBox "on est revenu"
End Sub
'''''****************************

3-Pour agir par macro on a pas besoin ou rarement de sélectionner

'''''***dans un module standard***
Sub zicolore()
msgbox "on ne bouge pas de cette cellule: "& activecell.address
[e3:g7].cells.interior.colorindexA
msgbox "on a pas bougé"
end sub

'Cdlt.

'lSteph

J'ai besoin de votre aide pour résoudre mon problème.
1. comment puis je protéger une feuille afin que l'opérateur ne puisse
pas modifier les cellules (je sais faire), par contre je veux que mon VBA
vienne y stocker les résultats de mes calculs.
2. comment puis je savoir à l'entrée d'une procédure, la cellule qui est
actuellement sélectionnée sur la feuille.
Merci de votre aide