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 :

Erreur lors d'une itération


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Erreur lors d'une itération
    Bonjour à tous,

    Je suis en train de travailler sur un code doit:

    1.Lire une matrice dans un fichier txt.
    2.Générer une solution aléatoire en fonction du txt et d'une formule donnée.
    3.Optimiser la solution: en gros enregistrer la solution, et générer x solution de telle sorte que seule la plus petite solution soit enregistrée.

    Les résultats obtenus (donc décroissants) doivent être affichés sur une feuille excel.

    Dans mon cas tout fonctionne sauf l'itération, j'obtiens que des résultats nul, même en débug je trouve pas d’où provient l'erreur.

    L'itération se fait via la fonction Descent.

    En pièce jointe le code excel (code.txt) ainsi que les 3 fichiers txt à placer dans le meme dossier que le fichier excel.

    S'il vous faut d'autre précisions n'hésitez pas.

    Merci d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Je pense que ton problème vient d'ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        newCost = Cost(sol, numSlots, numRooms, matrix)
     
        If newCost <= solCost Then
            solCost = newCost
        Else
    à la création d'une variable Integer, VB l'initialise à 0, donc tant que newcost à une valeur supérieur ou = à 0, solCost reste à 0.
    Donc quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil5").Cells(i / 100, 1).Value = solCost
    toutes les 100 lignes, solCost vaut zéro puisque visiblement toutes les solutions calculées précédemment sont visiblement positives.

    Donc je propose de remplacer le signe de la comparaison
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If newCost >= solCost Then
    mais bon, vu que je ne comprends pas le problème global, c'est à toi de voir ce que tu cherches à faire


    Sur un aspect plus pratique, j'ajouterais trois remarques
    1. Si possible, tu devrais travailler avec un tableau "interne" au lieu d'utiliser les feuilles excel, tes calculs seraient bien plus rapide.
    2. Regarde l'utilisation de application.ScreenUpdating, qui te permettra déjà de gagner en performance si tu ne souhaites pas passer aux tableaux.
    3. Plutôt que d'utiliser un inputbox pour demander le nom du fichier, tu peux utiliser les outils fournis par FSO et ouvrir avec un dialoguebox te permettant de sélectionner un fichier sur le Disque.



    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. Réponses: 28
    Dernier message: 28/07/2005, 14h12
  2. Erreur lors d'une requete insert into.. select
    Par Mr N. dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/11/2004, 17h32
  3. [JSP] erreur lors d'une connexion à mySQL
    Par Jovial dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 31/08/2004, 16h48
  4. Réponses: 2
    Dernier message: 21/06/2004, 15h55
  5. Erreur lors d'une requete INNER JOIN
    Par k-lendos dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/03/2004, 15h09

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