Validation de liste dans une cellule

Validation de liste dans une cellule - VB/VBA/VBS - Programmation

Marsh Posté le 18-09-2005 à 18:18:41    

:hello: à tous,
 
J'ai créer un planning sur excel, de la cellule A1 à A25 feuille Planning, j'ai des noms de personnes (qui peuvent changer).
 
De la cellule AA1:AA25 je rentre les noms des personnes, en fonction d'horaires par l'intermédiaire d'une liste déroulante, hélas il m'arrive de mettre 2 fois le même nom (par étourderie).
 
Je ne connais pas VBA, quelqu'un peut-il me dire s'il est possible de faire une macro et éventuellement l'écrire, qui me donnerait les 25 noms, comme la liste déroulante lorsque je clique dans une cellule AA1 à AA25 et qui ne ferait apparaître que les noms qui n'ont pas été déjà affectés.
 
Merci par avance

Reply

Marsh Posté le 18-09-2005 à 18:18:41   

Reply

Marsh Posté le 18-09-2005 à 20:49:35    

bonjour,
ce que tu demandes est probablement possible. Reste à trouver celui-qui pondra ça.
Si c'était pour moi dans cette situation, je me contenterai d'une macro qui empêche la saisie de doublons.
Macro à coller dans le module de la feuille concernée (à condition qu'il n'y ait pas déjà une Sub Worksheet_Change !)

Code :
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Not Target.Count > 1 Then
  3. Set isect = Application.Intersect(Target, Range("AA1:AA25" ))
  4. If Not isect Is Nothing Then
  5. If Application.WorksheetFunction.CountIf(Range("AA1:AA25" ), Target) > 1 Then
  6. Target.ClearContents
  7. MsgBox "Doublon inadmis !"
  8. End If
  9. End If
  10. End If
  11. End Sub

Pour coller cette macro dans le module de feuille faire un clic droit sur l'onglet de cette feuille. En principe si tu ne connais pas VBA, le module est vide : Tu colles ce code.
Sinon s'il y a déjà des macros (mais pas de Sub Worksheet_Change) coller le code tout à la fin sur la première ligne vide.
S'il y a déjà une Sub Worksheet_Change il faudra faire un bricolage...
A+

Reply

Marsh Posté le 19-09-2005 à 17:03:47    

Bonjour,
 
Merci pour ta réponse, je vais essayer cela en attendant l'oiseau rare.
 
A+

Reply

Marsh Posté le 20-09-2005 à 23:10:24    

Pour ma part, je ne travaille jamais avec des listes déroulantes dans la feuille mais je crée un formulaire avec, éventuellement, des combo qui se chargent avec les contenus autorisés (pris sur une feuille "Paramètres" ).
 
Tous les tests sont possibles à partir de là.
N'ayant pas le contenu de la feuille sur laquelle tu travailles, je ne serai pas l'oiseau rare cette fois-ci.

Reply

Marsh Posté le 21-09-2005 à 18:16:17    

Bonjour,
 
J'ai trouvé plus simple pour éviter les doublons, je fais une mise en forme conditionnelle avec NB.SI, cela m'indique si je mets un nom déjà
affecté
Merci encore pour toutes vos réponses

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed