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 :

Gestion d'une formule SUMIFS dans EXCEL VBA


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
    Consultant en finance
    Inscrit en
    Décembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en finance
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2017
    Messages : 15
    Par défaut Gestion d'une formule SUMIFS dans EXCEL VBA
    Bonjour,

    Je cherche à inscrire dans une feuille une formule "somme.si.ens" (SUMIFS) composée par la macro.

    Ca fonctionne pour des cas simples mais ça me renvoie une erreur dès que je raffine la formule.

    Quelqu'un a une idée pour régler ça ? Merci !

    Exemple 1 (ça marche avec la première définition de toto mais pas avec la deuxième) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Test()
     
    Dim toto As String
     
    'toto = "sdf"
    toto = "3 fjfj"
     
    Cells(1, 1).FormulaR1C1 = "=SUMIFS(C[1],C[2]," & toto & ")"
     
    End Sub

    Exemple 2 (ça marche dans les 2 premiers cas mais pas dans le 3ème) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Test2()
     
    origine1 = ActiveSheet.Name
    origine2 = ThisWorkbook.Name
     
    'Cells(1, 1).FormulaR1C1 = "=SUMIFS(C[1],C[2],RC[3])"
    'Cells(1, 1).FormulaR1C1 = "=SUMIFS([Classeur1]Feuil1!C2,[Classeur1]Feuil1!C1,RC[3])"
    Cells(1, 1).FormulaR1C1 = "=SUMIFS([" & origine2 & "]" & origine1 & "!C2,[" & origine2 & "]" & origine1 & "!C1,RC[3])"
     
    End Sub

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour Luc,

    Je te conseillerais d'abord d'écrire la formule dans la feuille de calcul.
    Ensuite, tu pourras l'adapter dans ton code par la méthode , plus explicite.

    A mon avis, la méthode FormaulaR1C1 (retournée par l'enregistreur de macro) est trop souvent utilisée.

  3. #3
    Membre averti
    Homme Profil pro
    Consultant en finance
    Inscrit en
    Décembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en finance
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2017
    Messages : 15
    Par défaut
    Bonjour Marcel,

    oui, j'ai bien l'impression que c'est l'utilisation de FormulaR1C1 qui me bloque (et qui m'a bien été retourné par l'enregistreur de macro ).

    Je le connais pas Formulalocal, je vais regarder. Merci !

Discussions similaires

  1. [VBA] Comment supprimer une ligne entiere dans excel
    Par babouoles dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 06/07/2017, 08h34
  2. Réponses: 3
    Dernier message: 06/05/2011, 11h30
  3. Inserer une formule (Longue) dans une cellule via VBA
    Par alex830001 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/01/2009, 12h28
  4. [VBA-E] Inserer une ligne vide dans Excel
    Par monsurf dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/07/2006, 16h48
  5. concaténation en vba dans une formule de cellule Excel
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/12/2005, 22h58

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