Bloquer la saisie d'une cellule à partir du Clavier

Bonsoir,

Je suis bloqué sur un problème dont j'espère avoir la réponse ici avec votre aide qui me sera très précieuse.

J'ai un tableau Excel dont les cellules sont alimenté à partir d'une balance ( poids en nombre). Les cellules sont remplie en appuyant sur le bouton Print de la balance. Une fois une cellule est remplie, elle se verrouille ( cela est fait via un code VBA).

Mon problème est le suivant :

- J'aimerai que le tableau ne soit alimenté que part la balance et de ce fait empêcher toute saisie manuelle via le clavier ( pour garantir la conformité des poids collectionnés).

est-ce que cela est possible ?

Merci d'avance pour vos retours

Cordialement;

Bonjour,

est-ce que cela est possible ?

Oui, Lorsque c'est la balance qui envoie la valeur, pas de problème puisque l'on peut écrire dans la cellule sans la sélectionner. par contre, basculer automatiquement sur la cellule d'à côté dès que l'on sélectionne cette cellule, il devient de ce fait, impossible d'y écrire quoique ce soit.

Ceci dans une macro évènementielle de la feuille, (il devient impossible de sélectionner la cellule A1)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$A$1" Then Target.Offset(0, 1).Select
End Sub

Cdlt

Merci pour votre réponse.

Le code que vous m'avez donné ne me convient pas. Puisque je dois tout d'abord sélectionner la cellule, puis appuyer sur "Print" pour la remplir.

Moi ce que je veux c'est d’empêcher la saisie via le clavier à l'ouverture du fichier. Comme ça, je peux uniquement remplir mes cellules via la balance ( ports RS32).

Bonjour,

Je vous répète, pour remplir une cellule, il n'y a pas besoin de la sélectionner.

Si lors de l'appui sur "print" ça doit remplir la cellule en question, c'est que dans le code on lui dit d'écrire dans la cellule sélectionnée. Qu'à cela ne tienne, sélectionnez une autre cellule dans la feuille excel, puis récupérer cette valeur dans la vraie cellule de destination à l'aide d'une formule.

Supposons que la cellule sélectionnée est J1 et que la véritable cellule de destination est A1

dans la cellule A1, on met la formule:

Range("A1").FormulaR1C1 = "=R1C10"

Ainsi, la cellule A1 se remplira avec la valeur suite à l'action sur "Print" mais, avec le code fourni précédemment empêchera la sélection de la cellule A1.

Cdlt

Rechercher des sujets similaires à "bloquer saisie partir clavier"