Calculer la différence de valeur entre deux cellules à la demande, VBA. [Résolu]

zuli3n

XLDnaute Occasionnel
Bonsoir à tous,

Je n'ai pas trouver d'exemple comme le mien, sur le forum, afin de l'exploiter et de me débrouiller tout seul.
Je me remets donc à vous, encore une fois, pour m'aider.

Est-il possible de calculer la différence de valeur entre deux cellules qui se trouve sur deux onglets différents, dans une cellule vide avec comme préfixe soit un "+" si la valeur et positif soit un "-" si la valeur est négatif ?


Explication via un fichier:

En cliquant sur le bouton "Différences" calculer la différence entre D16 de la feuille "Suivi" et D10 de la feuille "Niveau 1 Séance 1". En sachant que la valeur en D10 de la feuille "Niveau 1 Séance 1" et la valeur de base.
Le fichier exemple joint, est assez explicite.

En vous remerciant,
Cordialement.
 

Pièces jointes

  • DiFF.xlsm
    28.7 KB · Affichages: 668
  • DiFF.xlsm
    28.7 KB · Affichages: 643
  • DiFF.xlsm
    28.7 KB · Affichages: 635
Dernière édition:

mutzik

XLDnaute Barbatruc
Re : Calculer la différence de valeur entre deux cellules, de deux onglets.

bonsoir,

ben tu vas sur ta cellule ou tu veux mettre ta formule
tu y mets =
tu cliques sur ta cellule de base
tu tapes -
tu selectionnes l'onglet Niveau 1 Séance 1
tu cliques sur la cellule à soustraire
tu tapes sur entrée

c'est le b.A. ba d'excel
 

zuli3n

XLDnaute Occasionnel
Re : Calculer la différence de valeur entre deux cellules, de deux onglets.

Salut mutzik,

Oui j'avoue, mais j'aimerais, comme je l'écris sur mon fil, l'automatiser via un bouton (comme sur mon fichier exemple), et pouvoir avoir un "+" si c'est positif et un "-" si c'est négatif.

Cordialement.
 

zuli3n

XLDnaute Occasionnel
Re : Calculer la différence de valeur entre deux cellules, de deux onglets.

Salut bataggone,

Merci pour ton aide, je pense que j'ai du mal m'exprimer et que mon fichier exemple doit être mal fait, je vais refaire tout dès que je pourrais, je pars au boulot la :(

++
Cordialement.
 

zuli3n

XLDnaute Occasionnel
Re : Calculer la différence de valeur entre deux cellules, de deux onglets.

Bonjour le forum,

J'ai oublié de préciser que j'aimerais que la différence se fasse en cliquant uniquement sur le bouton "Différences" je ne veux pas que les formules restent sur le tableau. Pour cela que j'aimerai passé par du VBA.

En vous remerciant,
Cordialement.
 

mutzik

XLDnaute Barbatruc
Re : Calculer la différence de valeur entre deux cellules, de deux onglets.

re,
ben tu fais la même manip que celle que j'ai décrite en activant l’enregistreur de macros
cela sera un bon début
NB :
- sauf que si tu oublie de cliquer sur le bouton tes valeurs seront fausses
- une formule se recalcule de suite (je sais pas trop pourquoi tu ne veux pas d'une formule, c'est tellement plus simple
 

Gelinotte

XLDnaute Accro
Re : Calculer la différence de valeur entre deux cellules, de deux onglets.

Bonjour,

Sur la feuille "Suivi", changer le format de E16 pour un autre format que "texte", soit "standard" ou "nombre".
=SI(D16-'Niveau 1 Séance 1'!D10<0;"-"&D16-'Niveau 1 Séance 1'!D10;"+"&D16-'Niveau 1 Séance 1'!D10)

Est-ce que ça convient ?

G
 

zuli3n

XLDnaute Occasionnel
Re : Calculer la différence de valeur entre deux cellules, de deux onglets.

Salut mutzik, Gelinotte, le forum,

Merci pour vos réponses.

Mutzik, je ne veux pas de formule car je vais t'expliquer pourquoi: (Je joins un autre fichier d'exemple)

Je crée un fichier qui me servira de suivi sportif.
Dans ce fichier j'aurais pleins d'onglets et chaque onglets sera une séance (un tableau par onglet, avec comme format de nom ("Niveau xx Séance xx")
Donc chaque séance sera enregistre dans un onglet avec un nom différents (selon le numéro de la séance).
Cette onglet sera renommé automatique est sera logué dans l'onglet ("Settings") en A2 (nom de la dernière séance).

Ce que je veux pouvoir obtenir en cliquant sur le bouton "Différences", qui se trouve dans l'onglet ("Suivi"), est un code en VBA qui va cherche l'onglet de la dernière séance ("Settings") et me comparer la différence entre entre D16 de la feuille "Suivi" et D10 de l'onglet de la dernière séance. Uniquement en cliquant sur le bouton car je n'aurais pas besoin systématiquement de faire des différences.

Pour faire appel de l'onglet de ma dernière séance, j'utilise ce code:
Code:
Dim DerSeance As String
DerSeance = Sheets("Settings").Range("A2").Value
Sheets(DerSeance)

En enregistrant une macro avec la code que me donne Gelinotte, j'obtiens: (nom de l'onglet en manuelle)
Code:
Range("E16").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-1]-'Niveau 1 Séance 3'!R[-6]C[-1]<0,""-""&RC[-1]-'Niveau 1 Séance 3'!R[-6]C[-1],""+""&RC[-1]-'Niveau 1 Séance 3'!R[-6]C[-1])"


J'avoue c'est assez compliqué d'expliquer correctement, je joins un ficher d'exemple.

En vous remerciant,
Cordialement.
 

Pièces jointes

  • DiFF2 - Copie.xlsm
    33.1 KB · Affichages: 216

mutzik

XLDnaute Barbatruc
Re : Calculer la différence de valeur entre deux cellules à la demande, VBA.

re,
une piste, oui, je crois avoir compris ou tu veux en venir
chaque onglet correspond à un niveau et à une séance
est-ce que chaque ligne correspond à un sportif / participant
si c'est bien cela, il serait nettement plus judicieux de mettre toutes les données dans un seul onglet
Cela te permet
- déja de faire ce que tu veux plus haut
- de voir la progression globale séance après séance par le niveau que tu choisiras
- de voir les progressions individuelles au fil du temps
- ...
voir dans l'onglet base
 

Pièces jointes

  • xld.xls
    64 KB · Affichages: 232
  • xld.xls
    64 KB · Affichages: 246
  • xld.xls
    64 KB · Affichages: 213

zuli3n

XLDnaute Occasionnel
Re : Calculer la différence de valeur entre deux cellules à la demande, VBA.

Salut mutzik,

Merci pour ta réponse.

Je n'ai pas le temps de regarder tout de suite, ton fichier, car je dois partir en déplacement ce matin. Je pourrai regarder cela tranquillement à partir de 14h00.
Mais je peux déjà te dire que tout le classeur est un suivi personnelle (une personne).
Chaque ligne correspond à un exercice (musculation) pour info, c'est un tableau de suivi pour "la méthode Lafay".
Le truc c'est comparer les exercices de la séance en cours par la dernière séance réalisée, une fois l'exercice fini, dans mon fichier original j'ai un bouton qui enregistre la séance en cour pour la mettre dans un nouveau onglet en le renommant.

Pas besoin de mettre toutes les données dans un seul onglet, il me faut juste la différence avec la dernière séance et la séance en cour, comme dans mon fichier exemple.
Pour le suivi je ferai une combobox qui appellera les onglets voulu. Avec ce genre de méthode pas besoin d'un suivi global, il faut juste comparer séance par séance, quand il faut comparer (à la demande) et pas dans l'ensemble.

Si tu le désir je peux te joindre mon fichier complet par MP.
Je regarde ton fichier vers 14h00, merci à toi.

Cordialement.
 
Dernière édition:

mutzik

XLDnaute Barbatruc
Re : Calculer la différence de valeur entre deux cellules à la demande, VBA.

re, il n'y a rien de spécial dans le fichier, je persiste en disant qu'il faudrait tout mettre dans le même onglet.
Cela va être une prise de tête si tu veux parcourir par la suite tous les onglets pour faire un suivi.
Crois-en ma bonne et longue expérience
... mais c'est toi qui décide en dernier recours ...
 

zuli3n

XLDnaute Occasionnel
Re : Calculer la différence de valeur entre deux cellules à la demande, VBA.

Bonsoir mutzik, le forum :)


Non je t'assure, vraiment pas besoin d'avoir tout dans un onglet, ce n'est pas le but de mon fichier.
J'espère que tu as capter l'idée de mon fichier, via le fichier d'exemple joint sur le fil.

Cordialement.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 847
dernier inscrit
Djigbenou