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 deux ensembles


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 9
    Points
    9
    Par défaut combinaison de deux ensembles
    Bonjour et merci de considérer ma question

    Soit deux ensembles :
    Ensemble A contient [a, b, c, d]
    Ensemble B contient [1, 2, 3]

    Le nombre d'élément de chaque ensemble peut varier

    Je souhaite exprimer (dans un debug.print par exemple, j'adapterai)
    Toutes les combinaisons possibles des éléments de ces ensembles (A se combinant avec B)

    Exemple:
    a1 b1 c1 d1
    a2, b1, c1, d1
    a1, b2, etc...

    Je vous remercie infiniment!!!!!

    Bervando

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,

    Comme souhaité, j'ai considéré la question.
    C'est moins simple qu'il n'y parait.

    Le fichier joint te donnera peut-être une piste en exécutant la macro "Combine".

    Bonne adaptation
    Fichiers attachés Fichiers attachés

  3. #3
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    simple p'tite procédure affichant dans la feuille active les combinaisons :

    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
    Sub CombinArray(EA, EB)
        If Not IsArray(EA) Or Not IsArray(EB) Then Beep: End
        LA& = LBound(EA):  UA& = UBound(EA):  CA = UA - LA + 1:  If CA < 2 Then Beep: End
        LB& = LBound(EB):  UB& = UBound(EB):  ActiveSheet.UsedRange.Clear
        ReDim NA&(LA To UA):  ReDim RC$(1 To (UB - LB + 1) ^ CA, LA To UA)
            For C& = LA To UA - 1:  NA(C) = LB:  Next
        Do
            For NA(UA) = LB To UB
                                      R& = R& + 1
                For C = LA To UA:  RC(R, C) = EA(C) & EB(NA(C)):  Next
            Next
                 If R = UBound(RC) Then Exit Do
                 NA(UA - 1) = NA(UA - 1) + 1
            For C = UA - 1 To LA + 1 Step -1
                If NA(C) > UB Then NA(C) = LB: NA(C - 1) = NA(C - 1) + 1
            Next
        Loop
                [A1].Resize(R, CA).Value = RC
    End Sub
     
    Sub DemoIndice0()
        CombinArray Split("a b c d"), Split("1 2 3")
    End Sub
     
    Sub DemoIndice1()
        CombinArray [{"a", "b", "c", "d"}], [{"1", "2", "3"}]
    End Sub
    _______________ ____________________________________ ______________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. Clé=Combinaison de deux champs
    Par Lilou974 dans le forum Modélisation
    Réponses: 2
    Dernier message: 04/08/2008, 16h34
  2. Deux ensembles spécifiés dans la fonction << >> ont une dimensionalité différente.
    Par clementratel dans le forum Autres outils décisionnels
    Réponses: 0
    Dernier message: 20/02/2008, 16h15
  3. Produit de deux ensembles
    Par soft0613 dans le forum Scheme
    Réponses: 12
    Dernier message: 23/10/2007, 20h23
  4. combinaison de deux requetes
    Par Adren dans le forum Langage SQL
    Réponses: 4
    Dernier message: 24/03/2007, 14h03
  5. Combinaison de deux selects simples
    Par devtrax dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/09/2004, 14h09

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