Réupérer mois et année en cours

Bonjour,

Je souhaite écrire dans la cellule A1 "Gestion de comptes de Jérôme Potier du mois de décembre 2019"

Bien sur j'aimerai automatiser certains trucs.

Récupérer le prénom et le nom, depuis le nom de l'onglet de la feuille 1, puis récupérer le mois et l'année en cours.

Faire cette procédure au moment de l'ouverture du fichier.

J'ai pu trouvé un bout de code pour gérer les voyelles, si ça peut aider :

        Msg = "Encaisser le loyer du mois d" & IIf(InStr(1, "ao", Left(.Range("A" & Ligne - 1), 1), vbTextCompare) > 0, "'", "e ") & .Range("A" & Ligne - 1)

Merci d'avance

Bonjour,

Si tous les onglets sont composés de la même manière avec le nom et prénom de la personne et

Que vous indiquerez toujours la même chose dans la Cellule A1.

Alors une simple formule en A1 sera aussi efficace qu'un code vba.

=CONCATENER("Gestion de comptes de ";STXT(CELLULE("nomfichier";B1);TROUVE("]";CELLULE("nomfichier";B1))+1;NBCAR(CELLULE("nomfichier";B1))-TROUVE("]";CELLULE("nomfichier";B1)));" du mois de ";TEXTE(AUJOURDHUI();"MMMM");" ";ANNEE(AUJOURDHUI()))

Bonjour Ronibo, Xmenpl,

tu as montré ce code VBA :

Msg = "Encaisser le loyer du mois d" & IIf(InStr(1, "ao", Left(.Range("A" & Ligne - 1), 1), vbTextCompare) > 0, "'", "e ") & .Range("A" & Ligne - 1)

A) à propos des voyelles : le Left(.., 1) est pour prendre 1 seul caractère à gauche ; or il existe bien æ liés (comme pour lætitia) ou œ liés (comme pour œuf) ; mais il n'existe pas de ao liés en 1 seul caractère ; il s'agit donc bien de 2 caractères, et non pas d'un seul ; et donc le Left(.., 1) est faux !


B) d'autre part, outre les 2 voyelles "ao", le code indiqué choisit "d'" pour le mois d'août et "de" pour tous les autres mois ; malheureusement, il oublie "d'" pour 2 autres mois : avril et octobre ! (mois d'avril et d'octobre ; pas mois de avril, ni mois de octobre)

la formule de Xmenpl ne fait pas la distinction : ..;" du mois de ";.. ➯ " de " pour tous les mois !


je te propose ce fichier Excel :

13exo2-ronibo.xlsm (15.67 Ko)

attention : au moment d'ouvrir ton fichier, sélectionne-le ; appuie sur la touche Maj (juste au-dessus de Ctrl) ; clique sur le bouton « Ouvrir » ➯ Workbook_Open() ne s'est pas exécuté ; et tu peux vérifier que A1 est vide ; maintenant, ferme le fichier et ouvre-le normalement ; A1 contient bien le texte attendu ; mais comme on est en novembre, tu ne peux pas voir que la macro met bien "d'" pour avril, août, et octobre (à moins que tu changes la date système).

dhany

Bonjour Ronibo, Xmenpl,

la formule de Xmenpl ne fait pas la distinction : ..;" du mois de ";.. ➯ " de " pour tous les mois !


dhany

tu es un perfectionniste ; "du mois de Aout 2019" çà pourrait aller lol

Mais bon si tu insistes :

=CONCATENER("Gestion de comptes de ";STXT(CELLULE("nomfichier";B1);TROUVE("]";CELLULE("nomfichier";B1))+1;NBCAR(CELLULE("nomfichier";B1))-TROUVE("]";CELLULE("nomfichier";B1)));" du mois ";SI(MOIS(AUJOURDHUI())<>4;SI(MOIS(AUJOURDHUI())<>8;SI(MOIS(AUJOURDHUI())<>10;"de ";"d'");"d'");"d'");TEXTE(AUJOURDHUI();"MMMM");" ";ANNEE(AUJOURDHUI()))

@Xmenpl,

tu a écrit :

tu es un perfectionniste ; "du mois de Aout 2019" çà pourrait aller lol

j'ai relevé l'absence de distinction sur ta formule seulement parce que le code initial montré par Ronibo faisait cette distinction ; regarde bien attentivement cette ligne de code VBA :

Msg = "Encaisser le loyer du mois d" & IIf(InStr(1, "ao", Left(.Range("A" & Ligne - 1), 1), vbTextCompare) > 0, "'", "e ") & .Range("A" & Ligne - 1)

il y a "Encaisser le loyer du mois d" ; et ensuite, selon le résultat du test de IIf(), on ajoute soit une apostrophe : ( ' ) ; soit les 2 caractères e et espace : "e " ; j'ai pensé que Ronibo a montré ce code car il voulait la même distinction ; sinon, je n'suis pas pointilleux à c'point là, lol ! tu peux écrire "du mois de Août 2019" quand tu veux !

dhany

@Ronibo

pour éviter de devoir changer la date système, tu peux ruser en modifiant ainsi le début de la sub :

  Dim D As Date, M1 As Byte, M2$, s$
  D = Date: D = #4/2/2019#
  M1 = Format(D, "m"): M2 = Format(D, "mmmm")

attention : le code VBA est anglais, donc pour la date, c'est : Mois/Jour/Année ! et n'oublie pas les 2 signes # qui entourent la date ! ainsi, #4/2/2019# = 2 avril 2019, et tu auras : ".. du mois d'avril".

une fois ta vérification terminée, n'oublie pas de remettre le code VBA comme il était au départ !


à te lire pour avoir ton avis : est-ce que tu obtiens bien la phrase que tu voulais ?

as-tu besoin d'une modif ? si c'est ok, n'oublie pas de passer le sujet en résolu.

dhany

AHHH j'aime comment tu es perfectionniste, tout doit être parfait, j'adorreee

j'ai pu tester ce code, perfect hormis cela

merci pour tout dhany

sans titre
tu a écrit :

AHHH j'aime comment tu es perfectionniste, tout doit être parfait, j'adorreee

oui, c'est vrai qu'je suis perfectionniste ; mais c'est surtout dû à ce qu'Excel et VBA eux-même exigent une grande rigueur : il n'y a pas d'« à peu près » ; et si par exemple tu dois référencer la cellule C5, c'est bien C5 et pas autre chose ; sinon, tu n'auras pas le résultat attendu ! d'autre part, juste pour la simple saisie de nombres (surtout en comptabilité), si tu dois saisir une dépense de 426,99 € par exemple, c'est bien ce nombre et pas un autre !


tu a écrit :

j'ai pu tester ce code, perfect

ça c'est une bonne nouvelle !


tu a écrit :

hormis cela

j'ai pas compris c'que tu désignes par « cela » ; peut-être ça :

image

à droite de "Microsoft Excel", je lis "Échec de l'activation du produit".

ben ça, j'y suis pour rien, moi, si l'activation de ton Office 2010 a échoué !

faudrait qu'tu réessayes d'activer ton produit !

mais peut-être voulais-tu parler d'autre chose ? si oui, de quoi ?

précise ce qu'est « cela » !

dhany

oui y'a ça aussi mais regarde le nom et prénom, le même problème que les mois d'avril et d'aout pour les noms prenoms

bonsoir,

mdrrrr quand même pas à se point juste les prénoms français me va amplement

si on mets les norvégiens on est pas sortie de l'auberge

Bonsoir Ronibo,

ah oui, j'suis d'accord avec toi : on s'rait pas sortis d'l'auberge (espagnole) ; donc pas de « ñ » non plus !

ok, j'vais faire une solution avec seulement les lettres françaises, des gauloises bien d'chez nous.

y'a pas à dire : on reste bien franchouillards, nous, dans not' hexagone !

dhany

et voilà, c'est fait (sans omelette norvégienne) :

6exo2-ronibo.xlsm (16.18 Ko)

à te lire pour avoir ton avis.

dhany

A la méthode des administrations française

On colle tout en majuscule et on refuse les accents et caractère spéciaux.

et voilà, c'est fait (sans omelette norvégienne) :

Exo2 Ronibo.xlsm

à te lire pour avoir ton avis.

dhany

Bonjour à tous,

dhany@ je te nomme steve Jobs numéro 2

T'es un génie )

Merci beaucoup pour la solution, je clôture mon poste

Gracias

Ronibo a écrit :

dhany@ je te nomme steve Jobs numéro 2

T'es un génie )

quel honneur ! mais c'est trop !

merci pour ton retour, et pour avoir passé le sujet en résolu !

bonne continuation, et hasta pronto amigo !

dhany

Rechercher des sujets similaires à "reuperer mois annee cours"