Liste déroulante Excel

Résolu
Véro -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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

4 réponses

  1. The_boss_68 Messages postés 959 Date d'inscription   Statut Membre Dernière intervention   182
     
    bonsoir Véro,

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

    Cordialement
    0
    1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
       
      ... d'autant que l'explication n'est vraiment pas claire !
      0
    2. Véro
       
      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
      1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480 > Véro
         
         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
      2. Véro > Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention  
         
        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
  2. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    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
    1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
       
      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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. Véro
       
      Merci Beaucoup Michel_m de Sud-Ardèche

      Ca fonctionne maintenant :).

      Hourrraaaaaaa !!!!

      Véro
      0
    2. Véro
       
      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
      1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480 > Véro
         
        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
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour Véro

    oui, il y a une possibilité mais en VBA....
    OK ou pas OK ?
    0
    1. Véro
       
      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
      1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > Véro
         
        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