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 :

Cascade Excel 4 niveaux


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juillet 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Juillet 2018
    Messages : 22
    Par défaut Cascade Excel 4 niveaux
    Bonjour à tous,

    Dans un premier je vous remercie par avance de l'aide que vous pourrez m'apporter. J'ai essayé de trouver avant de vous questionner des réponses sur différents forums mais pas de solution. (sauf erreur de ma part )
    Je dois lancer dans le cadre d'un projet d'association un tableau pour commander des vêtements. J'ai plusieurs choix qui découlent d'un choix effectué avant (=indirect). J'arrive bien à appliquer la formule sur le choix "Désignation Vêtement" "Homme/Femme " "Taille". Par contre je n'arrive pas à faire le choix des couleurs. A mon avis trop de choix et renommer les cellules par taille et ensuite couleurs trop compliqué. J'ai essayé avec un projet en VBA mais je débute dans la programmation et j'ai bloqué. Pouvez-vous m'aider svp je dois rendre ce travail pour début Septembre.

    Merci encore et bonnes vacances pour les chanceux
    Fichiers attachés Fichiers attachés

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    Il faut mettre les données sous forme de BD.

    Exemple en PJ

    Boisgontier

  3. #3
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juillet 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Juillet 2018
    Messages : 22
    Par défaut
    Désolé pour la réponse tardive mais je suis en congés actuellement et je n'ai pas souvent internet. Je vais donc mettre ma base de donnée comme vous me le conseillez. Je vais faire ce travail dans la semaine te je reviens vers vous. Merci de votre aide. Je vous remercie.

    Brice

  4. #4
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juillet 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Juillet 2018
    Messages : 22
    Par défaut
    Bonjour

    J'ai refait ma base de donnée dans la configuration que vous me conseillez. J'ai également avec la renommer les plages de cellules.

    Par contre, je ne comprends pas le système de liste. Comment sont-elles définies. "Données/Validation/listes" ou en automatique.

    J'ai essayé (avec mon très faible niveau) de modifier votre langage VBA mais j'ai certainement des erreurs dedans car rien ne fonctionne.

    J'ai également rajouté un niveau car nous étions sur 5 choix dans les propositions.

    Merci d'avance pour votre aide.

    Brice

    PS : Fichier en Pièce jointe.

    Tableau commande associations V3.xlsm

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    cf PJ

    Boisgontier

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    J'ai des pb de sécurité quand j'essaie de prendre votre fichier

    Dans votre fichier , il faut nommer la BD ainsi:

    Niveau1 =BD!$A$2:$A$2000
    Niveau2 =BD!$B$2:$B$2000
    Niveau3 =BD!$C$2:$C$2000
    Niveau4 =BD!$D$2:$D$2000
    prix =BD!$F$2:$F$2000


    Dans la feuille devis,il faut mettre ce code:

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not Intersect([C4:C4], Target) Is Nothing And Target.Count = 1 Then
          Set d1 = CreateObject("Scripting.Dictionary")
          For Each c In [niveau1]:  d1(c.Value) = "": Next c
          Target.Validation.Delete
          Target.Validation.Add xlValidateList, Formula1:=Join(d1.keys, ",")
         End If
         '-- niv 2
         If Not Intersect([D4:D4], Target) Is Nothing And Target.Count = 1 Then
           Set d1 = CreateObject("Scripting.Dictionary")
           For Each c In [niveau2]
             tmp = c.Offset(0, -1): If tmp = "" Then tmp = c.Offset(0, -1).End(xlUp)
             If tmp = Target.Offset(, -1) Then d1(c.Value) = ""
           Next c
           Target.Validation.Delete
           If d1.Count > 0 Then Target.Validation.Add xlValidateList, Formula1:=Join(d1.keys, ",")
         End If
         '---niv3
         If Not Intersect([E4:E4], Target) Is Nothing And Target.Count = 1 Then
           Set d1 = CreateObject("Scripting.Dictionary")
           For Each c In [niveau3]
            If c <> "" Then
             tmp = c.Offset(0, -2): If tmp = "" Then tmp = c.Offset(0, -2).End(xlUp)
             tmp2 = c.Offset(0, -1):  If tmp2 = "" Then tmp2 = c.Offset(0, -1).End(xlUp)
             If tmp = Target.Offset(, -2) And tmp2 = Target.Offset(, -1) Then d1(c.Value) = ""
            End If
           Next c
           Target.Validation.Delete
           If d1.Count > 0 Then
             Target.Validation.Add xlValidateList, Formula1:=Join(d1.keys, ",")
           Else
             Target = ""
           End If
        End If
        '--- niv 4
         If Not Intersect([F4:F4], Target) Is Nothing And Target.Count = 1 Then
           Set d1 = CreateObject("Scripting.Dictionary")
           For Each c In [niveau4]
            If c <> "" Then
             tmp = c.Offset(0, -3): If tmp = "" Then tmp = c.Offset(0, -3).End(xlUp)
             tmp2 = c.Offset(0, -2): If tmp2 = "" Then tmp2 = c.Offset(0, -2).End(xlUp)
             tmp3 = c.Offset(0, -1):  If tmp3 = "" Then tmp3 = c.Offset(0, -1).End(xlUp)
             If tmp = Target.Offset(, -3) And tmp2 = Target.Offset(, -2) And tmp3 = Target.Offset(, -1) Then d1(c.Value) = ""
            End If
           Next c
           Target.Validation.Delete
           If d1.Count > 0 Then
              If d1.Count > 0 Then Target.Validation.Add xlValidateList, Formula1:=Join(d1.keys, ",")
            Else
              Target = ""
           End If
        End If
     End Sub
    Boisgontier

Discussions similaires

  1. Filtre en cascade Excel VBA
    Par Maxado56 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/09/2017, 05h21
  2. [XL-2010] Listes en cascade EXCEL
    Par cmrugby dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 14/04/2014, 09h51
  3. [ZF 1.5] Suppression en cascade sur plusieurs niveaux
    Par Janitrix dans le forum Zend_Db
    Réponses: 12
    Dernier message: 12/05/2008, 02h38
  4. [EXCEL] ouvrir les workbooks en cascade
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/08/2006, 12h57

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