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

Conception Discussion :

Addition avec "mémoire temporelle"


Sujet :

Conception

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Addition avec "mémoire temporelle"
    Bonjour,

    J'ai developpé (ou je suis en train de développé) un fichier qui a l'aide d'une macro va récupérer les données qui m'intéresse dand un autre fichier excel. J'aimerais ajouter dans le fichier qui importe une cellule additionnant par exemple la cellule B12 à elle même... c'est à dire que à chaque fois que je déclanche ma macro ma cellule additionne à chaque déclanchement la nouvelle valeur de la cellule B12 à toutes les anciennes... Je ne sais pas si cela est faisable sur Excel.

    Merci d'avance pour vos réponses, et n'hésitez pas à me demander des précisions si je n'ai pas été clair.

    Edouard

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Edouard7522 Voir le message
    ma cellule additionne à chaque déclanchement la nouvelle valeur de la cellule B12 à toutes les anciennes...
    J'ai du mal à comprendre ce que tu veux dire par "nouvelle valeur" et "toutes les anciennes".
    Si tu expliquais exactement ce que tu mets en B12 et comment tu le renseignes, ça pourrait peut-être aider.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je vais essayer de donner un exemple.
    Je déclanche ma macro, et la valeur 27 apparait dans la cellule B12.
    Le lendemain, je délanche ma macro une nouvelle fois, et la valeur 65 apparait dans cette même cellule B12, remplaçant la valeur 27 du jours précédant.
    Le jours suivant je déclanche encore cette macro,et cette fois la valeur 36 apparait toujours dans cette même cellule remplaçant cette fois le 65.
    etc etc tous les jours...
    Je souhaiterais avoir dans la cellule B13 par exemple, une formule qui additionnerait le 27 au 65 puis au 36 etc etc. En gros, faire la somme de toutes les valeurs qui passent par B12.

  4. #4
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    dans le module de la feuille de calculs, utiliser l'évènement Worksheet_Change.
    Si l'adresse de Target correspond à la cellule B12, cumuler alors dans B13 …

    Les évènements dans la feuille de calcul Excel

    _____________________________________________________________________________________________________

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

    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Ou bien, dans ta macro, juste après la ligne qui place en B12 la valeur que tu souhaites, tu mets la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B13").Value = Range("B13") + Range("B12")
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut




    Effectivement si les modifications manuelles ne sont pas à prendre en compte, c'est mieux !

    Du coup comme c'est son code, c'est tellement simple pourquoi poser alors la question ?



    _____________________________________________________________________________________________________
    Heureux l'étudiant qui, comme la rivière, suit son cours sans quitter son lit …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    Du coup comme c'est son code, c'est tellement simple pourquoi poser alors la question ?
    Parfois, quand on est trop plongé dans son problème, on peut manquer de recul pour voir des choses évidentes.

    Mais, après tout, ce n'est peut-être pas lui le concepteur du code malgré ce que laisse supposer le premier message.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Oui en fait c'était très simple je n'avais même pas pensé à faire le calcul proposé par menhir eheh. Par contre il faut activer le calcul itératif sinon ça ne marche pas. Merci à tous

  9. #9
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Edouard7522 Voir le message
    Par contre il faut activer le calcul itératif sinon ça ne marche pas.
    Je ne vois pas pourquoi.
    Ce serait nécessaire si la formule était dans une cellule.
    Etant donné que l'opération est dans une macro, ce n'est pas utile. Ca marche très bien sans.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Ah ok je l'ai testé dans une cellule parce que je n'aurais peut etre pas besoin de l'inclure dans ma macro. Merci de cette précison et pour tes réponses c'est vraiment sympa de recevoir de l'aide aussi rapidement. Bonne journée

  11. #11
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Edouard7522 Voir le message
    Ah ok je l'ai testé dans une cellule
    Pas sûr que ce soit une bonne idée.

    parce que je n'aurais peut etre pas besoin de l'inclure dans ma macro
    Puisqu'elle existe, autant s'en servir.
    C'est la solution la plus simple.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je reviens sur cette discussion afin d'avoir un petite précision... Ma formule est la suivant:
    Sheets("DATA").Select
    Range("H1").Value = Range("H1") + Sheets("Import").Range("J2") + Sheets("Import").Range("J89")

    Maintenant j'aimerais faire la même chose sur plein de cellules qui se suivent... Exemple:

    Sheets("DATA").Select
    Range("H1").Value = Range("H1") + Sheets("Import").Range("J2") + Sheets("Import").Range("J89")
    Sheets("DATA").Select
    Range("H2").Value = Range("H2") + Sheets("Import").Range("J3") + Sheets("Import").Range("J90")
    Sheets("DATA").Select
    Range("H3").Value = Range("H3") + Sheets("Import").Range("J4") + Sheets("Import").Range("J91")
    etc etc

    Je suppose qu'il y a possibilité d'écrire une formule qui signifierais ceci sans avoir à écrire toutes les lignes une par une... ça m'aiderais beaucoup

    Merci de votre aide

    Edouard

  13. #13
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Regarde dans l'aide VBA d'Excel les boucles "For to".

    Je te conseille aussi de remplacer les "Range" par des "Cells". C'est plus pratique pour mettre des variables (même si pour les lignes variables, il y a quand même une solution avec les Range).
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé de comprendre le for to et de remplacer les "range" par "cells" mais j'ai du faire des erreurs ça ne fonctionne pas... La macro s'execute sans lancer le mode débogage mais rien ne se passe...Voila ma formule:

    For i = Sheets("DATA").Cells(1, 8).Value = Cells(1, 8) + Sheets("Import").Cells(2, 10) + Sheets("Import").Cells(89, 10) To Sheets("DATA").Cells(3, 8).Value = Cells(3, 8) + Sheets("Import").Cells(4, 10) + Sheets("Import").Cells(91, 10)
    Next

Discussions similaires

  1. [SQL2K]Requete sur une chaine avec une ou plusieurs quote
    Par tazamorte dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/04/2007, 08h22
  2. Select et insert avec des caracteres speciaux (quote ')
    Par Paco75 dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/10/2006, 14h59
  3. Probleme avec encodage de simple quote
    Par linkowich dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 13h16
  4. Réponses: 3
    Dernier message: 30/06/2005, 12h50

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