Comparatif entre différentes feuilles

Résolu/Fermé
cedricdu95 Messages postés 210 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 26 mars 2017 - Modifié par cedricdu95 le 18/09/2015 à 12:23
cedricdu95 Messages postés 210 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 26 mars 2017 - 21 sept. 2015 à 12:28
Bonjour à tous,

Je sollicite les experts sur Excel ! :)

J'ai un petit soucis, je vais essayer d'expliquer au mieux la situation.
J'aimerais faire un comparatif du CA des clients d'une entreprise sur 2 années différentes.

Pour cela j'ai donc 3 feuilles, CA2014,CA2015 et Différence CA.

Dans les feuilles CA 2014 et 2015 j'ai la liste des clients avec leur code client, ainsi que leur CA par mois (12 colonnes pour les mois donc puis 1 colonne pour le total).

J'aimerais donc afficher dans l'onglet Différence CA, tout simplement la différence du CA par client et par mois entre 2014 et 2015.

Le problème c'est que je n'ai pas le même nombre de clients en 2014 et en 2015, donc je dois chercher manuelle à indiquer dans la Différence CA, telle ligne (2015) - telle ligne (2014) mais cela peut prendre un temps fou...

J'aurais voulu savoir si il était possible de faire la différence grâce à la recherche d'un code client.

Je m'explique dans la feuille Différence CA, il y a également la liste de tous les clients (2015 car liste plus longue). donc le but serait de rechercher le code client dans la feuille 2014 et 2015 et donc de faire la différence et si le code client est introuvable dans la feuille CA 2014 (donc client qui n'existait pas à l'époque) faire CA 2015 (du client) - 0.

Et donc de faire cette opération pour tous les mois.

Exemple :

Recherche CA de "code client" en janvier 2015, recherche CA du "code client" en janvier 2014, [CA "code client" janvier 2015 - CA "code client" janvier 2014], SI pas de client en 2014 faire [CA "code client" janvier 2015 - 0].

Désolé pour le long roman, j'essaye d'expliquer au mieux, si vous avez besoin de plus d'informations n'hésitez pas.

Merci d'avance!




A voir également:

1 réponse

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 413
Modifié par Vaucluse le 18/09/2015 à 12:50
Bonjour

à adapter
code client en A
CA en B
on commence en ligne 2
une feuille nommée 2014
une feuille nommée 2015

en D2
=$B2-SI(NB.SI(2014!$A:$B;A2)=0;0;RECHERCHEV(2014!$A2;$A:$A;2;0))

pour les clients de 2015 qui n'existe pas en 2014 , c'est la valeur de 2015 qui va s'afficher


.. sous réserve qu'il n'y ait bien sur dans chaque feuille qu'une ligne de CA par client, sinon il faut utiliser =......;SOMME.SI(2014!A:A;A2;2014!B:B)

.. qui en fait fonctionne pour une ligne client ou plusieurs...!


crdlmnt


Errare humanum est, perseverare diabolicum
0
cedricdu95 Messages postés 210 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 26 mars 2017 1
Modifié par cedricdu95 le 18/09/2015 à 14:33
Bonjour,

Tout d'abord merci pour ta réponse!

Cependant j'ai un peu de mal à comprendre la formule.

Je vais directement adapté à mon cas cela semblera peut-être plus simple pour moi.

Actuellement j'ai :

Feuille CA2014
code en A ; CA de janvier en D; client commence ligne 3
Feuille CA2015
code en A ; CA de janvier en D; client commence ligne 3
Feuille Différence CA
code en A; CA de janvier en D; client commence ligne 3

Si je reprend votre code, je souhaite donc afficher la différence du CA au mois de janvier pour un client donné (ex: A0001).

Disons que ce client se trouve A3 sur ma feuille Différence CA, donc je veux sa différence de CA en D3.

[le code]:

en D3
=$D3-SI(NB.SI(CA2014!$A:$D;A3)=0;0;RECHERCHEV(CA2014!$A3;$A:$A;3;0))

Cependant la il n'y a que la recherche du CA pour janvier 2014 du client? il faudrait donc ajouter avant la recherche CA du client pour janvier 2015 puis la soustraire au code que vous m'avez donné?

J'ai un peu de mal à comprendre tout le code, excusez moi... dans la ligne de code que dois-je remplacer par mon code client ? (A0001)

Merci beaucoup pour le temps passé à me répondre
0
cedricdu95 Messages postés 210 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 26 mars 2017 1
Modifié par cedricdu95 le 18/09/2015 à 15:47
Bon je crois avoir réussi mais avec un code un peu différent:

=((RECHERCHEV(differenceCA!A2;_2015;4;0))-(RECHERCHEV(differenceCA!A2;_2014;4;0)))

J'ai défini des plages dans les feuilles CA2014 et CA2015 que j'ai renommée _2014 et _2015 les plages comprenant tous mes clients.

Pour l'instant la soustraction à l'air de bien fonctionner, cependant si le client n'existe pas en 2014 j'ai bien évidemment le droit à un "#N/A". Pour résoudre cela je dois rajouter quelle partie de votre code?

Celle-ci :

SI(NB.SI(2014!$A:$B;A2)=0 ???

Je vais tester quand même


EDIT:

A priori ça fonctionne avec ce code :

=((RECHERCHEV(differenceCA!A7;_2015;4;0))-SI(NB.SI(_2014;A7)=0;0;(RECHERCHEV(differenceCA!A7;_2014;4;0))))

Si il y a des choses à améliorer pour le code, pas de soucis !
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 413
18 sept. 2015 à 15:59
Ce qui me surprend dans votre code, c'est que si différence!A7 n'existe pas dans _2015, la formule doit renvoyer #N/A?
Non?

Mais je pense que ce serait plus simple avec SOMME.SI qui ne s'inquiétera pas de savoir si le client y est ou pas puisqu'en cas d'absence elle renverra 0

Nommer vos champs, par exemple

champ A 2014 > A_2014
champ B 2014 < B_2014
la formule

=SOMME.SI(A_2015;D3;B_2015)-SOMME.SI(A_2014;D3;B_2014)

qui fonctionne même s'il n'y a qu'une ligne client.. ou qu'il n'y en a pas.

crdlmnt

:
0
cedricdu95 Messages postés 210 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 26 mars 2017 1
18 sept. 2015 à 16:24
Avec ce code :

=((RECHERCHEV('Difference CA'!A3;_2015;4;0))-SI(NB.SI(_2014;A3)=0;0;(RECHERCHEV('Difference CA'!A3;_2014;4;0))))

Je n'ai pas de retour #N/A, cela semble bien fonctionner.

Je ne comprends pas trop pour la fonction SOMME ?

La actuellement, par rapport au code mit juste au dessus, en gros, je demande a rechercher dans la plage _2015 le code correspondant à ma cellule A3 dans ma feuille Difference CA et afficher ce qu'il y a en colonne 4 (à savoir le CA du client en janvier 2015). Puis je le soustrait au CA de janvier 2014 (colonne 4 toujours) et si il n'existe pas, le remplacer par 0.

Déjà est-ce que j'ai bien compris mon code lol ?
Ensuite donc pourquoi remplacer par SOMME.SI, quel est son fonctionnement?

Merci
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 413
18 sept. 2015 à 16:33
Uniquement parce que la formule est plus simple, mais si la votre fonctionne, laissez tomber.

SOMME.SI fait la pour chaque feuille, la somme d valeurs de colonne B pour toutes les lignes qui contiennent en A la valeur de D3 (qu'il y en ait une ou 30) et renvoie 0 si cette valeur n'existe pas.
Donc évite le passage par NB.SI et reste plus simple que RECHERCHE

crdlmnt
0