la sauvegarde marche bien, et ça me demande bien avant de renseigner 2 commentaires ; j'ai mis "abc" et "def" et ça passe ; pour une nouvelle sauvegarde juste après, dans la même session Excel, ça ne me demande plus de saisir un commentaire car tous les commentaires sont mis ; pour une autre session Excel : je ferme le classeur, puis je l'ouvre à nouveau, puis je fais une sauvegarde : pas de demande de saisie d'un commentaire.
la feuille a été correctement déprotégée pour inscrire mes 2 commentaires "abc" et "def", puis reprotégée ensuite ; il n'y a pas eu de plantage ; à tout hasard, Mickael devrait essayer avec un autre mot de passe mais cette fois non numérique, par exemple "loup" ; je dis ça car peut-être qu'avec un mot de passe numérique tel que 2230, un espace se rajoute devant pour le signe « plus », et du coup, la feuille ne veut pas se déprotéger avec
" 2230"
au lieu de
"2230"
? j'sais bien que c'est plutôt
« tiré par les cheveux », mais sait-on jamais ?
j'ai Excel 2007 ; peut-être que y'a une différence de version d'Excel qui fait que ça marche pas sur le PC de Mickael car il a Excel 2016 ? notamment la différence d'interface entre SDI et MDI ; plus d'infos
ICI.
dans son énoncé, Mickael a écrit :
« Je souhaiterais obliger l’opérateur à entrer un commentaire dans la colonne « O » si l'une des colonnes (de F à N) est vide sur la ligne en cours. » ; c'est bien ce que tu as fait : "abc" et "def" se sont inscrits en colonne
O ; mais je me demande si ce n'est pas une erreur de Mickael, car l'entête en
O32 est "
Justifier l'écart" et l'entête en
P32 est "
Commentaires" ; donc moi, j'aurais plutôt mis "abc" et "def" en colonne
P,
pas en colonne
O.
(remarque : en O32, le 1er mot est « Jusifier » : il manque le « t » !)
j'viens d'm'en rendre compte : dans la sub
Workbook_BeforeSave(), il y a :
Dim Comment As Variant
; mais
Comment
ne doit pas être utilisé en tant que nom de variable car c'est un mot-clé VBA !
(=keyword) ; en effet,
Comment
est le mot-clé pour désigner l'objet "commentaire d'une cellule" ; il faut donc utiliser
un autre nom de variable ; je te laisse le choisir.
je rappelle que
Comment
est utilisé entre autres ici :
Ligne.Columns("O").Value = Comment
: c'est la ligne surlignée en jaune du Debug.