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
Selection de cellules uniquement dans une plage autorisée 
7 messages
• Page 1 sur 1
- philoflore
- Nouveau venu
- Messages: 7
- Inscription: 18 Avr 2008, 15:09
Bonjour,
Une idée dans ce fichier -> http://www.excel-pratique.com/~files/do ... _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
Une idée dans ce fichier -> http://www.excel-pratique.com/~files/do ... _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
- Nad-Dan
- Modérateur
- Messages: 7309
- Inscription: 27 Avr 2007, 15:30
- Localisation: Nad à Dax (France) - Dan à Liège (Belgique)
- Version Excel: 2003 FR-2007 FR-MAC 2004 FR
Complément d'information:
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
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
- philoflore
- Nouveau venu
- Messages: 7
- Inscription: 18 Avr 2008, 15:09
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.
http://www.excel-pratique.com/~files/do ... lick_2.xls
Dan
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.
http://www.excel-pratique.com/~files/do ... lick_2.xls
Dan
- Nad-Dan
- Modérateur
- Messages: 7309
- Inscription: 27 Avr 2007, 15:30
- Localisation: Nad à Dax (France) - Dan à Liège (Belgique)
- Version Excel: 2003 FR-2007 FR-MAC 2004 FR
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
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
- philoflore
- Nouveau venu
- Messages: 7
- Inscription: 18 Avr 2008, 15:09
Bonjour
bonjour Nad&Dan
tu peux rajouter cette ligne dans le workbook_open()
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
bonjour Nad&Dan
tu peux rajouter cette ligne dans le workbook_open()
- Code: Tout sélectionner
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
- felix
- Membre impliqué
- Messages: 1549
- Inscription: 11 Août 2007, 20:01
- Localisation: Landerneau, Finistère
- Version Excel: 2003 Fr (PC); 2007 Fr (PC)
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 !
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 !
- philoflore
- Nouveau venu
- Messages: 7
- Inscription: 18 Avr 2008, 15:09
7 messages
• Page 1 sur 1
-
- Sujets similaires
- Réponses
- Vus
- Dernier message
-
- Sélection cellule spécifique dans une plage
par emppapy » 11 Mars 2010, 16:45
- 7 Réponses
- 114 Vus
- Dernier message par emppapy

11 Mars 2010, 18:41
- Sélection cellule spécifique dans une plage
-
- rechercher une date dans une plage de cellules dans un class
par pictures » 08 Juil 2009, 14:04 - 8 Réponses
- 452 Vus
- Dernier message par pictures

08 Juil 2009, 16:39
- rechercher une date dans une plage de cellules dans un class
-
- recherche dans une plage de cellules
par Roland » 14 Sep 2007, 05:49 - 2 Réponses
- 892 Vus
- Dernier message par Roland

15 Sep 2007, 00:56
- recherche dans une plage de cellules
-
- doublons dans une plage de cellules
par cfn3cfn » 12 Août 2011, 08:49 - 2 Réponses
- 63 Vus
- Dernier message par cfn3cfn

12 Août 2011, 10:24
- doublons dans une plage de cellules
-
- Rechercher dans une plage de cellules
par rocket4 » 31 Mars 2012, 16:53 - 2 Réponses
- 57 Vus
- Dernier message par rocket4

31 Mars 2012, 19:00
- Rechercher dans une plage de cellules
-
- nombres d'occurences dans une plage de cellules
par jay64 » 03 Oct 2006, 14:05 - 2 Réponses
- 3006 Vus
- Dernier message par jay64

03 Oct 2006, 14:31
- nombres d'occurences dans une plage de cellules
Utilisateurs en ligne
Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot] et 1 invité