IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

menu deroulant Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    commercial
    Inscrit en
    Janvier 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 9
    Par défaut menu deroulant Excel
    Bonjour,
    Pouvez vous me renseigner ?
    Petit problème sur excel
    J'ai créer un menu déroulant avec une dizaine d(option et se menu se trouve sur plusieurs cellules a la suite de haut en bas
    et je voudrais que lorsque une option est sélectionné dans une cellules précédentes elle n'apparaisse plus dans le menu déroulant
    dans les cellules suivantes
    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Est-ce que tu connais d'avance combien de lignes contiennent des listes déroulantes de choix ?

  3. #3
    Membre régulier
    Homme Profil pro
    commercial
    Inscrit en
    Janvier 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 9
    Par défaut Menu déroulant
    Bonjour merci beaucoup de me répondre

    Oui je les connais

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Pour être certain de bien comprendre, est-ce que c'est la valeur de la liste qui doit disparaître ou la liste déroulante au complet ?


    Si c'est la valeur dans la liste, est-ce que l'ordre des cellules remplies a une importance ? (tu pourrais remplir la ligne 7 avant la 5, disons...) J'imagine qu'au final, tu ne veux voir qu'une seule occurrence d'une valeur de la liste, c'est ça ?

  5. #5
    Membre régulier
    Homme Profil pro
    commercial
    Inscrit en
    Janvier 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 9
    Par défaut Menu déroulant
    Bonjour,

    Oui c'est juste la valeur et nom aucune importance pour l'ordre des cellules
    en fait c'est sur un devis et le menu déroulant correspond aux options du bateau
    donc on peut en mettre une avant l'autre aucun problème

    merci encore de t'intéresser a mon problème

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Essaie comme ceci
    Je prends pour acquis que tes listes de validation sont en colonne A
    Il y aura sûrement des modifications à apporter...

    Dans le code de ta feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Rows.Count > 1 Then Exit Sub
        RefaireListes
    End Sub
    Dans un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Sub RefaireListes()
        Dim I As Long, nbLignes As Long
        Dim Liste As String
     
        Liste = "a,b,c,d,e,f,g,h,i,j"   'Ta liste de choix originale
        nbLignes = 10                   'La dernière ligne contenant une liste de choix
     
        Liste = ModifierListe(Liste)
     
        For I = 2 To nbLignes           '2 s'il y a des entêtes en ligne 1
            If Range("A" & I) = "" Then
                With Range("A" & I).Validation
                    .Delete
                    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                        xlBetween, Formula1:=Liste
                    .IgnoreBlank = True
                    .InCellDropdown = True
                    .InputTitle = ""
                    .ErrorTitle = ""
                    .InputMessage = ""
                    .ErrorMessage = ""
                    .ShowInput = True
                    .ShowError = True
                End With
            End If
        Next
    End Sub
     
    'On refait la liste de choix en éliminant les choix déjà inscrits
    Function ModifierListe(Liste As String) As String
        Dim I As Long
     
        For I = 2 To 10     'Modifier au besoin
            If Range("A" & I) <> "" Then
                Liste = Replace(Liste, Range("A" & I), "")
            End If
        Next
     
        Liste = Replace(Liste, ",,", ",")
     
        ModifierListe = Liste
    End Function

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/10/2013, 10h39
  2. Excel ribbon - menu deroulant dynamique
    Par seb1kl dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/10/2013, 11h16
  3. [XL-2003] Contenu d'une base de donnees Access dans menu deroulant Excel
    Par robx2309 dans le forum Excel
    Réponses: 8
    Dernier message: 06/05/2011, 19h51
  4. [VB6-Excel] Menu deroulant filtre automatique
    Par max_killer93 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/05/2007, 15h45
  5. [LG]Menu déroulant sous Pascal
    Par Apprenti Sorcier dans le forum Langage
    Réponses: 8
    Dernier message: 26/03/2004, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo