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 :

Déterminer la meilleure combinaison possible


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2012
    Messages : 4
    Par défaut Déterminer la meilleure combinaison possible
    Bonjour, et merci d'avance pour votre aide.

    J'ai une liste de 80 magasins à livrer depuis un entrepôt. Cette livraison peux s'effectuer en singlette (A-R direct au magasin), doublette (Magasin 1, Magasin 2, Retour à l'entrepôt) ou triplette (Magasin 1, Magasin 2, Magasin 3, Retour à l'entrepôt). J'ai d’ors et déjà établit toute les combinaison possibles (au nombre de 85400 (82160 triplettes, 3160 doublettes, et 80 singlettes) avec en colonne A le magasin 1, Colonne B le magasin 2, et en colonne C le magasin 3. La colonne D contient le coût lié à chaque route.

    J'aimerais savoir s'il est possible d'écrire un code qui détermine la meilleure combinaison (au moindre coût) pour que les 80 magasins soit livrés

    A noter, 33 camions sont disponibles pour les livraisons et certains peuvent très bien faire plusieurs tournées si celles-ci font disons moins de 200km

    D'autres variables sont amenées à être incorporées mais j'espère obtenir une piste de travail qui me permettrais d'être mis sur la bonne voie.

    J'avoue que mes connaissances en VBA sont très limitées et je ne sais pas si ce que je demande est réalisable de façon automatique et sans trop de travail.

    Je vous remerci d'avance pour votre aide, conseils et remarques,

    Cordialement

    Tfuhr

  2. #2
    Membre émérite
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Par défaut
    Pour calculer les chemins entre les villes fais des recherche sur algorithme de Dijkstra

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    Bonjour
    Pour faire cela il faudrait que tu connaisses la distance du dépot à chaque magasin.
    - Ensuite scinder ta carte ainsi obtenue en 4 point cardinaux en respectant les possibilitées (route existante ect....)
    - Ensuite couper ta liste de magasin par tes 4 points(depo---->dernier magasin de chaque tranche)=(plus grande distance )
    - Ensuite combien de camions disponibles (chauffeurs compris)
    - Ensuite les heures disponibles de livraison

    Comme tu peux le voir çà fait beaucoup de données et il en manque.
    Aurais tu un classeur en exemple?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2012
    Messages : 4
    Par défaut
    Bonjour Patrick,

    Merci de trouver ci-joint mon travail.

    33 camions sont disponibles pour la livraison et les 80 magasin doivent être livrés. Certain camions peuvent faire 2 livraisons si chacune font moins de 3 heures.

    Seule 7000 routes sont dans le fichier que je vous joint par soucis de respect des tailles limites liés au contrainte du forum. Mais cela devrait vous donner une bonne idée de l'organisation de mon fichier.

    Merci d'avance pour votre aide,

    tfuhr
    Fichiers attachés Fichiers attachés

  5. #5
    Membre émérite
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Par défaut
    Je vois sur ton profils que tu es étudiant est ce que c'est une d'exercice de l'école

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2012
    Messages : 4
    Par défaut
    Bonjour Montor. Je suis effectivement étudiant mais actuellement en stage dans une entreprise dans laquelle je suis chargé d'optimiser le transport

  7. #7
    Membre émérite
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Par défaut
    Pourquoi ne pas utiliser Autofilter

    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
    Sub TriData()
    Dim LastRow As Long
       With ActiveWorkbook.Worksheets("CombiRoute")
             LastRow = Range("A1").End(xlDown).Row
          With .Sort
            .SortFields.Clear
            'Tri par Cost
            .SortFields.Add Key:=Range("K2:K" & LastRow), SortOn:=xlSortOnValues, _
                 Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Range("A2:K" & LastRow)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
          End With
       End With
    End Sub
     
    Sub FindPath(ByVal Start As String, ByVal Dest As String)
    Dim LastRow As Long
       With ActiveWorkbook.Worksheets("CombiRoute")
           LastRow = Range("A1").End(xlDown).Row
          With .Range("A1:K" & LastRow)
               .AutoFilter Field:=3, Criteria1:=Start
               .AutoFilter Field:=7, Criteria1:=Dest
          End With
       End With
    End Sub
    exécuter (une seule fois) la fonction TriData pour trier les donnés
    après FindPath pour trouver toutes possibilités disponibles


Discussions similaires

  1. Réponses: 10
    Dernier message: 23/10/2006, 11h01
  2. Réponses: 16
    Dernier message: 20/10/2006, 16h31
  3. trouver les combinaisons possibles d'un tableau ?
    Par titoumimi dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 20/09/2006, 20h29
  4. toutes les combinaisons possibles
    Par marocleverness dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 29/05/2006, 00h11
  5. Sortir d'un tableau les combinaisons possibles
    Par juelo dans le forum Algorithmes et structures de données
    Réponses: 33
    Dernier message: 26/03/2006, 17h11

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