DEPLACER Cellules en fonction de la valeur de certains caractères

Bonjour,

Nouveau sur le forum je vous sollicite pour un cas pratique rencontré au travail.

Je reposte ici après avoir essayé sur le forum sheet. Peut-être que je trouverai plus facilement via une macro ?

Dans le tableau ci-dessous (je dois faire avec, pas possible de changer d'outil commercial...merci patron :) je saisie à chaque commande, dans la même cellule date et montant de la commande, sous la forme "jj/mm 000,00"

MON OBJECTIF :

Je voudrais extraire le montant (5 à 7 caractères de droite selon le montant) et le placer automatiquement dans une colonne "mois" en fonction de la date de cette même cellule, soit les 4 et 5ème caractères de gauche afin d'avoir mon total mensuel automatiquement

TABLEAU EXISTANT :

https://docs.google.com/spreadsheets/d/1UjKsxi8hqTxERzYSEG-0LwYHC3BHCwi0VOTybs4PHpk/edit?usp=sharing

J'ai donc le tableau ci-dessous, le tout avec 250 clients, et potentiellement jusqu'à 20 commandes par an.

TOTAL CA 2021Commande 1Commande 2Commande 3Commande ...
Commande 20
Client 1
738,10 €
22/01 465,40
15/03 272,70



Client 2
1 190,65 €
06/01 374,00
10/02 426,65
31/03 390,00


Client 3
2 032,30 €
03/02 562,65
02/03 448,50
25/03 1021,15


...






TOTAL
3961,05





J'ai donc une lecture annuel de mon CA qui s'actualise automatiquement.

Les cellules de la colonne TOTAL sont mises à jour par une formule mise en place par ma bosse. Cf ci-dessous.

=STXT(L26;6;8)+STXT(M26;6;8)+STXT(N26;6;8)+STXT(O26;6;8)+STXT(P26;6;8)+STXT(Q26;6;8)+STXT(R26;6;8)+STXT(S26;6;8)+STXT(T26;6;8)+STXT(U26;6;8)+STXT(V26;6;8)+STXT(W26;6;8)+STXT(X26;6;8)+STXT(Y26;6;8)+STXT(Z26;6;8)+STXT(AA26;6;8)+STXT(AB26;6;8)+STXT(AC26;6;8)+STXT(AD26;6;8)+STXT(AE26;6;8)+STXT(AF26;6;8)+STXT(AH26;6;8)+STXT(AI26;6;8)

TABLEAU SOUHAITE, lié au premier, mise à jour AUTOMATIQUE

Je souhaite créer un tableau qui s'actualise AUTOMATIQUEMENT quand je remplis celui du dessus pour obtenir une lecture mensuelle comme suis :


Janvier
Février
Mars
...
Décembre
TOTAL
Client 1
465,40

272,70



Client 2
374,00
426,65
390,00



Client 3

562,65
1469,65



...






TOTAL
839,40
989,30
2132,35


3961,05

En rouge, les montants recherchés, ceux que je souhaite avoir de façon automatique, mais que le tableau de base ne me permet pas d'extraire...

Si je n'ai que le total mensuel cela me va aussi, je ne trouve pas de formule qui puisse me faire tout ça en une seule fois.. j'espère que vous pourrez m'aider :)

Merci à tous

Louis

Idée et question à moi-même et à la communauté (je n'ai pas la réponse)

Est-ce que si je duplique ce tableau en créant 2 colonnes pour chaque colonne ça pourrait aider ? (avec des formules droite / gauche je sais faire, mais l'exploiter pour répondre à mon problème... c'est une autre paire de manche)

Ca veut dire que mon tableau :

commande 1commande 2commande 3
29/04 365,15

15/05 546,23

05/06 456,23
12/01 1563,23
18/02 423,00

se transforme en

date 1
montant 1
date 2
montant 2
date 3
montant 3
04
365,15
05
546,23
06
456,23
01
1563,23
02
423,00


Sachant que ma problématique reste la même, extraire les montant pour les ranger dans la colonne du mois correspondant...

Merci pour votre aide :)

Bonjour,

Je suis parti sur une autre organisation, sur la feuille 1, les résultats par commande et sur la feuille 2 les résultats par mois

J'ai déplacé le tableau pour que la ligne "TOTAL" de l'ensemble soit en première ligne et non plus en fond de tableau.

Tous les calculs sont faits avec des fonctions personnalisés, exit les formules à rallonges avec STXT(d'autant qu'il y a des erreurs, dans la première ligne, on passe de la ligne 2 à la ligne 26 à partir du 7ème STXT).

Sur la feuille 1, pour les Totaux par commande et par client, la formule devient: =Total_Ca(C4:V4)

Sur la feuille 2, pour les Totaux par mois et par client, les formules sont:

-Pour janvier: =total_Jan('Feuille 1'!$C4:$V4)

-Pour février: =total_Fev('Feuille 1'!$C4:$V4)

etc....

Cdlt

Bonjour Louikend

Merci de rester sur le forum qui concerne votre besoin

Ensuite, je ne sais pas d'ou sortent vos données mais c'est une aberration de mettre dans une même cellule une date et un montant Comment voulez-vous effectivement par la suite, faire des totaux

@Arturo83, à mon point de vue, ce n'est pas l'aider que de développer cela en VBA

@+

Bonjour BrunoM45,

"@Arturo83, à mon point de vue, ce n'est pas l'aider que de développer cela en VBA"

Ok , mais je n'ai fait que répondre dans le sens de sa demande

"Je reposte ici après avoir essayé sur le forum sheet. Peut-être que je trouverai plus facilement via une macro ?"

Cdlt

Re,

On parle de Google Sheet ou de Classeur Excel

Sur gSheet c'est du script et non du VBA

@+

Bonjour Arturo83,

Machine de guerre, c'est exactement ce que je cherchais ! Je ne comprends pas comment fonctionne le total-ca de la feuille 1 -détection aitomatique d'un nombre ??) et comment fonctionne la feuille 2 avec ce total_jan / fev ... mais ça fonctionne tout parfaitement !!

Un grand merci.

J'ai rajouté une ligne sous mon total, avec un nb.si(A2:A250;">0") pour avoir le total de client qui ont commandé par mois.

  • j'imagine que c'est compliqué de faire apparaitre le nombre de commande ? car certains clients commandent plusieurs fois par mois) Avec cette donnée en plus je pourrais présenter ce tableur aux collègues et rouler des mécaniques :D... mais c'est déjà un peu le cas !

C'est déjà énorme ce que tu m'a fait ! Un grand MERCI.

@BrunoM45, j'ai posté ici car je me suis dit que je pouvais faire un copier collé de mon sheet sur excel, et la communauté semble plus active ici que sur sheet...et j'ai finalement eu raison :)

Sur ta remarque : je suis entièrement d'accord, POURQUOI ce système de notation en 1 seule cellule ?! Je me la pose aussi, et comme écris au début de mon premier post je n'ai pas le choix, c'est ma responsable qui veut garder ce système... grand bien lui fasse !...

Un grand merci dans tous les cas !

  • j'imagine que c'est compliqué de faire apparaitre le nombre de commande ? car certains clients commandent plusieurs fois par mois) Avec cette donnée en plus je pourrais présenter ce tableur aux collègues et rouler des mécaniques :D... mais c'est déjà un peu le cas !

Voici avec le comptage des commandes par mois dans la feuille 2

Re bonjour ! et encore merci !

j'ai l'impression que tu es un magicien @Arturo83. Encore une fois je ne comprends pas d'où sortent les formules avec Jan-Fev... je ne trouve rien sur google quand je tape le début de ta formule :) mais qu'est-ce que c'est pratique. dommage que cela ne soit pas compatible sur google sheet, mais c'est déjà tellement puissant !!

Je cherche une dernière fonction, ca serait devant chaque client, sur la même ligne que le client donc, avoir une colonne qui me donne automatiquement la date de la commande la plus récente... je m'arrache les cheveux depuis 3 jours :)

Si jamais... :)

Yes ! tout parfait,.

par contre je viens de me rendre compte que quand j'insère une ligne dans la feuille 1 cela n'est pas pris en compte dans la feuille 2. je ne trouve pas comment actualiser le tableur pour mettre à jour cette feuille 2

"par contre je viens de me rendre compte que quand j'insère une ligne dans la feuille 1 cela n'est pas pris en compte dans la feuille 2"
C'est normal, si vous insérez une ligne dans la feuille 1, ça ne va pas décaler les lignes de la feuilles 2, dans ce cas, il faut créer une macro en VBA qui détecte tout mouvement, insertion ou suppression de lignes sur la feuille 1.
Bon je vais vous préparer ça.

Voilà la modif

Pour insérer une ligne, sur la "feuille 1", sélectionnez une des cellules de la ligne ou vous comptez ajouter une ligne au-dessus, puis cliquez sur le bouton vert.

Pour supprimer une ligne, sur la feuille 1", sélectionnez une des cellules de la ligne à supprimer, puis cliquez sur le bouton rose. Un message vous demandera confirmation.

Ces 2 actions sont répercutées sur la "feuille 2".

Les formules de la "feuille 2" sont systématiquement réécrites pour pallier toute éventualité.

Cdlt

yes ! cette partie semble fonctionner mais je crois qu'à force de te demander toujours des modifs, le fichier s'alourdit et les automatisations fonctionnent moins bien :

- si je veux rajouter une ou plusieurs colonnes dans la feuille 1, la feuille 2 ne fonctionne plus. (pour que ça ressemble au fichier de ma bosse, mais avec ta partie en plus, je dois faire fusionner 2 tableaux) (je me débrouille en ajoutant une 3ème feuille qui vient copier les données des feuilles 1 ou 2 selon la colonne souhaitée)

- la colonne, date de première commande (feuille 2) ne semble pas bien fonctionner, soit elle ne prend pas la dernière date, soit elle ne se met pas à jur quand je rajoute une nouvelle commande.

- la ligne =NB.SI(C5:C254;">0"), (feuille 2) sous chaque mois a disparu, mais quand je la rajoute cela me fait bugguer la macro que tu as programmé.

je sais que j'en demande beaucoup, et pas de soucis si tu me dis stop. C'est juste qu ej'ai l'impression de toucher le graal mais je ne peux pas encore présenter ça à ma bosse avec ces petits bugs.

encore merci pour ton aide... ça me donne envie d'essayer de mieux comprendre excel, la macro ou les formules... c'est compliqué ? c'est un métier ? une passion ? ou il y a des formations spécifiques dessus ?

Bonjour,

- si je veux rajouter une ou plusieurs colonnes dans la feuille 1, la feuille 2 ne fonctionne plus

On parle bien d'ajouter des colonnes, et non d'insérer, sinon il faut créer une macro. Merci de me le confirmer.

*************************************************************************************

-- la colonne, date de première commande (feuille 2) ne semble pas bien fonctionner, soit elle ne prend pas la dernière date, soit elle ne se met pas à jur quand je rajoute une nouvelle commande.

Effectivement petite inversion entre le jour et le mois lorsque le jour est <= à 12.

***************************************************************************************

- la ligne =NB.SI(C5:C254;">0"), (feuille 2) sous chaque mois a disparu, mais quand je la rajoute cela me fait bugguer la macro que tu as programmé.

-Mais n'est-ce pas sur la ligne 2 de la feuille 2 ? Elle compte le nombre de commandes de la feuille 1 correspondant à chaque mois.

re Bonjour :)

- si je veux rajouter une ou plusieurs colonnes dans la feuille 1, la feuille 2 ne fonctionne plus

On parle bien d'ajouter des colonnes, et non d'insérer, sinon il faut créer une macro. Merci de me le confirmer.

==> a la base je souhaitais en insérer mais j'ai créé une 3ème feuille, et c'est bien comme ça :)

*************************************************************************************

Effectivement petite inversion entre le jour et le mois lorsque le jour est <= à 12.

Yes tu gères

***************************************************************************************

- la ligne =NB.SI(C5:C254;">0"), (feuille 2) sous chaque mois a disparu, mais quand je la rajoute cela me fait bugguer la macro que tu as programmé.

-Mais n'est-ce pas sur la ligne 2 de la feuille 2 ? Elle compte le nombre de commandes de la feuille 1 correspondant à chaque mois.

non la ligne présente compte le nombre de commande totale chaque mois (janvier = 81)

je voulais avoir en dessous le nombre de clients qui ont commandé dans le mois. (janvier = 77)

mais franchement, pas besoin d'avancer plus que ça. je vais réussir à tricoter avec ce que tu m'as fait ! c'est déjà très puissant...

ca aurait quand meme été tellement plus simple de ne pas inscrire cette date et ce montant dans la même cellule ! !

d'ailleurs, à tout hazard, tu as une macro qui peut dissocier tout ça. Juste réécrire un nouveau tableau en doublant le nombre de colonnes (puisque toutes les cellules date + montant seraient transposées sur 1 colonne date et une colonne montant)???..

c'est du bonus, mais si un jour j'arrive à lui faire entendre raison pour repartir sur une bonne base...et que je peux lui dire que l'on peut automatiser tout ça pour ne pas tout retaper..

Pour l'instant voici le tableau, pour ne pas ajouter des lignes supplémentaires pour le nombre de commandes et de clients par mois, je les ai cumulé dans la même cellule en ligne 2, en espérant que cela convienne, sinon je ferai autrement.

Rechercher des sujets similaires à "deplacer fonction valeur certains caracteres"