Créer une liste à sélection multiple

Bonjour,

Après avoir essayer à maintes reprises de créer une liste déroulante à choix multiples, je n'y arrive toujours pas .. même en regardant les indications sur les autres questions du forum, les tutos youtube etc. quelque chose doit m’échapper ^^'

Alors voilà j'ai une liste de personnel mais j'aimerais pouvoir sélectionner plusieurs prénom et non un seul.... quelqu'un peut m'aider ?

De plus est-'il possible de m'indiquer la démarche à suivre pour répéter l'opération pour "le descriptif" par exemple ?

40me.xlsx (17.00 Ko)

Bonjour,

De quelle façon as-tu essayé ?

Utiliser une liste de validation pour saisir plusieurs items de la liste nécessite d'utiliser une procédure VBA, et la sélection se fait item par item dans ce type de liste, un item s'ajoute au précédent (on peut prévoir que sélectionner un item déjà présent conduit à l'ôter)...

Pour être plus précise je souhaiterais pouvoir sélectionner plusieurs choix. C'est à dire en sélectionner un premier prénom, sortir de la cellule et revenir dedans pour en sélectionner un deuxième. Si cela fonctionne, je devrais donc voir apparaître les deux prénom dans cette même cellule séparé d'une virgule... hors je n'y arrive par, ma sélection reste toujours à choix unique.

J'ai effectivement essayer d'utiliser une procédure VBA .. sans succès...

j'ai essayer de récupérer un document avec une liste à choix multiples déjà faite dessus pour récupérer le code ou même la feuille excel et remplacer avec mes données mais quand je le récupère sur mon ordinateur, les cellules normalement bien en sélection multiple redeviennent des sélection simple quand je souhaite les modifier .. je suis perdu !

Quelle proc. VBA as-tu essayée ?

Ce type de questions a déjà été traité à plusieurs reprises sur le Forum...

Je sais bien j'ai essayer touts les programmes que j'ai pu trouver sur le forum.. c'est pour ça que je demande de l'aide car peut être que je loupe une étape ... J'ai repris des programmes d'un certain Banzaï si je me souvient bien de son pseudo .. les autres je ne me souvient plus des noms .. j'ai essayer tellement de chose ..

voici un des programmes que j'ai essayer (trouvée sur ce site : http://www.contextures.com/excel-data-validation-multiple.html) :

Private Sub Worksheet_Change(ByVal Target As Range)

' Developed by Contextures Inc.

' www.contextures.com

Dim rngDV As Range

Dim oldVal As String

Dim newVal As String

If Target.Count > 1 Then GoTo exitHandler

On Error Resume Next

Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)

On Error GoTo exitHandler

If rngDV Is Nothing Then GoTo exitHandler

If Intersect(Target, rngDV) Is Nothing Then

'do nothing

Else

Application.EnableEvents = False

newVal = Target.Value

Application.Undo

oldVal = Target.Value

Target.Value = newVal

If Target.Column = 11 Then

If oldVal = "" Then

'do nothing

Else

If newVal = "" Then

'do nothing

Else

Target.Value = oldVal _

& ", " & newVal

End If

End If

End If

End If

exitHandler:

Application.EnableEvents = True

End Sub

Elle pourrait faire ce que tu souhaites, au moins en partie, mais en l'état elle n'est pas adaptée...

La première chose à voir, c'est déjà quelle(s) cellule(s) sont concernées par ce dispositif ?

C'est à préciser exactement car sur une feuille la col. G est intitulée "Humain" et sur l'autre ta liste de prénoms opère dans H4.

Il faut donc cadrer l'intervention sur l'ensemble des cellules concernées.

Ensuite, tu as dit : séparateur = virgule. Ok ! suivie d'une espace ou non ?

Enfin, est-ce que le dispositif consistant à ajouter un nom s'il n'y est pas ou à l'enlever s'il s'y trouver t'agrée ?

Cordialement.

Donc si je vous suis bien il faudrait que ma liste de prénom soit aussi en colonne G sur la même feuille ?

Dans le cas ou je ne peux pas les placer même colonne, quel est le programme à appliquer ?

Peut m'importe pour l'espace ^^ il faut juste que je puisse rajouter plusieurs choix et non un seul

Oui si je vous ai bien compris c'est exactement ce que je cherche !

Mais si tu répondais aux questions, on avancera :

à quelles cellules de quelles feuilles cela doit s'appliquer ?

Il faut savoir pour placer la proc. si une seule feuille est concernée ou plusieurs. Et pouvoir circonscrire la zone d'application...

Je suis désolée, si pour vous les réponses aux question sont évidentes c'est très loin d'être mon cas .. je manipule très peu l'informatique .. et je pensais mettre fait comprendre ... du coup voici ce que je souhaiterais réaliser j'espère être plus claire que dans mes précédents messages

je souhaiterais qu'il y ait des listes à choix multiples dans les cellules : H4 et B6 feuille "suivit de chantier"

H4 concernant les données humaines donc les cellules F2 à F5 feuille de "donnée"

B6 concernant le descriptifs avec comme choix multiple les cellules C2 à C14 feuille de "donné"

Les deux cellules sont dans la même feuille, la procédure est donc à mettre dans le module de la feuille...

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim tx$, ntx$
    If Target.Address = "$B$6" Or Target.Address = "$H$4" Then
        ntx = Target.Value
        If ntx = "" Then Exit Sub
        Application.ScreenUpdating = False
        Application.EnableEvents = False
        Application.Undo
        tx = Target.Value
        If tx <> "" Then
            If InStr(1, tx, ntx) > 0 Then
                tx = Replace(tx, ntx, "@")
                tx = Replace(tx, "@, ", "")
                tx = Replace(tx, ", @", "")
                tx = Replace(tx, "@", "")
            Else
                tx = tx & ", " & ntx
            End If
            Target = tx
        Else
            Target = ntx
        End If
        Application.EnableEvents = True
    End If
End Sub

Ce qu'elle fait :

  • si tu effaces la cellule, elle conserve l'effacement (la cellule reste vide)
  • tu sélectionnes un nom, il est inséré s'il n'y figure pas déjà
  • s'il figure déjà, il est supprimé
  • si plusieurs noms, il sont séparés par : ", "

Cordialement.

105msa-me.xlsm (23.44 Ko)

Je vous remercie pour votre aide ... cependant cela ne marche pas sur mon ordi (les macros sont bien activées) quand je clique par exemple sur un autre prénom il remplace le précédent au lieu de le rajouter avec une virgule (comme pour une liste à choix unique) .. pensez-vous savoir d'où vient le problème ?

Bonjour MSA,

Salut MFerrand

La procédure de Debra que tu as essayée d'adapter ... fonctionne très bien et présente l'avantage de te proposer le choix multiple depuis tes propres listes de validation ...

La solution de MFerrand fonctionne très bien ... si tu saisis tes noms ...sans les reprendre d'une liste de validation ...

Reste à savoir précisément ce que tu recherches ...

Retrouvez mon problème en image ce sera plus simple !

capture

Je viens de recharger le fichier que j'ai transmis, il fonctionne comme prévu !

Je te rappelle que cela fonctionne (à ta demande) en H4 et B6 de la feuille Suivit Chantier...

Oui je sais.. bien mais pourquoi cela ne fonctionne plus quand je l'ouvre sur mon ordinateur ..

C'est que les macros ne sont pas actives sur ton ordinateur !

Comme dit dans mon précédant message les macros étaient bien actives, j'ai cependant fermé mon document, désactivé puis réactivé les macros et cela à marché, merci de votre patience ! Grace a vous je vais pouvoir continuer mon travail ! Encore merci !

Bonne continuation !

Bonjour,

Je me permets de glisser mon problème dans cette conversation.

J'ai également un beau fichier avec listes déroulantes à choix multiples, mais je voudrai qu'ils se transforment (presque par magie) en listes déroulantes à choix multiples et avec sélections multiples.

Aujourd'hui j'ai le choix entre A, B ou C

Demain j'aimerai pouvoir choisir A et C ou B ou A et B etc.

J'aimerai faire ces modifications sur les colonnes D et E de l'onglet liste, les valeurs étant dans l'onglet Paramètre.

Dites moi si je suis clair !

Merci d'avance et bonne soirée

Bonjour,

Malheureusement ... se greffer su un ancien sujet n'est pas conseillé ... car cela complique le suivi des discussions ...

Il est préférable que tu crées ton propre sujet ...

Rechercher des sujets similaires à "creer liste selection multiple"