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 :

Comment écrire dans une cellule la fonction SUM en vba?


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut Comment écrire dans une cellule la fonction SUM en vba?
    Bonjour,

    Mise-en-situation:

    J'ai un classeur excel pour la suivi du temps d'employé.

    Je dois créer une macro qui:

    -Ajoute une feuille employé
    -Modifie une cellule qui calcule la somme du temps travaillé par tous les employés pour y ajouter le nouvel employé.

    Voiçi le code de la cellule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SUM(Employe12!CZ9;Employe13!CZ9;Employe14!CZ9;Employe15!CZ9;Employe16!CZ9;Employe17!CZ9;Employe18!CZ9)
    Alors si j'ajoute un nouvel employé le code de la cellule devrait tenir compte de ce nouvel employé.

    Pour ce faire j'ai fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Sommaire").Select
    Range("CZ9").Select
    ActiveCell.FormulaR1C1 = "=SOMME(Employe12!CZ9;Employe13!CZ9;Employe14!CZ9;Employe15!CZ9;Employe16!CZ9;Employe17!CZ9;Employe18!CZ9;Feuil4!CZ9)"
    Cependant quand j'exécute la macro, je recois le message d'erreur suivant quand le code est rendu à ActiveCell.FormulaR1C1....:
    "Erreur définie par l'application ou par l'objet".

    Pourtant j'ai fait un test avec ce code-çi et tout fonctionne bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Range("DD34").Select
        ActiveCell.FormulaR1C1 = "=SUM(1,2)"
    Pourquoi???

  2. #2
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut
    j'y ai été de cette facon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Sommaire").Range("E9").Formula = "=SUM(Employe12!E9,Employe13!E9,Employe14!E9,Employe15!E9,Employe16!E9,Employe17!E9,Employe18!E9,Feuil4!E9)"
    J'ai du utiliser "Formula" au lieu de "FormulaLocal" et "=SUM" au lieu de "=SOMME", pourquoi? je ne sais pas...mais ce que je sais c'est que de cette façon ça fonctionne!!!

    Merci

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Que ce soit en local ou pas, il faut toujours utiliser la virgule comme séparateur, en VBA.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut
    Ahhhhh! merci merci

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

Discussions similaires

  1. écrire dans une cellule
    Par pyrene dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 28/04/2008, 12h46
  2. Comment écrire dans une zone de texte d'Excel, depuis VB6 ?
    Par Chekov dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 20/02/2008, 09h51
  3. Réponses: 6
    Dernier message: 18/10/2007, 15h09
  4. [VBA] MSHFlexgrid écrire dans une cellule
    Par toutyx dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/06/2007, 11h05
  5. Stringgrid: empêcher d'écrire dans une cellule
    Par didier17062006 dans le forum C++Builder
    Réponses: 1
    Dernier message: 12/11/2006, 15h16

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