1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Code Vba pour l'optimisation de câble

Discussion dans 'Forum Excel' démarrée par zean-Missel, 9 Février 2018.

  1. zean-Missel

    zean-Missel XLDnaute Nouveau

    Inscrit depuis le :
    9 Février 2018
    Messages :
    11
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    BOURG EN BRESSE
    Utilise:
    Excel 2007 (PC)
    Bonjour à tous et à toutes,

    A partir de "x" couples (dans notre exemple 21 couples)
    je souhaiterai :
    Assembler les couples entre eux pour :
    1/ obtenir des listes de 5 lettres (non répétées) : Chaque ligne de 5 lettres utilise 10 couples
    2/ utiliser tout les couples en ayant le moins de ligne possible
    3/ les couples qui resteront seront listés à la fin

    Qui souhaite m'aidez SVP ? [​IMG] n’hésitez pas à me dire si c'est pas très compréhensible
    Voir fichier
     

    Pièces jointes:

  2. Noel Bedard

    Noel Bedard XLDnaute Occasionnel

    Inscrit depuis le :
    9 Janvier 2018
    Messages :
    148
    "J'aime" reçus :
    14
    Sexe :
    Masculin
    Habite à:
    Montréal, Province de Québec
    Utilise:
    Excel 2007 (PC)
  3. Noel Bedard

    Noel Bedard XLDnaute Occasionnel

    Inscrit depuis le :
    9 Janvier 2018
    Messages :
    148
    "J'aime" reçus :
    14
    Sexe :
    Masculin
    Habite à:
    Montréal, Province de Québec
    Utilise:
    Excel 2007 (PC)
    Je me permets d'ajouter la routine de KenDev dans votre feuille.

    À vous de l'adapter.
    Bye
    Noël
     

    Pièces jointes:

  4. zean-Missel

    zean-Missel XLDnaute Nouveau

    Inscrit depuis le :
    9 Février 2018
    Messages :
    11
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    BOURG EN BRESSE
    Utilise:
    Excel 2007 (PC)
    Bonjour Noel,
    Merci pour votre réponse ,
    Cependant ce n'est pas ce que je souhaite.
    Dans mon exemple les couples sont déjà listés en bleu.
    Je souhaiterais avec ces couples faire des séquences (pour l'exemple 5 lettres mais ça pourrait être plus ou moins) : exemple : abefg (dans cette séquence j'ai 10 couples différents tirés de ma liste du départ)
    du coup il en reste 11 (couple ) avec laquelle on fait pareil
    il devrait y avoir un reste.
    C'est la routine qui m'intéresse avec la possibilité de choisir le nombre (ici 5) dans la séquence.
     
  5. Noel Bedard

    Noel Bedard XLDnaute Occasionnel

    Inscrit depuis le :
    9 Janvier 2018
    Messages :
    148
    "J'aime" reçus :
    14
    Sexe :
    Masculin
    Habite à:
    Montréal, Province de Québec
    Utilise:
    Excel 2007 (PC)
    Bonjour,
    Donc avec 5 = 10 couples, a partir de la colonne A, je choisi les 10 premières lignes et je forme des séquences de 5 lettres. (AB,AC,AD,AE,AF,AG,BC,BD,BE,BF) = aux lettres suivantes ABCDEFG.

    ABCDE,ABCDF,ABCDG,ABCEF,ABCEG,ABCFG,ABDEF,ABDEG,ABDFG,ABEFG,ACDEF,
    ACDEG,ACDFG,ACEFG,ADEFG,BCDEF,BCDEG,BCDFG,BCEFG,BDEFG CDEFG

    Avec les 10 lignes suivantes je forme une autre séquences de 5 lettres (BF,BG,CD,CE,CF,CG,DE,DR,DG,EF) = aux lettres suivantes BCDEFG.

    BCDEF,BCDEG,BCDFG,BCEFG,BDEFG,CDEFG

    La ligne 21 qui est le reste apparaît à la fin. FG

    Mais la deuxième séquence est déjà incluse dans la première, je ne comprends vraiment pas ce que vous demandez.

    Dans votre message vous donnez comme exemple ABEFG ce qui donne les couples suivants:

    AB,AE,AF,AG,BE,BF,BG,EF,EG,FG
    il reste donc:
    AC,AD,BC,BD,CD,CE,CF,CG,DE,DF,DG
    selon votre liste en colonne A

    Excusez-moi je ne comprends rien....
     
  6. zean-Missel

    zean-Missel XLDnaute Nouveau

    Inscrit depuis le :
    9 Février 2018
    Messages :
    11
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    BOURG EN BRESSE
    Utilise:
    Excel 2007 (PC)
    Bonjour Noel,
    Tout d’abord merci de vous intéresser à mon problème.;)
    Avec 5 lettres j'ai 10 couples (combinatoire 5x4=20/2=10)
    Il ne faut donc pas partir de la liste des couples, mais des 5 lettres (qui devront être prise , non pas au hasard ni dans l'ordre mais "choisi" par la routine de façon à optimiser le nombre de ligne de 5 lettres cad le moins possible en utilisant le plus de couples possible et qu'il en reste à la fin le moins possible seule) de la en tirer les couples qui en découlent (combinatoire 5x4=20/2=10) puis les supprimer de la liste de départs.
    Dans mon exemple j'ai 21 couples d'ou je doit sotir des ensemble de 5, en réalité j'en aurais beaucoup plus.
    Je préfère pas vous embrouiller, pour l'instant restons sur cet exemple , si vous voulez bien, quand la routine sera en place , nous irons plus loin et je rentrerais dans le détail.
    Sachez que c'est pour de l'optimisation de câble électrique, que les couple sont des fils de couleurs (parfois plusieurs couleur sur le fil) et que les 5 fil sont câblé entre eux par paires .....:confused:
    La première difficulté réside dans le fait qu'il faut que vous arriviez à saisir la problématique.(pas facile je vous l'accorde)
    Après plusieurs échange de ce type je pense que j' arriverais à me faire comprendre.
    A plus:p
     
  7. Noel Bedard

    Noel Bedard XLDnaute Occasionnel

    Inscrit depuis le :
    9 Janvier 2018
    Messages :
    148
    "J'aime" reçus :
    14
    Sexe :
    Masculin
    Habite à:
    Montréal, Province de Québec
    Utilise:
    Excel 2007 (PC)
    Bonjour
    Je passe bien vite pour vous envoyer un fichier.

    Dites moi si je me rapproche de vos attentes.

    Bonne journée
    Noël
     

    Pièces jointes:

  8. zean-Missel

    zean-Missel XLDnaute Nouveau

    Inscrit depuis le :
    9 Février 2018
    Messages :
    11
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    BOURG EN BRESSE
    Utilise:
    Excel 2007 (PC)
    Bonjour Noel,
    Vous vous approchez de mes attentes.
    Les remarques sur le fichier en retour.
    N’hésitez pas à me demander si il y à encore des choses à expliciter.
    Bonne journée
     

    Pièces jointes:

  9. eriiiic

    eriiiic XLDnaute Barbatruc

    Inscrit depuis le :
    12 Juillet 2008
    Messages :
    2045
    "J'aime" reçus :
    124
    Utilise:
    Excel 2010 (PC)
    Bonjour,

    c'est un hasard que tu aies mis toutes les combinaisons de paires ou bien elles sont toujours présentes ?
    eric
     
  10. zean-Missel

    zean-Missel XLDnaute Nouveau

    Inscrit depuis le :
    9 Février 2018
    Messages :
    11
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    BOURG EN BRESSE
    Utilise:
    Excel 2007 (PC)
    Bonjour Eric,
    Non ce n'est pas un hasard , ce sont les combinaisons des élément défini en s4.
    Bonne journée
     
  11. Noel Bedard

    Noel Bedard XLDnaute Occasionnel

    Inscrit depuis le :
    9 Janvier 2018
    Messages :
    148
    "J'aime" reçus :
    14
    Sexe :
    Masculin
    Habite à:
    Montréal, Province de Québec
    Utilise:
    Excel 2007 (PC)
    Bonsoir zean-Missel et le Forum,
    Voici un autre exemple.
    Peut-être plus près qui sait.

    Pour (5 x 4) / 2 = un groupe 10, donc avec 21 paires de sélectionnées.
    1. Je prends les 10 premières paires, je forme des combinaisons de 5 lettres.
    2. Je prends les 10 suivantes paires, je fais la même chose.
    3. Il me reste la paire que j'ai pas touchée.


    Bye
    Noël
     

    Pièces jointes:

  12. zean-Missel

    zean-Missel XLDnaute Nouveau

    Inscrit depuis le :
    9 Février 2018
    Messages :
    11
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    BOURG EN BRESSE
    Utilise:
    Excel 2007 (PC)
    Bonjour Noel,
    Bonjour à tous et à toutes

    Il ne faut pas utiliser plusieurs fois la même lettre dans la ligne
    exemple : avec les 21 pairs définie plus haut :
    AB/AC/AD/AE/AF/AG/BC/BD/BE/BF/BG/CD/CE/CF/CG/DE/DF/DG/EF/EG/FG

    Lettres = A B C D E 5 lettres me donne 10 paires ( chaque lettre n'est prise 1 fois et chaque paire aussi)
    paires qui découle des 5 lettres = AB/AC/AD/AE/BC/BD/BE/CD/CE/DE

    Avec 21 c'est facile mais c'est un début l'essentiel est de trouver la routine.
    Avec les 26 lettres de l’alphabet :( 26x25)/2 = 325 pairs de départ
    Donc d'un point de vue mathématique je peut faire 32,5 groupes de 10 paires tel que ces 10 paires donne 5 lettres differentes
    Car ce que je demande, une recherche de minimum, implique d'essayer toutes les combinaisons puisque je cherche le minimum de ligne , j'ai l'impression que la routine doit optimisé son résultat en cherchant parmi toutes les possibilités (je pense)
    Une piste (Je ne suis pas programmeur) :
    on part de 5 lettres on les décomposes en pairs (10) on élimine ces 10 pairs de la liste de départ
    on continue avec 5 autre lettres etc avec pour objectif le minimum de ligne(de 5 lettres) cad = 32.5
    C'est pas facile à expliquer, soyez indulgent svp
    Bye
     
  13. Noel Bedard

    Noel Bedard XLDnaute Occasionnel

    Inscrit depuis le :
    9 Janvier 2018
    Messages :
    148
    "J'aime" reçus :
    14
    Sexe :
    Masculin
    Habite à:
    Montréal, Province de Québec
    Utilise:
    Excel 2007 (PC)
    Bonjour zean-Missel et le Forum,

    J' ai la tête un peu dure, de vieille neurones.

    Voici un tri rapide des paires.

    Je dois quitter pour la journée, je serai de retour ce soir.

    Bonne Journée
    Noël
     

    Pièces jointes:

  14. zean-Missel

    zean-Missel XLDnaute Nouveau

    Inscrit depuis le :
    9 Février 2018
    Messages :
    11
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    BOURG EN BRESSE
    Utilise:
    Excel 2007 (PC)
    Bonjour Noel,
    Je vous reverse le fichier avec 2 /3 anotations.
    Bonne soirée.

    J'ai hate de voir ce que vous allez faire ;)
     

    Pièces jointes:

  15. Noel Bedard

    Noel Bedard XLDnaute Occasionnel

    Inscrit depuis le :
    9 Janvier 2018
    Messages :
    148
    "J'aime" reçus :
    14
    Sexe :
    Masculin
    Habite à:
    Montréal, Province de Québec
    Utilise:
    Excel 2007 (PC)
    Bonjour zean-Missel et le Forum,

    Je m'excuse mais je ne voix vraiment ce que je dois faire.

    Pour la question de fils, ça ne devrait pas être un problème pour moi,
    Car depuis plus de 40 ans, je fais du câblage pour le téléphone, la télé et la radio ainsi que du réseau.

    Au service de la télé nationale ici au Canada CBC/SRC depuis près de 30 ans.

    Donc du multi paires j'en ai fais, mais je ne comprends vraiment pas ou vous allez avec votre requête.

    Désolé, Bonne soirée.
    Noël
     
  16. zean-Missel

    zean-Missel XLDnaute Nouveau

    Inscrit depuis le :
    9 Février 2018
    Messages :
    11
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    BOURG EN BRESSE
    Utilise:
    Excel 2007 (PC)
    Bonjour Noel,
    je joint le fichier avec plus d'explication.
    Si il reste des zone d'ombre n’hésitez pas ! mais ne laissez pas tombé svp !
    bonne journée, et merci
     

    Pièces jointes:

  17. Noel Bedard

    Noel Bedard XLDnaute Occasionnel

    Inscrit depuis le :
    9 Janvier 2018
    Messages :
    148
    "J'aime" reçus :
    14
    Sexe :
    Masculin
    Habite à:
    Montréal, Province de Québec
    Utilise:
    Excel 2007 (PC)
    Bonjour zean-Missel et le Forum,

    Voici:
    Je crois bien me rapprocher de vos attentes.
    J'ai sortie une liste de 325 paires. combin(26;2) A à Z regroupées en paires.
    Avec une sélection de 8 j'ai 28 paires. (8*7)/ 2
    Donc dans ma liste de 325 paires je fais une sélection aléatoire du maximum de séries de 28 paires.
    Après quoi, je fait un tri de chaque série trouvée et je garde la première lettre des 6 premières paires et les deux lettres de ma dernière qui me donne 8 lettres et cela pour chacune des 11 séries.

    Bonne journée
    Noël
     

    Pièces jointes:

  18. zean-Missel

    zean-Missel XLDnaute Nouveau

    Inscrit depuis le :
    9 Février 2018
    Messages :
    11
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    BOURG EN BRESSE
    Utilise:
    Excel 2007 (PC)
    Bonjour Noël et le forum,
    Whaou ;).
    Du beau boulot ! merci.
    2 questions si vous permettez.
    Toutes les paires sont utilisées ?
    Comment revenir à la première page ?

    Bonne journée
    A+
     
  19. zean-Missel

    zean-Missel XLDnaute Nouveau

    Inscrit depuis le :
    9 Février 2018
    Messages :
    11
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    BOURG EN BRESSE
    Utilise:
    Excel 2007 (PC)
    Rebonjour Noël,
    Comment revenir à la première page ? dsl pardon j'avais pas vu les feuilles en bas dsl.
    Çà a l'air de répondre à mes attentes. :)
    J'ai fait des essais en changeant les paramètres dans les choix une fois j'ai eu une ligne avec deux lettres B.
    Pour essayer d'affiné le programme et le rendre parfaitement utilisable :
    J'aurais besoins de mettre des numéros avec les lettres (ex : A,1,2, G, 26,B, H, etc..) pour un max de 100 éléments (même si je sais que je n'irais jamais au max)
    Est ce possible ?
    J'aurais besoin aussi de retrouver où ce trouve mes paires en rentrant dans une zone dédié une serie de x lettres et numéros allant de 1 au maximum de la selection (dans notre cas d'école 26).
    Est faisable sans trop abusé ?
    Peut on modifier la séquence ?

    Et enfin il faudrait avec le restant pouvoir les assembler pour faire 1 ou 2 ou 3 (selon le cas) lignes supplémentaires .

    En tout cas merci et BRAVO.

    A+
     
  20. Noel Bedard

    Noel Bedard XLDnaute Occasionnel

    Inscrit depuis le :
    9 Janvier 2018
    Messages :
    148
    "J'aime" reçus :
    14
    Sexe :
    Masculin
    Habite à:
    Montréal, Province de Québec
    Utilise:
    Excel 2007 (PC)
    Bonsoir à tous,

    Voilà j'ai corrigé de petits problèmes.

    Bye
    Noël
     

    Pièces jointes:

Partager cette page