Verrouiller une ligne en fonction de la valeur d'une cellule

sime1234 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je m'adresse à vous car je n'ai pas trouver de réponse à ma question : Est-il possible de verrouiller une ligne en fonction de la valeur d'une cellule de cette ligne ?

Dans le cas présent il s'agit de "oui" sélectionné selon une liste (colonne R).
J'utilise déjà un macro afin qu'une autre cellule fusionnée prenne une couleur (ici verte) si toutes les lignes de cette cellule (par exemple de 17 à22) ont dans leur colonne R la valeur de "oui" et il faudrait qu'en plus de la couleur que le fait de mettre "oui" bloque la ligne en question mais sans forcement modifié la couleur

Je crée ce tableau pour mon travail et travaille chez moi avec Excel 2010 mais à mon travail nous avons Excel 2003

merci pour votre aide,

Bonne journée
A voir également:

4 réponses

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

C'est possible mais tu n'as pas besoin de macro pour cela, la validation peut le faire sans charger inutilement le fichier
exemple pour bloquer la saisie des colonnes A à Q en fonction de la colonne R

saisir la plage excepté la colonne R exemple sélectionner de A1 à Q50
Données/Validation/sélectionner Personnalisé/saisir cette formule
=$R1<>"oui"

il est également possible de mettre un message lors du blocage, dans la validation, onglet Alerte d'erreur, saisir un message convivial dans message d'erreur

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

j'avais déposé un fichier exemple qui à disparu, je le reposte
si oui est saisi en colonne R, il est impossible de saisir une donnée sur la ligne de la plage jaune

https://www.cjoint.com/c/DDAloqvFCNL
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour Mike

La validation fonctionne mais il existe malheureusement un moyen de la contourner : il suffit d'entrer une valeur dans une cellule non protégée et de faire un copier-coller !
Seule une macro offre une meilleure protection

Cdlmnt
0
sime1234 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci beaucoup pour votre aide, ça me semble pas mal en attendant trouver une solution qui bloque même le copier/coller

bonne soirée
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Alors comme le dit Via, il n'y a que le VBA mais même avec un code VBA il faudrait le protéger pour éviter qu'il ne soit lu et donc accéder aux mots de passe de protection, enfin c'est toujours plus de protections et dit toi bien qu'il y a toujours un moyen de contourner un blocage.
Dans ma proposition, tu peux déverrouiller les cellules de saisie et protéger la feuille ce qui limitera les accès.
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonsoir,

un exemple par macro :
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, pl As Range
    Set pl = Intersect(Target, [R:R])
    If Not pl Is Nothing Then
        Me.Unprotect Password:="pw"
        For Each c In Intersect(pl, [R:R])
            Cells(c.Row, 1).Resize(, 17).Locked = LCase(c) = "oui"
        Next c
        Me.Protect Password:="pw"
    End If
End Sub 

eric

En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0