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 :

VBA : recher et verification de combinaison


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    concepteur en mécanique
    Inscrit en
    Octobre 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : concepteur en mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 7
    Par défaut VBA : recher et verification de combinaison
    bonjour,

    je suis concepteur en mécanique et je me crée parfois des fiches de calcul pour m'aider (je n'ai que les bases en C et VBA).

    mon problème est le suivant:

    j'ai 2 ensembles. groupe 1 (20 nombres). groupe 2 (10 nombre )

    je dois déterminer si je peu obtenir tous les nombre du groupe 1 en faisant des sommes des nombres du groupe 2 ( 3 nombre maximum).

    si 1 seul nombre du groupe 1 n'ai pas faisable, j’arrête le programme.

    exemple : groupe 1{1; 3; 6} groupe 2 {0.5; 2; 3}

    1=0.5+0.5

    3=3

    6=2+2+2

    les ensembles sont validés

    je pensais calculer toutes les combinaisons possibles, les mettre dans un tableau de variable et vérifier les nombres du groupe 1 un par un avec le tableau de variable.

    le problème c'est que je vais devoir créer beaucoup de variable (8000 pour toute les combinaisons du groupe 1) et que j'ai beaucoup de calcul de ce type à faire (problème de temps de calcul).

    y a t-il une solution plus élégante ?

    y a t-il des outils spécifiques aux Matrices de variable en VBA?

    (déjà poster sur un autre forum mais pas de réponce)

    cordialement

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    tu souhaites avoir quoi en sortie de tout ton calcul ?

    Une premiere piste serait de faire un calcul a base de modulo pour commencer =]
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre du Club
    Homme Profil pro
    concepteur en mécanique
    Inscrit en
    Octobre 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : concepteur en mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 7
    Par défaut
    merci pour ta réponse

    si un des nombres du groupe 1 ne peux pas être créer à partir du groupe 2, alors mon calcul changera les valeurs du groupe 2 et refera une tentative.
    si tous est valider alors le programme s'arrêtera et me renverra les bonnes valeurs du groupe 2 à choisir.

    le modulo je vois ce que c'est mais pas comment l'utiliser dans ce cas

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Pour simplifier, si par exemple tu avais 13 a faire avec 3 5 7

    13 mod 7 = 6
    6 mod 5 = 1 => impossible de continuer
    6 mod 3 = 0

    => 13 peut etre obtenu par combinaison de 7 et 3

    Tu peux faire une boucle jusqu'a ce que ton reste soit = 0 =]
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Bonjour à vous,

    Le problème avec les modulos, c'est qu'il va être difficile de savoir dans quel ordre faire les calculs.
    Le plus logique serait de commencer par le nombre le plus grand du groupe 2.

    Par exemple, essayons de faire 19 à partir de 7, 4 et 2.
    19 mod 7 = 5 => on se retrouve bloqué...
    19 mod 4 = 3 => bloqués aussi
    19 mod 2 = 1 => toujours bloqués
    Et pourtant, 19 = 7 + 4 + 4 + 4...

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    certes, mais mon 6 ici n'etait pas le reste mais la difference

    toujours est-il que c'est pure perte de temps et que faire du code en boucle pour tester suffirait largement a faire le tout en VBA, peu importe la methode.

    reste qu'a la question
    y a t-il des outils spécifiques aux Matrices de variable en VBA?
    je dis oui on peut passer par le solveur
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

Discussions similaires

  1. [VBA]performance de combinaison,tri et élimination doublons
    Par tangjuncn dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/03/2007, 23h52
  2. [VBA-E] Générer des combinaisons dans Excel
    Par JSOREL dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 07/03/2007, 17h23
  3. [VBA-E] [debutant] demande de vérification SVP
    Par Jerez62 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/12/2006, 18h02
  4. [VBA-E] verification de l'existance d'un fichier
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/03/2006, 10h09
  5. [VBA][EXCEL] suspendre verification de présence de fichier..
    Par Scuriolus dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/12/2005, 08h33

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