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 :

Combinaison de plusieurs éléments avec PJ [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2019
    Messages : 13
    Par défaut Combinaison de plusieurs éléments avec PJ
    Bonjour ,
    s'il vous plait , je suis débutante en programmation vba et je souhaite réaliser la tache dans le fichier excel ci-dessous.
    Si quelqu'un parmi vous peut m'aider.
    PS:J'ai 10 Fonctions avec 5 options et je souhaite avoir toutes les combinaison possibles.
    Mon exemple est seulement pour 5 fonctions et quelques options insérées.
    Merci beaucoup.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonjour,

    Très peu de membre ouvrent les fichiers joints dès le premier poste, pour des raisons de sécurités.

    Dans la mesure du possible Pourrais-tu poster tes codes, captures d'écran, nom feuilles, ect... Ainsi qu'une explication claire de ce que tu souhaite faire.

    Tu trouveras de la sorte plus vite de l'aide.

    Bat,
    MFoxy

  3. #3
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2019
    Messages : 13
    Par défaut
    D'accord tu trouves une capture de ce que je veux, mais avec 10 fonctions chaque fonction possède 5 options qui peuvent être remplis toutes ou une seule, ainsi qu'on peut avoir 1 à 10 fonctions. (données dynamiques)
    Nom : Capture.PNG
Affichages : 152
Taille : 26,4 Ko

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    Personnellement j'ai pas compris la demande même avec la pièce jointe et le capture écran
    Peut tu expliquer davantage la demande ??
    qu'est ce que tu veux faire ?? la finalité de votre traitement??

  5. #5
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2019
    Messages : 13
    Par défaut demande urgente
    j'ai le tableau ci-dessus :
    avec 10 fonctions et 5 options;
    je peux avoir entre 0 et 10 fonctions , et 0 et 5 options. Ce sont des données dynamiques.
    Quand je vais remplir certains champs du tableau, je dois avoir l'arbre qui répond aux champs remplis.

  6. #6
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Essayez ceci
    Pièce jointe 565717

    Le code utilisé
    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
    55
    56
    57
    58
    Sub Combinaison()
        Dim DerCol As Long, DerLig As Long, Nb_Comb As Long
        Dim c As Long, l As Long, Lig As Long, m As Long
        Dim q As Long, Qte As Long
     
        Application.ScreenUpdating = False
        '**************************************************************************************
        'Détection du nombre de fonctions à analyser
        Col = 21
        Do While Cells(1, Col) = 0
            Col = Col - 1
        Loop
        DerCol = Col 'Dernière colonne contenant au moins 1 valeur parmi les 5 option
     
        DerLig = 7 'Dernière ligne
        Nb_Comb = 1
        For i = Col To 2 Step -2
            Nb_Comb = Nb_Comb * Cells(1, i)
        Next i
     
        'Marquage
        m = 1 'multiplicateur
        For c = DerCol To 3 Step -2
            Lig = 11
            If c = DerCol Then m = 1 Else m = m * Cells(1, c + 2)
            Qte = Cells(1, c)
            Do
                For q = 1 To Qte
                If c = DerCol Then
                    Range(Cells(Lig, c - 1), Cells(Lig, c)) = q
                    Lig = Lig + 1
                Else
                    Range(Cells(Lig, c - 1), Cells(Lig + m - 1, c)) = q
                    Lig = Lig + m
                End If
                Next q
            Loop While Lig <= Nb_Comb + 10
        Next c
     
        'Remplacement du marquage par les valeurs
        DerLig = Range("B10").End(xlDown).Row
        For l = 11 To DerLig
            For c = 2 To DerCol Step 2
                Select Case Cells(l, c)
                    Case 1
                        Range(Cells(l, c), Cells(l, c + 1)).Value = Range(Cells(3, c), Cells(3, c + 1)).Value
                    Case 2
                        Range(Cells(l, c), Cells(l, c + 1)).Value = Range(Cells(4, c), Cells(4, c + 1)).Value
                    Case 3
                        Range(Cells(l, c), Cells(l, c + 1)).Value = Range(Cells(5, c), Cells(5, c + 1)).Value
                    Case 4
                        Range(Cells(l, c), Cells(l, c + 1)).Value = Range(Cells(6, c), Cells(6, c + 1)).Value
                    Case 5
                        Range(Cells(l, c), Cells(l, c + 1)).Value = Range(Cells(7, c), Cells(7, c + 1)).Value
                End Select
            Next c
        Next l
    End Sub
    Cdlt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Notation de plusieur éléments avec les étoiles
    Par AmineDm dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/08/2017, 14h25
  2. Réponses: 1
    Dernier message: 29/10/2013, 12h13
  3. Combinaison de plusieurs etats avec le pattern State
    Par papaetoo dans le forum Design Patterns
    Réponses: 0
    Dernier message: 18/08/2009, 11h16
  4. drag and drop avec plusieurs éléments
    Par yohan0262 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 17/09/2008, 12h57
  5. Réponses: 1
    Dernier message: 23/04/2008, 00h05

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