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

protéger des cellules suivant un contenu

10 réponses
Avatar
gael.beauverger1
Bonjour =E0 tous,
Sur un planning annuel de 12 feuilles mensuelles, je souhaite prot=E9ger
les cellules contenant les termes "RDVa", "RDVb", "TO" d=E8s que ces
termes sont saisis et laisser les autres cellules accessibles =E0 la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes f=EAtes =E0 tous,
GB54

10 réponses

Avatar
FFO
Salut à toi

A chacune de tes feuilles :

Selectionnes la entierement
Format/Cellule
Dans onglet Protection décoches Vérouillée
Fermes la fenêtre Format de cellule
Outils/Protection/Protéger la feuille
Mets éventuellement un mot de passe et Ok

Mets ce code dans son VBA (ALT/F11):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "RDVa" Or Target = "RDVb" Or Target = "TO" Then
ActiveSheet.Unprotect ("Mot de passe")
Target.Locked = True
ActiveSheet.Protect ("Mot de passe")
End If
End Sub

La saisie reste libre dans n'importe quelle cellule sauf pour celles où un
des termes :

RDVa
RDVb
TO

Est saisi
Ce qui les verrouillera et interdira toute nouvelle saisie

Celà devrait te convenir

Dis moi!!


Bonjour à tous,
Sur un planning annuel de 12 feuilles mensuelles, je souhaite protéger
les cellules contenant les termes "RDVa", "RDVb", "TO" dès que ces
termes sont saisis et laisser les autres cellules accessibles à la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes fêtes à tous,
GB54



Avatar
gael.beauverger1
Bonjour FFO
Cela fonctionne, à condition de copier le code dans chaque feuille
effectivement.
Cependant cela ne protége pas les cellules qui contenaient déjà
"RDVa", "RDVb", "TO" avant la mise en place de la macro.
Cordialement,
GB54

On 26 déc, 14:10, FFO wrote:
Salut à toi

A chacune de tes feuilles :

Selectionnes la entierement
Format/Cellule
Dans onglet Protection décoches Vérouillée
Fermes la fenêtre Format de cellule
Outils/Protection/Protéger la feuille
Mets éventuellement un mot de passe et Ok

Mets ce code dans son VBA (ALT/F11):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "RDVa" Or Target = "RDVb" Or Target = "TO" Then
ActiveSheet.Unprotect ("Mot de passe")
Target.Locked = True
ActiveSheet.Protect ("Mot de passe")
End If
End Sub

La saisie reste libre dans n'importe quelle cellule sauf pour celles où un
des termes :

RDVa
RDVb
TO

Est saisi
Ce qui les verrouillera et interdira toute nouvelle saisie

Celà devrait te convenir

Dis moi!!




Bonjour à tous,
Sur un planning annuel de 12 feuilles mensuelles, je souhaite protéger
les cellules contenant les termes "RDVa", "RDVb", "TO" dès que ces
termes sont saisis et laisser les autres cellules accessibles à la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes fêtes à tous,
GB54- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
lSteph
Bonjour,

Voir le code plus loin en respectant cette indication '''''dans
Thisworkbook

on est pas obligé de traiter chaque feuille, on peut utiliser
l'évènement correspondant dans ThisWorkbook
on est pas obligé non plus de protéger déprotéger chaque fois, il
suffit d'utiliser userinterfaceonly
nota: la protection doit être à cet effet effectuée à l'ouverture du
classeur!

Pour rappel de ce que l'on redisait encore sur ce forum il y a peu
tout cela ne protège que tant que l'utilisateur ne va pas chercher
plus loin ...
(vu ce qui existe sur la toile, pas besoin de connaitre les macros)

Ensuite partant du principe qu'il active les macros, il doit pouvoir
taper
taper TO ou RDVa ... mais comme justement remarqué par FFO cela
pose un risque,
si c'était par erreur il ne peut plus modifier, c'est verrouillé!

Il faut penser aussi à l'ajout de feuille.

Enfin pour ce qui t'ennuie dans un premier temps traiter toutes les
cellules déjà remplies
Attention limiter à la plage à traiter ici [a1:z200]
sinon ça peut être long

'''''module 1
Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells
If Not Len(c) > 0 Then
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address
End If
Next c
Next Sh

End Sub



'''''dans Thisworkbook

Option Explicit
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect password:="toto", userinterfaceonly:=True
Next

End Sub

Private Sub Workbook_SheetChange(ByVal _
Sh As Object, ByVal Target As Excel.Range)
'agit sur chaque feuille lors de la saisie
Dim c As Range
For Each c In Target.Cells
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Next
End Sub



Private Sub Workbook_NewSheet(ByVal Sh As Object)
'au cas ou on ajoute des feuilles
Sh.Cells.Locked = False
Sh.Protect password:="toto", userinterfaceonly:=True
End Sub

'''''''''''''''''''''

'lSteph
On 26 déc, 16:13, wrote:
Bonjour FFO
Cela fonctionne, à condition de copier le code dans chaque feuille
effectivement.
Cependant cela ne protége pas les cellules qui contenaient déjà
"RDVa", "RDVb", "TO" avant la mise en place de la macro.
Cordialement,
GB54

On 26 déc, 14:10, FFO wrote:

Salut à toi

A chacune de tes feuilles :

Selectionnes la entierement
Format/Cellule
Dans onglet Protection décoches Vérouillée
Fermes la fenêtre Format de cellule
Outils/Protection/Protéger la feuille
Mets éventuellement un mot de passe et Ok

Mets ce code dans son VBA (ALT/F11):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "RDVa" Or Target = "RDVb" Or Target = "TO" Then
ActiveSheet.Unprotect ("Mot de passe")
Target.Locked = True
ActiveSheet.Protect ("Mot de passe")
End If
End Sub

La saisie reste libre dans n'importe quelle cellule sauf pour celles o ù un
des termes :

RDVa
RDVb
TO

Est saisi
Ce qui les verrouillera et interdira toute nouvelle saisie

Celà devrait te convenir

Dis moi!!



Bonjour à tous,
Sur un planning annuel de 12 feuilles mensuelles, je souhaite protég er
les cellules contenant les termes "RDVa", "RDVb", "TO" dès que ces
termes sont saisis et laisser les autres cellules accessibles à la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes fêtes à tous,
GB54- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -





Avatar
gael.beauverger1
Bonjour,
Merci pour l'aide. J'ai bien conscence des alertes évoquées par
rapport à la protection de cellules.Cependant, dans un premier temps
"to", "rdva" et "rdvb" sont des activités incontournables, faisant
partie des contraintes de planning. Elles sont saisies dans un premier
temps par un animateur d'équipe. Dans un deuxième temps, chaque
opérateur peut saisir son planning d'activités sur les plages libres.

J'ai copié les macros comme tu l'indiques mais lorsque j'exécute sub
verif(), j'ai une erreur de type 13 sur la ligne: If Not Len(c) > 0
Then
Comment peut on y remédier?
Cordialement
GB54
On 26 déc, 17:19, lSteph wrote:
Bonjour,

Voir le code plus loin en respectant cette indication '''''dans
Thisworkbook

on est  pas obligé de traiter chaque feuille, on peut utiliser
l'évènement correspondant dans ThisWorkbook
on est pas obligé non plus de protéger déprotéger chaque fois, il
suffit d'utiliser userinterfaceonly
nota: la protection doit être à cet effet effectuée à l'ouverture du
classeur!

Pour rappel de ce que l'on redisait encore sur ce forum  il y a peu
tout cela ne protège que tant que l'utilisateur ne va pas chercher
plus loin ...
(vu ce qui existe sur la toile, pas besoin de connaitre les macros)

Ensuite partant du principe qu'il active les macros, il doit pouvoir
taper
taper  TO ou RDVa ... mais comme  justement remarqué  par FFO cela
pose un risque,
si c'était par erreur il ne peut plus modifier, c'est verrouillé!

Il faut penser aussi à l'ajout de feuille.

Enfin pour ce qui t'ennuie dans un premier temps traiter toutes les
cellules déjà remplies
Attention limiter à la plage à traiter ici [a1:z200]
sinon ça peut être long

'''''module 1
Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells
If Not Len(c) > 0 Then
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address
End If
Next c
Next Sh

End Sub

'''''dans Thisworkbook

Option Explicit
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect password:="toto", userinterfaceonly:=True
Next

End Sub

Private Sub Workbook_SheetChange(ByVal _
Sh As Object, ByVal Target As Excel.Range)
'agit sur chaque feuille lors de la saisie
Dim c As Range
For Each c In Target.Cells
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Next
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
'au cas ou on ajoute des feuilles
Sh.Cells.Locked = False
Sh.Protect password:="toto", userinterfaceonly:=True
End Sub

'''''''''''''''''''''

'lSteph
On 26 déc, 16:13, wrote:



Bonjour FFO
Cela fonctionne, à condition de copier le code dans chaque feuille
effectivement.
Cependant cela ne protége pas les cellules qui contenaient déjà
"RDVa", "RDVb", "TO" avant la mise en place de la macro.
Cordialement,
GB54

On 26 déc, 14:10, FFO wrote:

Salut à toi

A chacune de tes feuilles :

Selectionnes la entierement
Format/Cellule
Dans onglet Protection décoches Vérouillée
Fermes la fenêtre Format de cellule
Outils/Protection/Protéger la feuille
Mets éventuellement un mot de passe et Ok

Mets ce code dans son VBA (ALT/F11):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "RDVa" Or Target = "RDVb" Or Target = "TO" Then
ActiveSheet.Unprotect ("Mot de passe")
Target.Locked = True
ActiveSheet.Protect ("Mot de passe")
End If
End Sub

La saisie reste libre dans n'importe quelle cellule sauf pour celles o ù un
des termes :

RDVa
RDVb
TO

Est saisi
Ce qui les verrouillera et interdira toute nouvelle saisie

Celà devrait te convenir

Dis moi!!




Bonjour à tous,
Sur un planning annuel de 12 feuilles mensuelles, je souhaite prot éger
les cellules contenant les termes "RDVa", "RDVb", "TO" dès que ces
termes sont saisis et laisser les autres cellules accessibles à la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes fêtes à tous,
GB54- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -





Avatar
lSteph
Bonjour,
ceci devrait passer:

Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells

Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address

Next c
Next Sh
Application.StatusBar = False
End Sub

'lSteph

On 27 déc, 09:30, wrote:
Bonjour,
Merci pour l'aide. J'ai bien conscence des alertes évoquées par
rapport à la protection de cellules.Cependant, dans un premier temps
"to", "rdva" et "rdvb" sont des activités incontournables, faisant
partie des contraintes de planning. Elles sont saisies dans un premier
temps par un animateur d'équipe. Dans un deuxième temps, chaque
opérateur peut saisir son planning d'activités sur les plages libres.

J'ai copié les macros comme tu l'indiques mais lorsque j'exécute sub
verif(), j'ai une erreur de type 13 sur la ligne: If Not Len(c) > 0
Then
Comment peut on y remédier?
Cordialement
GB54
On 26 déc, 17:19, lSteph wrote:

Bonjour,

Voir le code plus loin en respectant cette indication '''''dans
Thisworkbook

on est pas obligé de traiter chaque feuille, on peut utiliser
l'évènement correspondant dans ThisWorkbook
on est pas obligé non plus de protéger déprotéger chaque fois, i l
suffit d'utiliser userinterfaceonly
nota: la protection doit être à cet effet effectuée à l'ouvertur e du
classeur!

Pour rappel de ce que l'on redisait encore sur ce forum il y a peu
tout cela ne protège que tant que l'utilisateur ne va pas chercher
plus loin ...
(vu ce qui existe sur la toile, pas besoin de connaitre les macros)

Ensuite partant du principe qu'il active les macros, il doit pouvoir
taper
taper TO ou RDVa ... mais comme justement remarqué par FFO cela
pose un risque,
si c'était par erreur il ne peut plus modifier, c'est verrouillé!

Il faut penser aussi à l'ajout de feuille.

Enfin pour ce qui t'ennuie dans un premier temps traiter toutes les
cellules déjà remplies
Attention limiter à la plage à traiter ici [a1:z200]
sinon ça peut être long

'''''module 1
Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells
If Not Len(c) > 0 Then
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address
End If
Next c
Next Sh

End Sub

'''''dans Thisworkbook

Option Explicit
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect password:="toto", userinterfaceonly:=True
Next

End Sub

Private Sub Workbook_SheetChange(ByVal _
Sh As Object, ByVal Target As Excel.Range)
'agit sur chaque feuille lors de la saisie
Dim c As Range
For Each c In Target.Cells
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Next
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
'au cas ou on ajoute des feuilles
Sh.Cells.Locked = False
Sh.Protect password:="toto", userinterfaceonly:=True
End Sub

'''''''''''''''''''''

'lSteph
On 26 déc, 16:13, wrote:

Bonjour FFO
Cela fonctionne, à condition de copier le code dans chaque feuille
effectivement.
Cependant cela ne protége pas les cellules qui contenaient déjà
"RDVa", "RDVb", "TO" avant la mise en place de la macro.
Cordialement,
GB54

On 26 déc, 14:10, FFO wrote:

Salut à toi

A chacune de tes feuilles :

Selectionnes la entierement
Format/Cellule
Dans onglet Protection décoches Vérouillée
Fermes la fenêtre Format de cellule
Outils/Protection/Protéger la feuille
Mets éventuellement un mot de passe et Ok

Mets ce code dans son VBA (ALT/F11):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "RDVa" Or Target = "RDVb" Or Target = "TO" Then
ActiveSheet.Unprotect ("Mot de passe")
Target.Locked = True
ActiveSheet.Protect ("Mot de passe")
End If
End Sub

La saisie reste libre dans n'importe quelle cellule sauf pour celles où un
des termes :

RDVa
RDVb
TO

Est saisi
Ce qui les verrouillera et interdira toute nouvelle saisie

Celà devrait te convenir

Dis moi!!





Bonjour à tous,
Sur un planning annuel de 12 feuilles mensuelles, je souhaite prot éger
les cellules contenant les termes "RDVa", "RDVb", "TO" dès que c es
termes sont saisis et laisser les autres cellules accessibles à la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes fêtes à tous,
GB54- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -







Avatar
gael.beauverger1
Bonjour LSteph,
Je viens de tester la macro: la ligne Select Case LCase(c)
renvoie toujours le message "Erreur d'éxécution '13'": incompatibilité
de type.
J'ai beau lire l'aide excel je ne comprends pas bien et n'arrive pas à
modifier l'instruction.
Cordialement
GB54
On 27 déc, 12:33, lSteph wrote:
Bonjour,
ceci devrait passer:

Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells

Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address

Next c
Next Sh
Application.StatusBar = False
End Sub

'lSteph

On 27 déc, 09:30, wrote:



Bonjour,
Merci pour l'aide. J'ai bien conscence des alertes évoquées par
rapport à la protection de cellules.Cependant, dans un premier temps
"to", "rdva" et "rdvb" sont des activités incontournables, faisant
partie des contraintes de planning. Elles sont saisies dans un premier
temps par un animateur d'équipe. Dans un deuxième temps, chaque
opérateur peut saisir son planning d'activités sur les plages libres .

J'ai copié les macros comme tu l'indiques mais lorsque j'exécute sub
verif(), j'ai une erreur de type 13 sur la ligne: If Not Len(c) > 0
Then
Comment peut on y remédier?
Cordialement
GB54
On 26 déc, 17:19, lSteph wrote:

Bonjour,

Voir le code plus loin en respectant cette indication '''''dans
Thisworkbook

on est  pas obligé de traiter chaque feuille, on peut utiliser
l'évènement correspondant dans ThisWorkbook
on est pas obligé non plus de protéger déprotéger chaque fois, il
suffit d'utiliser userinterfaceonly
nota: la protection doit être à cet effet effectuée à l'ouvert ure du
classeur!

Pour rappel de ce que l'on redisait encore sur ce forum  il y a peu
tout cela ne protège que tant que l'utilisateur ne va pas chercher
plus loin ...
(vu ce qui existe sur la toile, pas besoin de connaitre les macros)

Ensuite partant du principe qu'il active les macros, il doit pouvoir
taper
taper  TO ou RDVa ... mais comme  justement remarqué  par FFO cela
pose un risque,
si c'était par erreur il ne peut plus modifier, c'est verrouillé!

Il faut penser aussi à l'ajout de feuille.

Enfin pour ce qui t'ennuie dans un premier temps traiter toutes les
cellules déjà remplies
Attention limiter à la plage à traiter ici [a1:z200]
sinon ça peut être long

'''''module 1
Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells
If Not Len(c) > 0 Then
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address
End If
Next c
Next Sh

End Sub

'''''dans Thisworkbook

Option Explicit
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect password:="toto", userinterfaceonly:=True
Next

End Sub

Private Sub Workbook_SheetChange(ByVal _
Sh As Object, ByVal Target As Excel.Range)
'agit sur chaque feuille lors de la saisie
Dim c As Range
For Each c In Target.Cells
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Next
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
'au cas ou on ajoute des feuilles
Sh.Cells.Locked = False
Sh.Protect password:="toto", userinterfaceonly:=True
End Sub

'''''''''''''''''''''

'lSteph
On 26 déc, 16:13, wrote:

Bonjour FFO
Cela fonctionne, à condition de copier le code dans chaque feuille
effectivement.
Cependant cela ne protége pas les cellules qui contenaient déj à
"RDVa", "RDVb", "TO" avant la mise en place de la macro.
Cordialement,
GB54

On 26 déc, 14:10, FFO wrote:

Salut à toi

A chacune de tes feuilles :

Selectionnes la entierement
Format/Cellule
Dans onglet Protection décoches Vérouillée
Fermes la fenêtre Format de cellule
Outils/Protection/Protéger la feuille
Mets éventuellement un mot de passe et Ok

Mets ce code dans son VBA (ALT/F11):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "RDVa" Or Target = "RDVb" Or Target = "TO" Then
ActiveSheet.Unprotect ("Mot de passe")
Target.Locked = True
ActiveSheet.Protect ("Mot de passe")
End If
End Sub

La saisie reste libre dans n'importe quelle cellule sauf pour cell es où un
des termes :

RDVa
RDVb
TO

Est saisi
Ce qui les verrouillera et interdira toute nouvelle saisie

Celà devrait te convenir

Dis moi!!






Bonjour à tous,
Sur un planning annuel de 12 feuilles mensuelles, je souhaite pr otéger
les cellules contenant les termes "RDVa", "RDVb", "TO" dès que ces
termes sont saisis et laisser les autres cellules accessibles à la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes fêtes à tous,
GB54- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le text e des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -







Avatar
lSteph
Bonjour,

Bizarre?
voici un classeur qui contient douze feuilles (une par mois)
où j'ai entré deux trois valeurs textes dates et le code
en question sans rencontrer ce souci. Testé sous 97 et 2003

http://cjoint.com/?mCmfLsrmR0

(au fait tu n'aurais pas conservé en redondance des procédures
événementielles dans le code des feuilles?!)

@+

--
lSteph

On 28 déc, 08:47, wrote:
Bonjour LSteph,
Je viens de tester la macro: la ligne Select Case LCase(c)
renvoie toujours le message "Erreur d'éxécution '13'": incompatibilit é
de type.
J'ai beau lire l'aide excel je ne comprends pas bien et n'arrive pas à
modifier l'instruction.
Cordialement
GB54
On 27 déc, 12:33, lSteph wrote:

Bonjour,
ceci devrait passer:

Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells

Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address

Next c
Next Sh
Application.StatusBar = False
End Sub

'lSteph

On 27 déc, 09:30, wrote:

Bonjour,
Merci pour l'aide. J'ai bien conscence des alertes évoquées par
rapport à la protection de cellules.Cependant, dans un premier temps
"to", "rdva" et "rdvb" sont des activités incontournables, faisant
partie des contraintes de planning. Elles sont saisies dans un premier
temps par un animateur d'équipe. Dans un deuxième temps, chaque
opérateur peut saisir son planning d'activités sur les plages libr es.

J'ai copié les macros comme tu l'indiques mais lorsque j'exécute s ub
verif(), j'ai une erreur de type 13 sur la ligne: If Not Len(c) > 0
Then
Comment peut on y remédier?
Cordialement
GB54
On 26 déc, 17:19, lSteph wrote:

Bonjour,

Voir le code plus loin en respectant cette indication '''''dans
Thisworkbook

on est pas obligé de traiter chaque feuille, on peut utiliser
l'évènement correspondant dans ThisWorkbook
on est pas obligé non plus de protéger déprotéger chaque foi s, il
suffit d'utiliser userinterfaceonly
nota: la protection doit être à cet effet effectuée à l'ouve rture du
classeur!

Pour rappel de ce que l'on redisait encore sur ce forum il y a peu
tout cela ne protège que tant que l'utilisateur ne va pas chercher
plus loin ...
(vu ce qui existe sur la toile, pas besoin de connaitre les macros)

Ensuite partant du principe qu'il active les macros, il doit pouvoir
taper
taper TO ou RDVa ... mais comme justement remarqué par FFO cela
pose un risque,
si c'était par erreur il ne peut plus modifier, c'est verrouillé !

Il faut penser aussi à l'ajout de feuille.

Enfin pour ce qui t'ennuie dans un premier temps traiter toutes les
cellules déjà remplies
Attention limiter à la plage à traiter ici [a1:z200]
sinon ça peut être long

'''''module 1
Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells
If Not Len(c) > 0 Then
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address
End If
Next c
Next Sh

End Sub

'''''dans Thisworkbook

Option Explicit
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect password:="toto", userinterfaceonly:=True
Next

End Sub

Private Sub Workbook_SheetChange(ByVal _
Sh As Object, ByVal Target As Excel.Range)
'agit sur chaque feuille lors de la saisie
Dim c As Range
For Each c In Target.Cells
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Next
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
'au cas ou on ajoute des feuilles
Sh.Cells.Locked = False
Sh.Protect password:="toto", userinterfaceonly:=True
End Sub

'''''''''''''''''''''

'lSteph
On 26 déc, 16:13, wrote:

Bonjour FFO
Cela fonctionne, à condition de copier le code dans chaque feuil le
effectivement.
Cependant cela ne protége pas les cellules qui contenaient déj à
"RDVa", "RDVb", "TO" avant la mise en place de la macro.
Cordialement,
GB54

On 26 déc, 14:10, FFO wrote:

Salut à toi

A chacune de tes feuilles :

Selectionnes la entierement
Format/Cellule
Dans onglet Protection décoches Vérouillée
Fermes la fenêtre Format de cellule
Outils/Protection/Protéger la feuille
Mets éventuellement un mot de passe et Ok

Mets ce code dans son VBA (ALT/F11):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "RDVa" Or Target = "RDVb" Or Target = "TO" The n
ActiveSheet.Unprotect ("Mot de passe")
Target.Locked = True
ActiveSheet.Protect ("Mot de passe")
End If
End Sub

La saisie reste libre dans n'importe quelle cellule sauf pour ce lles où un
des termes :

RDVa
RDVb
TO

Est saisi
Ce qui les verrouillera et interdira toute nouvelle saisie

Celà devrait te convenir

Dis moi!!







Bonjour à tous,
Sur un planning annuel de 12 feuilles mensuelles, je souhaite protéger
les cellules contenant les termes "RDVa", "RDVb", "TO" dès q ue ces
termes sont saisis et laisser les autres cellules accessibles à la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes fêtes à tous,
GB54- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le te xte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -









Avatar
gael.beauverger1
Bonjour,
Je viens de refaire la manip: même message.
Je viens de vérifier les feuilles, il n'y a rien qui traine dedans, me
semble t'il.
J'ai vu ton fichier cela fonctione!
Je joins un exemple de ce que j'ai:

http://cjoint.com/?mCn6xLOiqe

Si tu peux regarder.
Cordialement,
GB54
On 28 déc, 12:13, lSteph wrote:
Bonjour,

Bizarre?
voici un classeur qui contient douze feuilles (une par mois)
où j'ai entré deux trois valeurs textes dates et le code
en question sans rencontrer ce souci. Testé sous 97 et 2003

http://cjoint.com/?mCmfLsrmR0

(au fait tu n'aurais pas conservé en redondance des procédures
événementielles   dans le code des feuilles?!)

@+

--
lSteph

On 28 déc, 08:47, wrote:



Bonjour LSteph,
Je viens de tester la macro: la ligne Select Case LCase(c)
renvoie toujours le message "Erreur d'éxécution '13'": incompatibili té
de type.
J'ai beau lire l'aide excel je ne comprends pas bien et n'arrive pas à
modifier l'instruction.
Cordialement
GB54
On 27 déc, 12:33, lSteph wrote:

Bonjour,
ceci devrait passer:

Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells

Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address

Next c
Next Sh
Application.StatusBar = False
End Sub

'lSteph

On 27 déc, 09:30, wrote:

Bonjour,
Merci pour l'aide. J'ai bien conscence des alertes évoquées par
rapport à la protection de cellules.Cependant, dans un premier tem ps
"to", "rdva" et "rdvb" sont des activités incontournables, faisant
partie des contraintes de planning. Elles sont saisies dans un premi er
temps par un animateur d'équipe. Dans un deuxième temps, chaque
opérateur peut saisir son planning d'activités sur les plages li bres.

J'ai copié les macros comme tu l'indiques mais lorsque j'exécute sub
verif(), j'ai une erreur de type 13 sur la ligne: If Not Len(c) > 0
Then
Comment peut on y remédier?
Cordialement
GB54
On 26 déc, 17:19, lSteph wrote:

Bonjour,

Voir le code plus loin en respectant cette indication '''''dans
Thisworkbook

on est  pas obligé de traiter chaque feuille, on peut utiliser
l'évènement correspondant dans ThisWorkbook
on est pas obligé non plus de protéger déprotéger chaque f ois, il
suffit d'utiliser userinterfaceonly
nota: la protection doit être à cet effet effectuée à l'ou verture du
classeur!

Pour rappel de ce que l'on redisait encore sur ce forum  il y a peu
tout cela ne protège que tant que l'utilisateur ne va pas cherch er
plus loin ...
(vu ce qui existe sur la toile, pas besoin de connaitre les macros )

Ensuite partant du principe qu'il active les macros, il doit pouvo ir
taper
taper  TO ou RDVa ... mais comme  justement remarqué  par FFO cela
pose un risque,
si c'était par erreur il ne peut plus modifier, c'est verrouill é!

Il faut penser aussi à l'ajout de feuille.

Enfin pour ce qui t'ennuie dans un premier temps traiter toutes le s
cellules déjà remplies
Attention limiter à la plage à traiter ici [a1:z200]
sinon ça peut être long

'''''module 1
Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells
If Not Len(c) > 0 Then
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address
End If
Next c
Next Sh

End Sub

'''''dans Thisworkbook

Option Explicit
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect password:="toto", userinterfaceonly:=True
Next

End Sub

Private Sub Workbook_SheetChange(ByVal _
Sh As Object, ByVal Target As Excel.Range)
'agit sur chaque feuille lors de la saisie
Dim c As Range
For Each c In Target.Cells
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Next
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
'au cas ou on ajoute des feuilles
Sh.Cells.Locked = False
Sh.Protect password:="toto", userinterfaceonly:=True
End Sub

'''''''''''''''''''''

'lSteph
On 26 déc, 16:13, wrote:

Bonjour FFO
Cela fonctionne, à condition de copier le code dans chaque feu ille
effectivement.
Cependant cela ne protége pas les cellules qui contenaient d éjà
"RDVa", "RDVb", "TO" avant la mise en place de la macro.
Cordialement,
GB54

On 26 déc, 14:10, FFO wrote:

Salut à toi

A chacune de tes feuilles :

Selectionnes la entierement
Format/Cellule
Dans onglet Protection décoches Vérouillée
Fermes la fenêtre Format de cellule
Outils/Protection/Protéger la feuille
Mets éventuellement un mot de passe et Ok

Mets ce code dans son VBA (ALT/F11):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "RDVa" Or Target = "RDVb" Or Target = "TO" T hen
ActiveSheet.Unprotect ("Mot de passe")
Target.Locked = True
ActiveSheet.Protect ("Mot de passe")
End If
End Sub

La saisie reste libre dans n'importe quelle cellule sauf pour celles où un
des termes :

RDVa
RDVb
TO

Est saisi
Ce qui les verrouillera et interdira toute nouvelle saisie

Celà devrait te convenir

Dis moi!!








Bonjour à tous,
Sur un planning annuel de 12 feuilles mensuelles, je souhait e protéger
les cellules contenant les termes "RDVa", "RDVb", "TO" dès que ces
termes sont saisis et laisser les autres cellules accessible s à la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes fêtes à tous,
GB54- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le text e des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -









Avatar
lSteph
Bonjour,

http://cjoint.com/?mCqYzbCCrI

Ceci était un exemple d'indication
Voir le code plus loin en respectant cette indication '''''dans
soit qd on regarde ce plus loin:

'''''module 1
Sub verif()

...
''''dans Thisworkbook

Option Explicit
Private Sub Workbook_Open()

Et le code vérif était dans thisworkbook au lieu de module1 et les
codes de thisworkbook eux n'y étaient pas.
Ensuite tu as des cellules qui contiennent des formules renvoyant une
erreur,
j'ai donc corrigé le code pour gérer ces erreurs.
Enfin il y a de ces "P.. de S ..de M.. de Fusions à la C.."
le truc "par excellence" à toujours éviter dans un tableau "excel"
Lire tous les posts là dessus.
J'ai solutionné en ajoutant mergearea .

Cette fois cela devrait aller, je pense.

;-)

Bonne fin d'année.

--
lSteph




On 28 déc, 14:08, wrote:
Bonjour,
Je viens de refaire la manip: même message.
Je viens de vérifier les feuilles, il n'y a rien qui traine dedans, me
semble t'il.
J'ai vu ton fichier cela fonctione!
Je joins un exemple de ce que j'ai:

http://cjoint.com/?mCn6xLOiqe

Si tu peux regarder.
Cordialement,
GB54
On 28 déc, 12:13, lSteph wrote:

Bonjour,

Bizarre?
voici un classeur qui contient douze feuilles (une par mois)
où j'ai entré deux trois valeurs textes dates et le code
en question sans rencontrer ce souci. Testé sous 97 et 2003

http://cjoint.com/?mCmfLsrmR0

(au fait tu n'aurais pas conservé en redondance des procédures
événementielles dans le code des feuilles?!)

@+

--
lSteph

On 28 déc, 08:47, wrote:

Bonjour LSteph,
Je viens de tester la macro: la ligne Select Case LCase(c)
renvoie toujours le message "Erreur d'éxécution '13'": incompatibi lité
de type.
J'ai beau lire l'aide excel je ne comprends pas bien et n'arrive pas à
modifier l'instruction.
Cordialement
GB54
On 27 déc, 12:33, lSteph wrote:

Bonjour,
ceci devrait passer:

Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells

Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address

Next c
Next Sh
Application.StatusBar = False
End Sub

'lSteph

On 27 déc, 09:30, wrote:

Bonjour,
Merci pour l'aide. J'ai bien conscence des alertes évoquées pa r
rapport à la protection de cellules.Cependant, dans un premier t emps
"to", "rdva" et "rdvb" sont des activités incontournables, faisa nt
partie des contraintes de planning. Elles sont saisies dans un pre mier
temps par un animateur d'équipe. Dans un deuxième temps, chaqu e
opérateur peut saisir son planning d'activités sur les plages libres.

J'ai copié les macros comme tu l'indiques mais lorsque j'exécu te sub
verif(), j'ai une erreur de type 13 sur la ligne: If Not Len(c) > 0
Then
Comment peut on y remédier?
Cordialement
GB54
On 26 déc, 17:19, lSteph wrote:

Bonjour,

Voir le code plus loin en respectant cette indication '''''dans
Thisworkbook

on est pas obligé de traiter chaque feuille, on peut utiliser
l'évènement correspondant dans ThisWorkbook
on est pas obligé non plus de protéger déprotéger chaque fois, il
suffit d'utiliser userinterfaceonly
nota: la protection doit être à cet effet effectuée à l' ouverture du
classeur!

Pour rappel de ce que l'on redisait encore sur ce forum il y a peu
tout cela ne protège que tant que l'utilisateur ne va pas cher cher
plus loin ...
(vu ce qui existe sur la toile, pas besoin de connaitre les macr os)

Ensuite partant du principe qu'il active les macros, il doit pou voir
taper
taper TO ou RDVa ... mais comme justement remarqué par FFO cela
pose un risque,
si c'était par erreur il ne peut plus modifier, c'est verrouil lé!

Il faut penser aussi à l'ajout de feuille.

Enfin pour ce qui t'ennuie dans un premier temps traiter toutes les
cellules déjà remplies
Attention limiter à la plage à traiter ici [a1:z200]
sinon ça peut être long

'''''module 1
Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells
If Not Len(c) > 0 Then
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address
End If
Next c
Next Sh

End Sub

'''''dans Thisworkbook

Option Explicit
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect password:="toto", userinterfaceonly:=True
Next

End Sub

Private Sub Workbook_SheetChange(ByVal _
Sh As Object, ByVal Target As Excel.Range)
'agit sur chaque feuille lors de la saisie
Dim c As Range
For Each c In Target.Cells
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Next
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
'au cas ou on ajoute des feuilles
Sh.Cells.Locked = False
Sh.Protect password:="toto", userinterfaceonly:=True
End Sub

'''''''''''''''''''''

'lSteph
On 26 déc, 16:13, wrote:

Bonjour FFO
Cela fonctionne, à condition de copier le code dans chaque f euille
effectivement.
Cependant cela ne protége pas les cellules qui contenaient d éjà
"RDVa", "RDVb", "TO" avant la mise en place de la macro.
Cordialement,
GB54








Salut à toi

A chacune de tes feuilles :

Selectionnes la entierement
Format/Cellule
Dans onglet Protection décoches Vérouillée
Fermes la fenêtre Format de cellule
Outils/Protection/Protéger la feuille
Mets éventuellement un mot de passe et Ok

Mets ce code dans son VBA (ALT/F11):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "RDVa" Or Target = "RDVb" Or Target = "TO" Then
ActiveSheet.Unprotect ("Mot de passe")
Target.Locked = True
ActiveSheet.Protect ("Mot de passe")
End If
End Sub

La saisie reste libre dans n'importe quelle cellule sauf pou r celles où un
des termes :

RDVa
RDVb
TO

Est saisi
Ce qui les verrouillera et interdira toute nouvelle saisie

Celà devrait te convenir

Dis moi!!









Bonjour à tous,
Sur un planning annuel de 12 feuilles mensuelles, je souha ite protéger
les cellules contenant les termes "RDVa", "RDVb", "TO" d ès que ces
termes sont saisis et laisser les autres cellules accessib les à la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes fêtes à tous,
GB54- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer l e texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le te xte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -











Avatar
gael.beauverger1
On 28 déc, 17:06, lSteph wrote:
Bonjour,

http://cjoint.com/?mCqYzbCCrI

Ceci était un exemple d'indication
Voir le code plus loin en respectant cette indication '''''dans
soit qd on regarde ce plus loin:

'''''module 1
Sub verif()

...
''''dans Thisworkbook

Option Explicit
Private Sub Workbook_Open()

Et le code vérif était dans thisworkbook au lieu de module1 et les
codes de thisworkbook eux n'y étaient pas.
Ensuite tu as des cellules qui contiennent des formules renvoyant une
erreur,
j'ai donc corrigé le code pour gérer ces erreurs.
Enfin il y a de ces "P.. de S ..de M.. de Fusions à la C.."
le truc "par excellence" à toujours éviter dans un tableau "excel"
Lire tous les posts là dessus.
J'ai solutionné en ajoutant mergearea .

Cette fois cela devrait aller, je pense.

;-)

Bonne fin d'année.

--
lSteph

On 28 déc, 14:08, wrote:



Bonjour,
Je viens de refaire la manip: même message.
Je viens de vérifier les feuilles, il n'y a rien qui traine dedans, me
semble t'il.
J'ai vu ton fichier cela fonctione!
Je joins un exemple de ce que j'ai:

http://cjoint.com/?mCn6xLOiqe

Si tu peux regarder.
Cordialement,
GB54
On 28 déc, 12:13, lSteph wrote:

Bonjour,

Bizarre?
voici un classeur qui contient douze feuilles (une par mois)
où j'ai entré deux trois valeurs textes dates et le code
en question sans rencontrer ce souci. Testé sous 97 et 2003

http://cjoint.com/?mCmfLsrmR0

(au fait tu n'aurais pas conservé en redondance des procédures
événementielles   dans le code des feuilles?!)

@+

--
lSteph

On 28 déc, 08:47, wrote:

Bonjour LSteph,
Je viens de tester la macro: la ligne Select Case LCase(c)
renvoie toujours le message "Erreur d'éxécution '13'": incompati bilité
de type.
J'ai beau lire l'aide excel je ne comprends pas bien et n'arrive pas à
modifier l'instruction.
Cordialement
GB54
On 27 déc, 12:33, lSteph wrote:

Bonjour,
ceci devrait passer:

Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells

Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address

Next c
Next Sh
Application.StatusBar = False
End Sub

'lSteph

On 27 déc, 09:30, wrote:

Bonjour,
Merci pour l'aide. J'ai bien conscence des alertes évoquées par
rapport à la protection de cellules.Cependant, dans un premier temps
"to", "rdva" et "rdvb" sont des activités incontournables, fai sant
partie des contraintes de planning. Elles sont saisies dans un p remier
temps par un animateur d'équipe. Dans un deuxième temps, cha que
opérateur peut saisir son planning d'activités sur les plage s libres.

J'ai copié les macros comme tu l'indiques mais lorsque j'exé cute sub
verif(), j'ai une erreur de type 13 sur la ligne: If Not Len(c) > 0
Then
Comment peut on y remédier?
Cordialement
GB54
On 26 déc, 17:19, lSteph wrote:

Bonjour,

Voir le code plus loin en respectant cette indication '''''dan s
Thisworkbook

on est  pas obligé de traiter chaque feuille, on peut util iser
l'évènement correspondant dans ThisWorkbook
on est pas obligé non plus de protéger déprotéger chaq ue fois, il
suffit d'utiliser userinterfaceonly
nota: la protection doit être à cet effet effectuée à l'ouverture du
classeur!

Pour rappel de ce que l'on redisait encore sur ce forum  il y a peu
tout cela ne protège que tant que l'utilisateur ne va pas ch ercher
plus loin ...
(vu ce qui existe sur la toile, pas besoin de connaitre les ma cros)

Ensuite partant du principe qu'il active les macros, il doit p ouvoir
taper
taper  TO ou RDVa ... mais comme  justement remarqué   par FFO cela
pose un risque,
si c'était par erreur il ne peut plus modifier, c'est verrou illé!

Il faut penser aussi à l'ajout de feuille.

Enfin pour ce qui t'ennuie dans un premier temps traiter toute s les
cellules déjà remplies
Attention limiter à la plage à traiter ici [a1:z200]
sinon ça peut être long

'''''module 1
Sub verif()
Dim Sh As Worksheet, c As Range
For Each Sh In ThisWorkbook.Sheets

For Each c In Sh.[a1:z200].Cells
If Not Len(c) > 0 Then
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Application.StatusBar = Sh.Name & " " & c.Address
End If
Next c
Next Sh

End Sub

'''''dans Thisworkbook

Option Explicit
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect password:="toto", userinterfaceonly:=True
Next

End Sub

Private Sub Workbook_SheetChange(ByVal _
Sh As Object, ByVal Target As Excel.Range)
'agit sur chaque feuille lors de la saisie
Dim c As Range
For Each c In Target.Cells
Select Case LCase(c)
Case "rdva", "rdvb", "to"
c.Locked = True
Case Else
c.Locked = False
End Select
Next
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
'au cas ou on ajoute des feuilles
Sh.Cells.Locked = False
Sh.Protect password:="toto", userinterfaceonly:=True
End Sub

'''''''''''''''''''''

'lSteph
On 26 déc, 16:13, wrote:

Bonjour FFO
Cela fonctionne, à condition de copier le code dans chaque feuille
effectivement.
Cependant cela ne protége pas les cellules qui contenaient déjà
"RDVa", "RDVb", "TO" avant la mise en place de la macro.
Cordialement,
GB54

On 26 déc, 14:10, FFO wro te:

Salut à toi

A chacune de tes feuilles :

Selectionnes la entierement
Format/Cellule
Dans onglet Protection décoches Vérouillée
Fermes la fenêtre Format de cellule
Outils/Protection/Protéger la feuille
Mets éventuellement un mot de passe et Ok

Mets ce code dans son VBA (ALT/F11):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "RDVa" Or Target = "RDVb" Or Target = "T O" Then
ActiveSheet.Unprotect ("Mot de passe")
Target.Locked = True
ActiveSheet.Protect ("Mot de passe")
End If
End Sub

La saisie reste libre dans n'importe quelle cellule sauf p our celles où un
des termes :

RDVa
RDVb
TO

Est saisi
Ce qui les verrouillera et interdira toute nouvelle saisie

Celà devrait te convenir

Dis moi!!










Bonjour à tous,
Sur un planning annuel de 12 feuilles mensuelles, je sou haite protéger
les cellules contenant les termes "RDVa", "RDVb", "TO" d ès que ces
termes sont saisis et laisser les autres cellules access ibles à la
saisie des utilisateurs.
Cela est il possible?
Cordialement et bonnes fêtes à tous,
GB54- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le text e des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -


Bonsoir LSteph,
Grand merci.
Je teste. J'ai compris l'erreur.
Quant à ces "P.. de S ..de M.. de Fusions à la C.." , je ne maitrise
pas la forme du planning.
Cordialement et bon révéillon.
Gb54