Bonjour à tous,
Je travaille sur un fichier dans lequel on ne doit pas modifier certaines colonnes dans certains cas
Je m'explique,
Colonne 6, on a un statut, "Expédié", "En-cours" Etc
Colonne 19 est renseigné "Localisation si livré"
Colonne 23 est renseigné "Localisation si dans l'en-cours"
J'aimerais que si le statut n'est pas le bon, alors on ne peut pas modifier la colonne concernée.
Exemple, si colonne 6 on a pas "Expédié", alors on ne peut pas remplir (pour la même ligne), la colonne 19
J'avais commencé mais ça ne fonctionne pas :
dans WorkSheet_Change
Je pense que le problème vient du fait que je ne maîtrise absolument pas l'outil "Target"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 dim ok as boolean If Not Intersect(Target, Range("S4:S10000")) Is Nothing Then If ok = True Then Exit Sub If Cells(Target.Row, 6) <> "Expédié" Then MsgBox ("Le statut colonne F n'est pas Expédié, vous ne pouvez donc pas remplir cette colonne") Cells(Target.Row, 19) = "" Target.Value = Target.Offset(0, -10).Value ok = True End If End If ok = False End Sub
En gros le MsgBox s'affiche à l'infini je suis obligé de forcer l'arrêt.
Je ne comprend pas et ça devient lassant...
J'aimerais que si l'on modifie la cellule alors :
1- le MsgBox s'affiche
2- Le contenu est effacé
3- le curseur est renvoyé sur la cellule (ligne target.row, colonne 6)
PS: il ne faut pas que ça s'enclenche à la séléction (ça j'avais réussi à le faire), mais bien à la modification...
Je vous remercie d'avance et j'espère sincèrement que c'est possible et que vous me sauverez...
Cordialement,
Partager