Remplir puis protéger une cellule
Résolu/Fermé
FlopD
Messages postés
3
Date d'inscription
vendredi 6 septembre 2013
Statut
Membre
Dernière intervention
12 décembre 2013
-
6 sept. 2013 à 12:15
FlopD Messages postés 3 Date d'inscription vendredi 6 septembre 2013 Statut Membre Dernière intervention 12 décembre 2013 - 12 déc. 2013 à 18:56
FlopD Messages postés 3 Date d'inscription vendredi 6 septembre 2013 Statut Membre Dernière intervention 12 décembre 2013 - 12 déc. 2013 à 18:56
A voir également:
- Remplir puis protéger une cellule
- Proteger cellule excel - Guide
- Organigramme a remplir word - Guide
- Aller à la ligne dans une cellule excel - Guide
- Protéger un dossier par mot de passe - Guide
- Remplir et signer pdf - Guide
3 réponses
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
6 sept. 2013 à 13:37
6 sept. 2013 à 13:37
Bonjour,
Trois pistes pour résoudre ton problème :
- utiliser le verrouillage des cellules et n'autoriser la saisie que dans la cellule suivant celle qui vient d'être remplie (cf. ActiveSheet.Protection.AllowEditRanges.Add en macro VBA) ;
- empêcher de se retrouver dans une cellule déjà remplie et déplacer le curseur automatiquement (ex. si tes données sont en colonne A et si l'opérateur place son curseur en A12 et clique, la cellule active serait B12 ; cf. Target et Target.Offset(1,0).Select ;
- masquer la colonne de données pour ne pas que l'opérateur puisse sélectionner une des cellules interdites (en réalité on pourrait toujours le faire avec les flèches du clavier).
A+
Trois pistes pour résoudre ton problème :
- utiliser le verrouillage des cellules et n'autoriser la saisie que dans la cellule suivant celle qui vient d'être remplie (cf. ActiveSheet.Protection.AllowEditRanges.Add en macro VBA) ;
- empêcher de se retrouver dans une cellule déjà remplie et déplacer le curseur automatiquement (ex. si tes données sont en colonne A et si l'opérateur place son curseur en A12 et clique, la cellule active serait B12 ; cf. Target et Target.Offset(1,0).Select ;
- masquer la colonne de données pour ne pas que l'opérateur puisse sélectionner une des cellules interdites (en réalité on pourrait toujours le faire avec les flèches du clavier).
A+
FlopD
Messages postés
3
Date d'inscription
vendredi 6 septembre 2013
Statut
Membre
Dernière intervention
12 décembre 2013
6 sept. 2013 à 14:04
6 sept. 2013 à 14:04
Salut Zoul67,
Merci pour ton retour aussi rapide!!
Je vais étudier ta première proposition et voir si je peux bricoler quelque chose avec.
L'idée est que les cellules ne soient pas totalement verrouillées, mais protégées contre une réécriture intempestive (mauvais placement du curseurs, touche du clavier enfoncée par inadvertance). En effet, il arrive que le lecteur de code barre fasse des erreurs, d'autre fois c'est l'opérateur qui scan deux fois un même lots. Il peut être donc nécessaire de réenregistrer la cellule.
Autrement dis, une fois la cellule est remplie, si un second enregistrement est réalisé par dessus, un msgboxe d'alerte s'affiche et demande s'il l'on est sûr de vouloir écraser l'information contenue dans la cellule. Pour l'instant je bidouillais une truc avec la validation des données mais sans arriver exactement à mes fins.
Je vais me pencher sur tes conseils. Encore merci!
Merci pour ton retour aussi rapide!!
Je vais étudier ta première proposition et voir si je peux bricoler quelque chose avec.
L'idée est que les cellules ne soient pas totalement verrouillées, mais protégées contre une réécriture intempestive (mauvais placement du curseurs, touche du clavier enfoncée par inadvertance). En effet, il arrive que le lecteur de code barre fasse des erreurs, d'autre fois c'est l'opérateur qui scan deux fois un même lots. Il peut être donc nécessaire de réenregistrer la cellule.
Autrement dis, une fois la cellule est remplie, si un second enregistrement est réalisé par dessus, un msgboxe d'alerte s'affiche et demande s'il l'on est sûr de vouloir écraser l'information contenue dans la cellule. Pour l'instant je bidouillais une truc avec la validation des données mais sans arriver exactement à mes fins.
Je vais me pencher sur tes conseils. Encore merci!
FlopD
Messages postés
3
Date d'inscription
vendredi 6 septembre 2013
Statut
Membre
Dernière intervention
12 décembre 2013
Modifié par FlopD le 12/12/2013 à 19:00
Modifié par FlopD le 12/12/2013 à 19:00
Salut,
J'ai fini par trouver la réponse à mon problème, je vous post le bout de code m'ayant permis de le résoudre et le lien du site, en esperant que cela pourra servir à d'autres:
Ici le code est valable pour la plage de celullue B2 à B13. Dans mon programme je l'ai affecté à la colonne où sont entrés les codes barres.
(En prime la celulle qui a été remplie se colore)
Le lien du site: http://boisgontierjacques.free.fr/pages_site/evenements.htm#ProtectionDyn
@+
J'ai fini par trouver la réponse à mon problème, je vous post le bout de code m'ayant permis de le résoudre et le lien du site, en esperant que cela pourra servir à d'autres:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([B2:B13], Target) Is Nothing And Target.Count = 1 Then ActiveSheet.Unprotect Password:="" Target.Locked = True Target.Interior.ColorIndex = 44 ActiveSheet.Protect Password:="" End If End Sub
Ici le code est valable pour la plage de celullue B2 à B13. Dans mon programme je l'ai affecté à la colonne où sont entrés les codes barres.
(En prime la celulle qui a été remplie se colore)
Le lien du site: http://boisgontierjacques.free.fr/pages_site/evenements.htm#ProtectionDyn
@+