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 :

Syntaxe pour SumIfs


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 57
    Par défaut Syntaxe pour SumIfs
    Bonjour à tous,

    J'essaie de trouver la bonne syntaxe pour la fonction SumIfs.

    J'ai simplifié le code au maximum, pourtant VBA bloque, Objet requis, erreur 424.

    En plage 3 se trouvent les valeurs à additionner et en plages 1 et 2 lse trouvent 2 critères à respecter ("a" et "oui")

    Quelqu'un pourrait-il m'aider à trouver la bonne syntaxe pour cette fonction ?

    Merci beaucoup.

    Fabert

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Sub test()
    plage1 = Range("B3:B9")
    plage2 = Range("C3:C9")
    plage3 = Range("D3:D9")
     
    a = WorksheetFunction.SumIfs(plage3, plage1, "a", plage2, "oui")
     
    End Sub

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    il faut instancier les plages au moyen de l'instruction Set
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set plage1 = Range("B3:B9")
    Set plage2 = Range("C3:C9")
    Set plage3 = Range("D3:D9")

    il est également conseillé de libérer la mémoire en fin de procédure, en déchargeant les variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set plage1 = Nothing
    Set plage2 = Nothing
    Set plage3 = Nothing
    et également conseillé de déclarer ses variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim a As Long
    Dim Plage1 As Range
    Dim Plage2 As Range
    Dim Plage3 As Range

  3. #3
    Membre averti
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 57
    Par défaut
    Merci,

    La déclaration des variables n'est pas mon fort. Il y a certainement un intérêt bien sûr, mais je ne l'ai pas encore intégré.

    Peux-tu me dire en quelques mots à partir de quand c'est vraiment utile?


    Merci encore.

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    c'est toujours utile surtout pour les débutants ...

    de plus tu devrais rajoute en haut de toutes tes pages de code la ligne :


  5. #5
    Membre averti
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 57
    Par défaut
    ok merci.

    Cependant, dans ma plage 1, ce sont des dates qui y figurent. Est-il possible d'affecter à plage1 le mois de la date au lieu de la date elle-même ?

    Merci.

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

Discussions similaires

  1. Syntaxe pour tester un recordset
    Par mael94420 dans le forum ASP
    Réponses: 5
    Dernier message: 21/06/2005, 12h17
  2. syntaxe pour compilation conditionnelle ?
    Par tintin72 dans le forum C
    Réponses: 9
    Dernier message: 17/05/2005, 18h12
  3. [analyse de syntaxe] pour C et C++ sur Linux
    Par Madmac dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/07/2004, 06h37
  4. [windows] recherche outils coloration syntax. pour -> htm
    Par hpfx dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 02/10/2003, 01h52
  5. Syntaxe pour avoir un seul resultat dans une requete
    Par Pompil dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/09/2003, 15h51

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