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 :

Le solveur lancé par macro donne un résultat faux par rapport au solveur lancé manuellement [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 245
    Points
    245
    Par défaut Le solveur lancé par macro donne un résultat faux par rapport au solveur lancé manuellement
    Bonjour,

    Je suis pas un spécialiste en VBA excel.
    J'ai un 'tit soucis avec la macro que je veux utiliser pour automatiser le calcul de centroides.

    Sur le fichier excel ci-joint vous trouverez la feuille "Clusters sur 2 coordonnées"

    L'idée étant que l'utilisateur introduise dans le tableau "C4: D7" des valeurs x, y arbitraires (un couple de valeurs par centroides). Puis le solver doit minimiser la valeur située en T11.

    Manuellement, ca fonctionne très bien. au départ d'un lot de valeurs xy des centroides, il me recalcule les nouvelles.
    Mais quand je lance ma macro Solution, il m'affiche la même valeur dans toutes les cases.... Pouvez vous me suggérer des pistes de solutions pour résuodre ce problème.
    La routine en question est bonne à mon avis
    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
    Public Sub Solution()
     
        Dim CoordCluster As Range
     
        'Get user table selection
        On Error Resume Next
        Set CoordCluster = Application.InputBox(Prompt:= _
                                         "Selectionner les valeurs x, y des clusters.", _
                                         Title:="Specify Range", Type:=8)
     
        If CoordCluster Is Nothing Then Exit Sub
     
        'Check table dimensions
        If CoordCluster.Rows.Count < 2 Or Table.Columns.Count < 2 Then
            Err.Raise Number:=vbObjectError + 1000, Source:="k-Means Cluster Analysis", Description:="La sélection a un nombre insuffisant de lignes et colonnes."
        End If
     
        SolverOk SetCell:="$T$11", MaxMinVal:=2, ValueOf:="0", ByChange:=CoordCluster
        SolverSolve True        
     
    End Sub
    A bientôt j'espère!!
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Remplace ta ligne 17 par celle ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SolverOk SetCell:="$T$11", MaxMinVal:=2, ValueOf:="0", ByChange:=CoordCluster.Address
    Et corrige la ligne 14 en passant.

    Testé sur ton fichier

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 245
    Points
    245
    Par défaut
    Bonjour Mercatog,

    Pourquoi fallait-il préciser .Address?
    Merci aussi pour la petite correction que tu as repéré.

    Maintenant ça fonctionne parfaitement
    je vais continuer l'intégration des différents modules

    Un grand merci pour ton aide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2007] Le lien DDE me donne des résultats faux
    Par Guy GRANDGIRARD dans le forum Word
    Réponses: 8
    Dernier message: 02/11/2014, 22h57
  2. [XL-2007] Macro s'exécute mais donne un résultat faux
    Par Guiggs dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2013, 01h49
  3. Accès aux données d'un tableau par macro
    Par Monfy29 dans le forum QlikView
    Réponses: 2
    Dernier message: 23/11/2012, 17h57
  4. [XL-2002] Message "Pour éviter la perte de données.." apres un RefreshStyle par macro
    Par Williamm dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/08/2011, 11h35
  5. [AC-2007] Requête avec date donne un résultat faux
    Par aurel77310 dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 11/08/2010, 19h51

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