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 :

Somme dans une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 124
    Par défaut Somme dans une cellule
    Bonjour,

    Je souhaite exécuter la macro suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B6").Formula = "=" & Range("B3").Value
    Elle marche si dans la cellule B3 j'ai par exemple
    "=5 + 7 + 9"
    , mais elle ne marche pas si j'ai des nombres décimaux comme par exemple
    "=5,4 + 7,8 + 6,5"
    Qqn peut-il m'aider? Merci d'avance John81

  2. #2
    Membre chevronné
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Par défaut
    Bonjour,
    essaye avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B6").FormulaLocal = "=" & Range("B3").Value
    Ca interprète les virgules comme étant séparateur de décimales.
    Il faut des "." pour formula (je crois )

  3. #3
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Suivant ce que tu veux faire, il pourrait aussi paraître plus normal de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B6").Formula = "=" & Range("B3").Address
    SI la valeur de B3 change plus tard, celle de B6 suivra...

    Cordialement,

    PGZ

  4. #4
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 124
    Par défaut
    Merci pour vos réponses. ça marche avec "FormulaLocal". Par contre, le code suivant ne marche pas maintenant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("B6").FormulaLocal = "=" & Range("B6").FormulaLocal & "+" & _
    Sheets("SUSPENS BADR").Range("B4").Value
    Pouvez-vous m'aider? Merci

  5. #5
    Membre chevronné
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Par défaut
    Une question bête, mais pourquoi tu ne mets pas directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("B6").FormulaLocal = "=B6 + 'SUSPENS BADR'!B4"

  6. #6
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 124
    Par défaut
    Parce qu'il me faut les valeurs et non pas les adresses de cellules. De plus, cette formule ferait une référence circulaire.

  7. #7
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    bonsoir,

    j'ai toujours pas compris l'énoncé et le contenu de ta cellule B3, les guillements sont-t'ils présent, quand elle marche elle est fait quoi ta macro ?

  8. #8
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 124
    Par défaut
    Ma cellule B3 contient

    =5,4 + 7,8 + 6,5
    Le code suivant marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B6").FormulaLocal = "=" & Range("B3").Value
    Mais ensuite celui-ci ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Range("B6").FormulaLocal = "=" & Range("B6").FormulaLocal & "+" & _
    Range("B3").Value
    A ton avis pourquoi?
    J'ai besoin de savoir ça pour faire une boucle que je ne vais pas expliquer en détail parce que ce serait trop compliqué.

  9. #9
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    j'ai toujours pas compris ce que contenait ta cellule .. c'est une formule ? un texte ? elle affiche quoi le résultat de la formule ?

  10. #10
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Bonsoir Tous,


    ne suffirait-il pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Range("B6").Value = Range("B3").Value
    ...
    Range("B6").Value = Range("B6").Value + Range("B3").Value

  11. #11
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 124
    Par défaut
    Ma cellule B3 contient

    =5,4 + 7,8 + 6,5
    Après le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B6").FormulaLocal = "=" & Range("B3").Value
    J'obtiens dans la cellule B6
    =19,7
    Et le code suivant bug:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("B6").FormulaLocal = "=" & Range("B6").FormulaLocal & "+" & _
    Range("B3").Value
    Je voudrais qu'il me donne dans la cellule B6:

    =19,7+19,7
    Ce que OrDonc me propose me donne dans la cellule B6
    39,4
    Mais je voudrais avoir la formule suivante dans la cellule B6

    =19,7+19,7
    Vous ne comprenez peut etre pas la raison comme cela, mais je vous ai dit que c'est pour une raison qui serait trop difficile de développer ici.
    Si qqn peut m'éclairer, cela me serait très utile. Merci John81

  12. #12
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Citation Envoyé par JackOuYA Voir le message
    j'ai toujours pas compris ce que contenait ta cellule .. c'est une formule ? un texte ? elle affiche quoi le résultat de la formule ?

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 20
    Par défaut
    et si tu faisais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("B6").FormulaLocal = "=" & Range("B3").value & "+" & _
    Range("B3").Value
    Ca devrais marcher

  14. #14
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Re,

    Il ne t'est pas difficile de répondre à une question simple comme celle de JackOuYA !
    Ton dernier message indique que tu veux un texte.
    Si c'est bien cela, essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Range("B6").Value = "'=" & Range("B6").Value & "+" & Range("B6").Value
    sinon je laisse à d'autres le soin de comprendre ta demande.

  15. #15
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 124
    Par défaut
    Toutes mes cellules sont des nombres.

    Le résultat de

    =19,7+19,7
    est

    39,4
    Ce que j'ai besoin de savoir, c'est comment reprendre la formule de la cellule B6 pour y additionner les valeurs d'autres cellules

  16. #16
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Citation Envoyé par John81 Voir le message
    Toutes mes cellules sont des nombres.


    cela c'est pas un nombre :
    Ma cellule B3 contient

    Après le code:
    c'est soit : - une formule (alors la cellule affiche le résultat du calcul)
    - une chaine de caractéres, contenant une formule (alors la cellule affiche la formule).

    si tu veux modifier la formule dans B6 ,et ra joute + [Valeur contenue dans B3]


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B6").Formula = Range("B6").Formula & " + " & Range("B3")

  17. #17
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Ne serait-ce pas parce que ta formule contient des , au lieu de . (séparateur de décimales côté VBA ?

    Essaie donc ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B6").Formula = replace(Range("B3").formula,",",".")
    Cela remplacera les , de la formule de B3 par des . et mettra cette formule dans B6
    C'est ce que tu voulais ?

  18. #18
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 124
    Par défaut
    ok merci bcp à tous les deux mon problème est résolu. Bonne soirée. John81

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

Discussions similaires

  1. [XL-2007] Ajout somme dans une autre cellule (impayer)
    Par jiro67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/07/2013, 19h53
  2. [XL-2007] Somme d'une cellule dans une feuille récapitulative
    Par gemxtrust dans le forum Conception
    Réponses: 1
    Dernier message: 20/06/2013, 21h21
  3. [XL-2003] recuperer la somme numerique de 7 textbox dans une cellule
    Par cedric cc dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 27/03/2011, 16h21
  4. Réponses: 11
    Dernier message: 09/07/2010, 18h44
  5. [XL-2003] Somme d'une cellule sur deux dans une plage ?
    Par [ZiP] dans le forum Excel
    Réponses: 13
    Dernier message: 27/02/2010, 21h28

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