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 :

Impossible de faire marcher Une "FormulaLocal" avec SOMMEPROD [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 46
    Par défaut Impossible de faire marcher Une "FormulaLocal" avec SOMMEPROD
    Bonjour voici mon problème:

    Mon code ne marche pas au niveau du range:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub PoidsNavire()
    Dim Poids, Navire As Double
    Dim j As Long
    j = 5
     
    For i = 5 To 150
            Range("AH" & i).FormulaLocal = Evaluate("=SOMMEPROD( ($H$33:$H$15051 = Range(""AG"" & j).Value )*($F$33:$F$15051=""adr"")*($E$33:$E$15051=""mp"")*($L$33:$L$15051) )")
            j = j + 1
        Next
    End Sub
    Dans Excel ma formule marche bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '=SOMMEPROD(($H$33:$H$15051 = AG5)*($F$33:$F$15051="adr")*($E$33:$E$15051="mp")*($L$33:$L$15051))
    Mais dans VBA au niveau de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(""AG"" & j).Value
    Erreur: #NOM? sans .Value avec j'ai un #VALEUR
    ça crash, c'est un problème de conception, je n'arrive pas à mettre la main sur le problème, comment en VBA récupérer le range...

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour,

    Evaluate sert à calculer, ce n'est pas une formule attendue par FormulaLocal, l'enlever donc …

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 46
    Par défaut
    Ok je comprends, mais cela ne fonctionne toujours pas du côté de l'évaluation du i + AG :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("AH" & i).FormulaLocal = "=SOMMEPROD( ($H$33:$H$15051 = ""AG & i"" )*($F$33:$F$15051=""adr"")*($E$33:$E$15051=""mp"")*($L$33:$L$15051) )"
    Comment faire pour qu'Excel/VBA face un Eval de ""AG & i""

    Merci pour votre aide!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 46
    Par défaut
    Argh mauvaise concaténation....Désolé ça marche

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/02/2008, 20h19
  2. Réponses: 2
    Dernier message: 02/07/2007, 22h55
  3. Impossible de faire marcher SESSIONS_PER_USER
    Par jack554 dans le forum Oracle
    Réponses: 7
    Dernier message: 05/01/2005, 11h50

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