Liste déroulante Excel

Résolu/Fermé
Véro - 31 mai 2016 à 16:38
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 3 juin 2016 à 16:28
Bonjour,

J'ai crée une liste déroulante dans excel, lorsque je sélectionne un choix dans la liste dans la cellule suivante ce choix n’apparaît pas mais un espace blanc apparaît. Je voudrais supprimer ces espaces blancs lorsque le choix a été sélectionné et ne peux plus être sélectionné a nouveau.

Quelqu'un peut m'aider svp ?
Véronique


A voir également:

4 réponses

The_boss_68 Messages postés 928 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 10 juin 2024 177
31 mai 2016 à 22:26
bonsoir Véro,

Sans fichier joint, c'est difficile de t'aider, à moins d'être devin

Cordialement
0
Raymond PENTIER Messages postés 58674 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 octobre 2024 17 203
1 juin 2016 à 03:50
... d'autant que l'explication n'est vraiment pas claire !
0
Bonjour The_boss_68,

Je n'arrive pas télécharge mon fichier... de quelle façon il m'est possible de le faire ?

Véro
0
Raymond PENTIER Messages postés 58674 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 octobre 2024 17 203 > Véro
1 juin 2016 à 18:59
 1) Tu vas dans https://www.cjoint.com/ 
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (8192 Ko maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
0
Véro > Raymond PENTIER Messages postés 58674 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 octobre 2024
1 juin 2016 à 19:14
Bonjour et merci pour les explications.

Voici mon fichier : http://www.cjoint.com/c/FFbrij1T0tK

Ce que j'aimerais faire se situe dans la colonne D de l'onglet # fiche projet. J'ai déjà fait une liste déroulante à l'aide de validation de données.

Ce que j'aimerais faire maintenant que je n'arrive pas à faire c'est d'éliminer les blancs dans ma liste déroulante.

Quand j'utilise une des données de la liste déroulante pour l'attribuer à un projet(ligne), celui-ci disparait, mais un espace blanc reste toujours visible dans ma liste déroulante. C’est cet espace blanc que j'aimerais voir disparaitre.

Est-ce que mon explication est plus claire?

Merci,
0
Raymond PENTIER Messages postés 58674 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 octobre 2024 17 203
1 juin 2016 à 22:12
Oh ! ça va être compliqué !
C'est toi qui as défini comme source la plage =Data!$J$2:$J$696
Il est donc normal et inévitable que la liste déroulante affiche toutes les cellules de J2 à J696 ...
Il faudrait que tu modifies cette plage au fur et à mesure de tes saisies !
0
Raymond PENTIER Messages postés 58674 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 octobre 2024 17 203
Modifié par Raymond PENTIER le 1/06/2016 à 22:28
Après divers essais infructueux, je conclus que le plus simple est encore de remplacer
""
par
"utilisé"
, dans tes formules en colonne J ; ainsi tu n'auras pas la gêne d'avoir des espaces blancs ...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
Modifié par michel_m le 2/06/2016 à 07:49
Bonjour Véro du kebek

Dans la feuille data

changer la formule "" devient 1 (ou un autre nombre)
=SI(NB.SI('# fiche projet '!D2:D273;$I2)=1;1;$I2) 

J2:J696 nommé "liste"

ta validation de données "liste" dans la feuille "fiche projet-colonne D" à recopier de ligne 2 à 273
formule dans "source"
=DECALER(liste;NB.SI(liste;1);0;NB.SI(liste;"<>"&1);1)

 Michel
0
Merci Beaucoup Michel_m de Sud-Ardèche

Ca fonctionne maintenant :).

Hourrraaaaaaa !!!!

Véro
0
Bonjour,

Après vérification approfondie... la formule fonctionne, mais de ce que je peux constater elle fonctionne seulement si je sélectionne les choix de la liste déroulante en ordre.

Exemple: si j'ai déjà sélectionné le choix 2016-01 et 2016-02, mon prochain choix sera 2016-03. ce qui est correct. Où j'ai un problème c'est si je veux sélectionner 2016-08 au lieu de 2016-03, et que je me place dans une autre cellule pour faire une nouvelle sélection, le choix 2016-08 que je viens d'attribuer à la cellule précédente est toujours disponible.

Je ne sais pas si c'est clair comme explication, mais est-ce qu'il y a une manière d'arriver à mes fins?
0
Raymond PENTIER Messages postés 58674 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 octobre 2024 17 203 > Véro
2 juin 2016 à 23:56
Oui ; j'ai déjà vu quelque chose de semblable dans une autre discussion ...
Je me souviens seulement que c'était autrement plus compliqué que la formule de Michel ! Et aucun de nous n'aurait pu deviner que tu risquais de choisir tes items dans le désordre ... Mes essais se basaient, comme Michel l'a fait, sur la fonction DECALER, que je maîtrise pas suffisamment pour avoir abouti à une formule, mais qui aurait eu le même effet. Alors pas de regret ...

Mes salutations amicales à vous tous.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
3 juin 2016 à 06:47
bonjour Véro

oui, il y a une possibilité mais en VBA....
OK ou pas OK ?
0
Bonjour,

Je crois bien que je vais laisser ça comme ça... je ne suis pas trop familière avec le VBA.

Merci pour vos bons conseils!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306 > Véro
3 juin 2016 à 16:28
Si un jour tu te décides

Option Explicit
'-----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Static Flag As Boolean, Lig As Integer

If Not Intersect(Target, Range("D2:D270")) Is Nothing And Not Flag Then
Flag = True
With Sheets("data")
Lig = .Columns("J").Find(Target, .Range("J1"), xlValues).Row
.Cells(Lig, "J").ClearContents
.Range("dispo").SpecialCells(xlCellTypeBlanks).Delete
End With
Flag = False
End If
End Sub


comment installer ?
copier cette macro
clic droit sur le nom de l'onglet de la feuille "data" (en bas de l'écran)
visualiser le code
coller
0