cumuler des données d'une liste de validation dans une même cellule

  • Initiateur de la discussion Initiateur de la discussion strange_frog
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

strange_frog

Guest
Bonjour,
je souhaiterais réussir à cumuler plusieurs données d'une liste de validation dans une même cellule (celle qui présente la liste déroulante).
J'ai bien vu que cette demande a déjà été relevée sur le site par body 71C le 27/04/2007, mais il semblerait que les échanges d'idées ce soient terminées avant la résolution du problème...
Le but étant dans une même cellule de cumuler les données (au lieu de remplacer la précédente sélection à chaque fois).
Merci beaucoup pour votre aide.
Karine
P.S.: actuellement je travaille avec Excel 2003
 
Re : cumuler des données d'une liste de validation dans une même cellule

Bonjour le Forum,
Bonjour strange_frog,

Je ne sais pas si je pourrais t'aider mais un fichier exemple de quelques lignes seulement de ton besoin nous (enfin m') aiderait à comprendre ta demande.

Jocelyn
 
Re : cumuler des données d'une liste de validation dans une même cellule

Bien sur... je viens d'en créer un.
Je créé d'une part, une liste d'affection, et d'autre part un tableau, dans lequel les noms de plantes qui peuvent soigner certaines affections apparaissent. Or chaque plante peut soigner plusieurs affections simultanément, et je souhaiterai les afficher toutes dans la même cellule... est-ce plus clair?
 

Pièces jointes

Re : cumuler des données d'une liste de validation dans une même cellule

Exemple concret: dans la case juste à droite de "plante 01" pour l'instant il y a "stress" sélectionné. J'aimerai ajouter "mal de tête" par exemple, et non pas le remplacer !!! les 2 données pourraient être l'une au-dessous de l'autre, ou séparées par un point virgule...?? mais dans cette cellule-ci (la C12)....
 
Re : cumuler des données d'une liste de validation dans une même cellule

Bonsoir,


Les choix s'ajoutent ou se retranchent si choix déjà fait.
La colonne B est cachée.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$C$2" And Target.Count = 1 Then
    Application.EnableEvents = False
    p = InStr(Target.Offset(0, -1), Target.Value)
    If p > 0 Then
      Target.Offset(0, -1) = Left(Target.Offset(0, -1), p - 1) & _
      Mid(Target.Offset(0, -1), p + Len(Target.Value) + 1)
    Else
      Target.Offset(0, -1) = Target.Offset(0, -1) & Target.Value & " "
    End If
    Target.Value = Target.Offset(0, -1)
    Application.EnableEvents = True
  End If
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

Re : cumuler des données d'une liste de validation dans une même cellule

Bonsoir,


Les choix s'ajoutent ou se retranchent si choix déjà fait.
La colonne B est cachée.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$C$2" And Target.Count = 1 Then
    Application.EnableEvents = False
    p = InStr(Target.Offset(0, -1), Target.Value)
    If p > 0 Then
      Target.Offset(0, -1) = Left(Target.Offset(0, -1), p - 1) & _
      Mid(Target.Offset(0, -1), p + Len(Target.Value) + 1)
    Else
      Target.Offset(0, -1) = Target.Offset(0, -1) & Target.Value & " "
    End If
    Target.Value = Target.Offset(0, -1)
    Application.EnableEvents = True
  End If
End Sub

JB
Formation Excel VBA JB



Bonjour,

C'est vraiment ce que je cherche à faire!

Par contre, pourriez vous m'expliquer comment faire pour avoir le résultat sur la colonne E, svp!

Merci beaucoup,

Ruavaca
 
Re : cumuler des données d'une liste de validation dans une même cellule

Je début également en VBA mais ayant utilisé target.offset récemment je crois pouvoir vous aider

Le "target" est $C$2, le target.offset (0,-1) correspond donc à un décalage de 0 ligne et de 1 colonne en arrière soit B.

Pour avoir le résultat sur la colonne E il faut donc un décalage de 2 colonnes vers la droite ce qui fait target.offset(0, 2).
 
Bonjour,

Merci pour vos réponses cela m'a rendu service.

J'ai une question supplémentaire: si l'on souhaite appliquer cette macro ("Les choix s'ajoutent ou se retranchent si choix déjà fait. La colonne B est cachée ") non pas uniquement sur la cellule C2 mais sur les cellules C2 à C50 comment peut on procéder ?

Merci,

Alexis
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

O
Réponses
4
Affichages
2 K
Onagre
O
M
Réponses
5
Affichages
3 K
Michelll38
M
N
Réponses
9
Affichages
1 K
nathalie1969
N
Retour