OVH Cloud OVH Cloud

comment rendre une cellule invariante?

3 réponses
Avatar
picmin
Bonjour

J'aimerais qu'une fois une donnée rentrée dans une cellule, elle ne varie
plus.
Ex: si je dis A2=A1; et que plus tard je change A1; je voudrais que A2 ne
soit pas modifié.

Merci de me repondre si vous savez quoi faire.

3 réponses

Avatar
JB
Bonjour,

-On suppose au départ: A1 deverrouillé, feuille protégée.
Format/Cellule/protection et Outils/Protection/Protéger la feuille.

-Clicdroit onglet/Afficher Code
Dans le déroulants, choisir WorkSheet puis événnement Change:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$A$1" Then
ActiveSheet.Unprotect
Target.Locked = True
ActiveSheet.Protect
End If
Application.EnableEvents = True
End Sub


Cordialaement JB
Avatar
JB
J' ai mal lu la question:

En manuel: se placer sur A2 puis Copier/Collage spécial/Valeur

Jb
Avatar
papou
Bonjour
Clic droit sur l'onglet de ta feuille, Visualiser le code et tu places le
code suivant dans la feuille blanche à droite puis tu fermes l'éditeur VBA -
'**** Début du code ***
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target.Value <> "" Then
If Target.Offset(0, 1).Value = "" Then _
Target.Offset(0, 1).Value = Target.Value
End If
End Sub
'**** Fin du code ****

A noter donc que si la valeur en A1 est vide, la procédure ne vide pas la
valeur en B1

PS : ouf ! j'ai l'impression de me répéter aujourd'hui ;-)
Cordialement
Pascal

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

Bonjour

J'aimerais qu'une fois une donnée rentrée dans une cellule, elle ne varie
plus.
Ex: si je dis A2¡; et que plus tard je change A1; je voudrais que A2 ne
soit pas modifié.

Merci de me repondre si vous savez quoi faire.