Selection de cellules uniquement dans une plage autorisée

Bonjour à tous,

Objectif résumé : Pouvoir sélectionner une ou plusieurs cellules uniquement dans une plage autorisée (seulement dans une procédure)

Objectif détaillé :

Programme qui permet à l'utilisateur de sélectionner une ou plusieurs cellules uniquement dans une plage autorisée ou sélectionnable (seulement dans une procédure). Après l'exécution de cette procédure, toutes les cellules redeviennent "autorisées" ou "sélectionnables".

Contexte : l'utilisateur doit pouvoir sélectionner une ou des cellules dans une plage autorisée (A1:10). Ex. l'utilisateur sélectionne A3 et A5. Il ne pourra sélectionner B3 par exemple. En cliquant sur un bouton, toutes les cellules sélectionnées recevront une valeur X. Donc A3 = X et A5 =X. Après l'exécution de cette procédure, toutes les cellules redeviennent sélectionnables. Remarque : je ne peux me servir des protections car certaines cellules sont protégées et d'autres pas.

Est-ce faisable en VBA Excel ?

Un grand merci pour la réponse

Bonjour,

Une idée dans ce fichier -> https://www.excel-pratique.com/~files/doc/Encodage_sur_Click.xls

Un click dans une cellule entre A1 et A10 te mets un X (ou l'enlève s'il y en a un) dans la cellule sélectionnée.

A te relire.

Dan

Merci infiniment Nad-Dan

La réponse que tu me donnes est vraiment intéressante, cela me donne des idées pour la suite. Ce morceau de programme est génial ! Bravo

En fait, j'ai simplifié l'énoncé. L'utilisateur ne doit pas pouvoir sélectionner d'autres cellules que A1 à A10. En bref, si mon collègue peut sélectionner une cellule hors de la plage autorisée cela va poser problème dans le programme quand il va cliquer sur le bouton valider. Donc je dois "verrouiller" les autres cellules pour qu'il ne puisse sélectionner d'autres cellules que A1 à 10.

Encore un grand merci pour ta réponse

En résumé, est-ce possible de verrouiller la sélection de toute autre cellules que A1:10 ou est-ce possible de n'autoriser que la sélection d'une ou plusieurs cellule dans la plage A1:A10 ?

Un grand merci

re,

Une idée dans ce fichier. On protège ta feuille à l'ouverture et/ou à la fermeture du fichier.

Les cellules A1 à A10 sont toujours libres pour mettre le X.

https://www.excel-pratique.com/~files/doc/Encodage_sur_Click_2.xls

Dan

Encore merci Nad-Dan

Le fait que l'utilisateur peux sélectionner d'autres cellules pose problème.

Je pense que le mieux -si c'est possible- serait que l'utilisateur ne puisse sélectionner une autre plage que les cellules dans la plage A1 à A10.

D'avance un grand merci

Bonjour

bonjour Nad&Dan

tu peux rajouter cette ligne dans le workbook_open()

Private Sub Workbook_Open()
'Macro par Dan pour Philoflore - XL pratique le 23/04/08
Worksheets(1).ScrollArea = "a1:a10"
On Error Resume Next
With Sheets("feuil1")
    .Range("A1:A10").Locked = False
    .Protect
End With
End Sub

Mais attention, si les utilisateurs ne valident pas l'utilisation des macros, cela est inutile....

Et suppose que tout le tableau est dans une page

Sinon, il faut voir les propriétés de protection, et ne pas autoriser la sélection des cellules protégées

Merci à tous pour votre aide. Finalement, j'ai opté pour cette solution :

Sub testValeurDansPlage()

Dim cel As Range

Dim ErreurSelectionNom As Integer

ErreurSelectionNom = 0

For Each cel In Selection

If (cel.Column <> 2) Or (cel.Row < 6) Or (cel.Row > 23) Then

ErreurSelectionNom = 1

End If

Next

If ErreurSelectionNom = 1 Then

MsgBox "veuillez sélectionner dans la plage B7 a B23"

Else

MsgBox "c'est ok"

End If

End Sub

Merci et à bientôt

Carpe diem !

Rechercher des sujets similaires à "selection uniquement plage autorisee"