Formule pour faire apparaitre (MOIS-1)

Bonjour,

Je voudrais savoir si il existe une formule pour faire apparaitre le mois en format DD-MM-YYYY moins un mois.

8.7.2015 -> June-15

Je suis coince a :

8.7.2015 -> July-15

Pourriez-vous m'eclairer ?

Merci beaucoup,

Salut et bienvenue sur le Forum,

Je te propose une solution qui n’est peut-être pas la panacée et que je n’ai pas pu tester entièrement.

En fait, dans une formule =TEXTE(), tu dois écrire le format désiré dans la langue de ton PC. Comme je travaillais cet après-midi sur un PC germanophone, j’ai tenté la formule inscrite dans la cellule B1 du fichier ci-joint et elle fonctionnait bien : le mois allemand était écrit avec une majuscule, du genre Juni-2015.

De retour à la maison, j’ai testé la formule francophone en B2 et malheureusement le mois est tout en minuscules. Il a donc fallu rajouter une formule =NOMPROPRE afin que le mois soit en majuscule.

Je n’ai pas de PC anglophone et ne peux donc pas tester la dernière variante en B3. Mais peut-être peux-tu avancer avec ces informations ?

Si tu utilises des formules prévues pour une langue sur un PC n’y correspondant pas, tu as simplement des résultats bizarres qui sont renvoyés. Afin de réactualiser le résultat d’une formule généré avec un PC d’une autre langue (comme moi pour réactualiser la formule francophone par rapport au résultat qui était inscrit à partir de mon PC germanophone), tu peux simplement réécrire une partie de la formule de base (Par exemple remplacer un A par un A).

Si cette solution ne te convient pas, on pourrait chercher du côté des macros ou peut-être que quelqu’un d’autre à une meilleure idée.

NB : Ta demande est un tout petit peu illogique, puisque tu dis vouloir le format DD-MM-YYYY mais que tu nous donnes des exemples au format MMMM-YYYY

Cordialement.

39mappe1.zip (5.15 Ko)

Bonjour Yves,

Merci pour votre reponse et votre formule.

J'ai teste les formules et ca me marche

En fait, j'ai juste un petit soucis. Je suis base en Republique Tcheque et de ce fait mon Microsoft Office professional Plus 2013 qui est pourtant une version anglaise a transforme la formule et ecris la formule en tcheque. (en remplacant YYYY by RRRR(Rok (year en tcheque)).

Je pense que c'est due a la location locale.

Vous pensez que vous pouvez m'aider a la transformer en Anglais ?

Merci.

Salut,

Je pense que si Excel te traduit les formules en tchèque, c’est parce que tu as une version tchèque. Donc à la place d’avoir une formule par exemple en anglais =TEXT(DATE(YEAR(A1),MONTH(A1)-1,1),"MMMM-YYYY") tu as probablement une formule ainsi =HODNOTA.NA.TEXT(DATUM(ROK(A1);MĚSÍC(A1)-1;1);"MMMM-YYYY").

Tu remarques que dans mes trois cellules B1, B2 et B3, tu as la même formule de base et seule la mise en forme change selon la langue (la partie entre guillemets, par exemple "MMMM-YYYY").

Je pense donc que si tu as une version tchèque, tu devrais transformer la formule ainsi afin d’avoir le résultat et tchèque =HODNOTA.NA.TEXT(DATUM(ROK(A1);MĚSÍC(A1)-1;1);"MMMM-RRRR").

Si Excel traduit les formules de base, il n’arrive pas à traduire les formats de mise en forme entre guillemets.

Je te propose une solution par macro en B11, également dépendante de la date inscrite en A1.

Amicalement.

36mappe1-v2.zip (10.76 Ko)

Merci pour la macro Yves,

J'ai quelques questions concernant la macro.

J'aimerais selectionner plusieurs date et en faire apparaitre dans deux cellules:

le minimum de ces dates (toujours mois -1)

et le maximum de ces dates (m-1).

Est-ce que la macro est capable de faire cela ? Je suis pas tres competent dans ce domaine.

Merci beaucoup,

Peux-tu me fournir un fichier exemple de ce que tu désires, avec quelques explications complémentaires par rapport à ce fichier ?

Merci Yves,

Je vous ai envoye une version beta avec ce que je recherche a faire.

Merci de votre aide.

Tu manques un peu de précision dans tes demandes.

Je t’ai déjà fait remarquer que tu mélangeais deux formats de date (DD-MM-YYYY et MMMM-YYYY) et maintenant tu changes encore de format en indiquant Jan-15 dans ton fichier au lieu de January-2015 !!

A part ça tu m’as dit plus tôt que tu désirais faire une sélection de certaines dates sur ton fichier et maintenant tu n’en mets que 3 dans ton exemple sans préciser lesquelles tu sélectionnerais !

S’il faut tenir compte de toutes les dates, est-ce qu’il n’y aura jamais que 3 lignes ou le nombre de lignes peut varier ? Si c’est ce dernier cas qui est possible, les cellules ‘From’ et ‘To’ sont poussées vers le bas ou déplacées à un endroit où elles resteraient fixes ?

Tu as des dates en juin, juillet et août. Que veux-tu comme résultat dans la cellule ‘From’ et dans la cellule ‘To’ ? Par rapport à ces deux réponses, peux-tu m’expliquer ta logique en deux mots de manière à ce que je comprenne ce que je fais ?

Yves,

je cherche soit un formal January-2015 ou Jan-15 cela n'a pas d'importance

Donc conformement a mon exemple, je voudrais avoir :

From : June-15 To : August-15

ou June-2015 to : August-2015

ou June-15 to Aug-15

Et oui le nombre de factures vont varier c'est pour ca que je cherche une formule pour me simplifier l'ecriture car j'ai de nombreux fichiers excels a creer comme cet exemple.

Merci pour votre aide,

Je ne comprends pas pourquoi tout à coup le mois d’avant n’est plus nécessaire ????

Dans le fichier ci-joint, tu peux avoir autant de dates que tu désires en-dessous de la cellule F4. A chaque modification de la plage F4:F1’048'576, les dates en F2 et G2 sont actualisées.

A te relire.

A oui pardon, j'ai cru que vous aviez pris en compte mon mois-1 dans la derniere conversation.

Je cherche a faire refletter la periode de la facture et non la date de facturation. voila pourquoi dans votre dernier excel je cherche a faire apparaitre en fait:

From:

January-14

To:

February-16

Desole pour la confusion.

Merci de votre aide ,

Re-bonjour,

jean38 a écrit :

Donc conformement a mon exemple, je voudrais avoir :

From : June-15 To : August-15

ou June-2015 to : August-2015

ou June-15 to Aug-15

Je trouve bizarre que tu me dises que je n'ai pas pris en compte le -1 alors que tu m’avais indiqué le contraire dans ton texte ci-dessus !!

Si tes dernières explications – par rapport à mon dernier fichier – sont correctes, le fichier ci-joint devrait réaliser ton souhait.

Amicalement.

Superbe !

Ca a l'air de fonctionner !

Juste un dernier detail, comme je vous ai enonce precedemment, les macros c'est pas mon fort..

Comment je peux copier la macro et comment je peux la faire varier en fonction du nombre de factures ?

Merci beaucoup !

Re-bonjour,

jean38 a écrit :

Ca a l'air de fonctionner !

Ca a l’air de fonctionner ou ça fonctionne très bien ??

jean38 a écrit :

Comment je peux copier la macro et comment je peux la faire varier en fonction du nombre de factures ?

Pour ta deuxième question ci-dessus, j’avais déjà répondu précédemment.

Yvouille a écrit :

Dans le fichier ci-joint, tu peux avoir autant de dates que tu désires en-dessous de la cellule F4.

Pour ta première question ci-dessus, il est assez compliqué de t’expliquer comment copier-coller une macro, surtout car il faudra vraisemblablement l’adapter à ton fichier réel, ce qui n’est pas évident.

Alors je vais te demander de me fournir plutôt ton fichier réel – quitte à y remplacer les données confidentielles par des données-bidon – et j’y adapte ma macro. En fait, si tu avais fourni tout de suite ton fichier réel, on aurait avancé plus vite.

Amicalement.

Bonjour Yves,

Yvouille a écrit :

Je ne comprends pas pourquoi tout à coup le mois d’avant n’est plus nécessaire ????

Dans le fichier ci-joint, tu peux avoir autant de dates que tu désires en-dessous de la cellule F4. A chaque modification de la plage F4:F1’048'576, les dates en F2 et G2 sont actualisées.

A te relire.

Je comprends pas la plage F4:F1’048'576,

C'est juste que j'aimerais comprendre comment modifier la macro si jamais j'ai un probleme.

Je vais vous envoyer un fichier sur lequel vous pourrez entrer la macro en cellule B12 & D12

a partir des factures en sheet2.

Le truc c'est que j'aurais besoin de creer cette macro dans beaucoup de fichiers, pouvez-vous me dire comment faire ?

Merci beaucoup

Une feuille Excel au format 2007 et postérieurs comporte 1'048'576 lignes. Si tu ne me crois pas, compte-les ou tapes ‘’Ctrl + Flèche vers le bas’’ dans l’une des premières cellules vides au bas de tes données. Sur mon fichier exemple, tu peux donc entrer des dates entre la cellule F4 et la dernière cellule de la colonne F et ma macro fonctionne.

Au lieu d’inscrire la plage Range(‘’F4:F1’048'576’’), j’aurais pu inscrire Range(‘’F4:F’’ & Rows.Count).

Sur ton dernier fichier, je ne comprends pas très bien où se trouvent les dates à prendre en compte ?? Peux-tu m’en indiquer la ou les plages avec précision ?

Selon ta réponse, je vais adapter ma macro à ton nouveau fichier (la prochaine fois, fournis-le immédiatement) et t’indiquer comment copier-coller-adapter cette macro à d’autres fichiers.

Chaleureusement.

Ca marche

Les factures sont en sheet2 en H1:H1’048'576

Je dois faire refletter en sheet1 B12 et D12 la periode couvrant les factures (toujours avec un mois en moins).

Pourriez-vous m'indiquer par la suite comment je pourrais faire pour l'integrer dans tous mes autres fichier ?

Je vous remercie, la prochaine fois je vous enverrais le fichier directement

Bonne journee !

Salut,

jean38 a écrit :

Pourriez-vous m'indiquer par la suite comment je pourrais faire pour l'integrer dans tous mes autres fichier ?

Parfois j’ai l’impression que tu ne lis pas mes textes : j’avais répondu à cette question dans mon précédent message !!!!!
jean38 a écrit :

Les factures sont en sheet2 en H1:H1’048'576

Avoue quand même que par rapport à ton premier exemple, ce n’était pas évident de le savoir !!!

Afin de copier-coller une macro d’un fichier à un autre, tu dois avoir tes deux fichiers ouverts à l’écran. Tu dois ensuite ouvrir l’explorateur VBA avec Alt+F11.

Dans l’explorateur VBA, tu dois développer les fichiers en cliquant sur tous les + que tu vois ; ils deviennent alors des –, comme tu peux voir 4 – dans l’image ci-dessous.

Tu doubles clique sur la feuille ‘Sheet2’ du fichier bizarrement nommé ‘XX XX XXXX - CCXXXX - XXXX TEST allocation’ et tu copies TOUT le texte sur la droite à l’exception de la première ligne ‘Option explicit’, donc de la ligne ‘Private Sub Worksheet_Change(ByVal Target As Range)’ à la ligne ‘End Sub’.

Tu colles ensuite ce texte dans la feuille correspondant à la ‘Sheet2’ de l’autre fichier.

La feuille de l’autre fichier dans laquelle doivent venir s’inscrire les textes désirés doit absolument s’appeler ‘Sheet1’.

Les deux cellules B12 et D12 de la feuille ‘Sheet1’ doivent être au format ‘Texte’.

Il est bien entendu que tes différents fichiers doivent avoir exactement la même structure, en tout cas les dates sur la feuille correspondant à la ‘Sheet2’ (mais cette feuille peut s’appeler autrement) dans la colonne H, des dates dans cette colonne H dès la première ligne et les cellules cibles sur une feuille s’appelant absolument ‘Sheet1’ aux cellules B12 et D12.

Si tu veux modifier le nom de la ‘Sheet1’, tu dois modifier la macro en conséquence.

La macro prend en considération toutes les cellules de la colonne H de la feuille 'Sheet2', tu n'as donc rien à adapter à ce niveau-là.

Tes fichiers contenant des macros doivent être enregistrés au format ''.xlsm / Classeur Excel prenant en charge les macros'' (voir la deuxième image ci-dessous).

A te relire.

capture capture

Bonjour Yves,

Ca fonctionne parfaitement !!

Merci beaucoup pour toutes ces explications bien detaillees.

Savez-vous dans l'explorateur comment je pourrais avoir la preview du fichier ? Mes fichiers en xlsx ont la preview mais apparement celui-ci (xlsm) ne veut pas s'afficher.

Bonne journee !

Salut,

Je ne connais pas trop cette option et devrais trop chercher pour tenter de t’aider. Mais comme je n’ai pas trop de temps actuellement – et que je n’ai pas trop l’utilité de cela – je vais te demander d’ouvrir un nouveau post pour cette question.

Amicalement.

Rechercher des sujets similaires à "formule apparaitre mois"