[RESOLU] Choix multiple dans une cellule

Hegalaldia

XLDnaute Nouveau
Slt

Dans la cellule A1, il y a une liste deroulante avec comme choix :

- Soins
- Gros travaux
- Petits travaux
- site internet

Dans cette liste, j'aimerais pouvoir selectionner plusieurs choix, de maniere qu'ils apparaissent dans la cellule.

J'ai regarde sur le site boisgontierjacques.free.fr, mais j'ai pas trouve la solution. Et je vois absolument pas comment faire ca.

Je me tourne donc vers vous pour me donner des idee pour faire ca.

Merci d'avance.
 

Pièces jointes

  • Benevoles sur centre (VIERGE).xls
    77.5 KB · Affichages: 167
Dernière édition:

Hegalaldia

XLDnaute Nouveau
Re : Choix multiple dans une cellule

Effectivement, en relisant mon post il n'est vraiment pas clair du tout. Dsl. Je l'explique mieux ici, mais je mettrais a jour mon 1e post.

Dans la cellule A1, il y a une liste deroulante avec comme choix :

- Soins
- Gros travaux
- Petits travaux
- site internet

Dans cette liste, j'aimerais pouvoir selectionner plusieurs choix, de maniere qu'ils apparaissent dans la cellule.

J'espere que c'est plus clair que la precedente :eek:
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Choix multiple dans une cellule

Voir pj

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect([A2:A99], Target) Is Nothing And Target.Count = 1 Then
     Application.EnableEvents = False
     ValSaisie = Target
     Application.Undo
     p = InStr(Target, ValSaisie)
     If p > 0 Then
       Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
       If Right(Target, 1) = ":" Then
          Target = Left(Target, Len(Target) - 1)
       End If
     Else
       If Target = "" Then
         Target = ValSaisie
       Else
        Target = Target & ":" & ValSaisie
       End If
     End If
     Application.EnableEvents = True
  End If
End Sub

En remplaçant ':' par chr(10), l'affichage des noms se fait en colonne.

JB
 

Pièces jointes

  • Benevoles%20sur%20centre%20(VIERGE)(1).xls
    95 KB · Affichages: 176
  • Benevoles%20sur%20centre%20(VIERGE)(1).xls
    95 KB · Affichages: 175
  • Benevoles%20sur%20centre%20(VIERGE)(1).xls
    95 KB · Affichages: 174
Dernière édition:

Hegalaldia

XLDnaute Nouveau
Re : Choix multiple dans une cellule

Mon explication etait plus clair ;) . C'est parfait. Merci pour ton aide. A toi aussi, quand meme, Victor21 :eek: .

Une question concernant l'utilisation. Je fait 2 choix : Soins et Petits travaux. Si je veux enlever, par exemple, Petit travaux et le remplacer par Gros travaux, ca met 2 point virgule (j'ai mofifie les 2 point entre les mots par un point virgule, avec un espace avant et apres le point virgule), donc, ca me met 2 points virgules entre les 2 mot :
Soins ; ; Gros travaux

et si j'enleve soins les 2 points virgule reste :
; ; Gros travaux

Pourquoi ca n'enleve pas un point virgule quant on enleve un choix ?
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Choix multiple dans une cellule

Pour supprimer une option déjà choisie, il faut la sélectionner dans le menu(elle disparaît de la cellule)
Ne pas modifier le contenu de la cellule manuellement.

jb
 

Pièces jointes

  • Benevoles%20sur%20centre%20(VIERGE)(1).xls
    95 KB · Affichages: 170
  • Benevoles%20sur%20centre%20(VIERGE)(1).xls
    95 KB · Affichages: 180
  • Benevoles%20sur%20centre%20(VIERGE)(1).xls
    95 KB · Affichages: 165
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : Choix multiple dans une cellule

Re, bonjour, JB :)

(j'ai mofifie les 2 point entre les mots par un point virgule, avec un espace avant et apres le point virgule)
C'est bien d'essayer de modifier un code. C'est ainsi qu'on progresse, mais il importe de le comprendre.
Je te conseille d'effectuer des tests en modifiant ta modification.

Essaie par exemple :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([A2:A99], Target) Is Nothing And Target.Count = 1 Then
Application.EnableEvents = False
ValSaisie = Target
Application.Undo
p = InStr(Target, ValSaisie)
If p > 0 Then
Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 3)
If Right(Target, 3) = " ; " Then
Target = Left(Target, Len(Target) - 3)
End If
Else
If Target = "" Then
Target = ValSaisie
Else
Target = Target & " ; " & ValSaisie
End If
End If
Application.EnableEvents = True
End If
End Sub
 
Dernière édition:

Hegalaldia

XLDnaute Nouveau
Re : [RESOLU] Choix multiple dans une cellule

Je me suis un peit peu penche sur la chose ( ;) ) et j'ai compris que le -3 et +3 c'est pour faire apparaitre ou disparaitre le nombre d'element (mon explication n'est peu etre pas tres claire, mais je ne connais pas le termes :eek: . Mais je me pose une question. J'ai voulu faire ce listing avec excel, mais ca ne serait pas mieux sous access ?

Je voudrais preciser que ce fichier servira a rechercher un ou des benevole suivant certain critere.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof