Utilisation de la fonction month

Bonjour,

Merci de m’accueillir parmi vous. Je suis tout nouveau dans le VBA et je suis déjà coincé malgré les leçons sur le site et mes recherches sur le forum.

Je pense que c'est tout simple mais mon problème est le suivant :

Je veux que effectuer une formule sur la cellule k17 et la recopier jusqu’à la fin du tableau

Cette formule sur excel est : =mois(n17) mais je veux la traduire en vba.

Je cherche la bonne formule car le tableau chaque mois a des ligne en plus et donc cette formule doit s'adapter au nombre de ligne existant.

Ci-joint un extrait de mon tableau.

Merci pour vos lumières ...

model

Funky

Bonjour Funky,

Ta formule =MOIS(N17) peut se traduire en VBA par : MONTH([N17])

et se lit : mois de la cellule N17 ; tu peux faire par exemple :

MsgBox MONTH([N17]) ou [D5] = MONTH([N17])

Dans le 1er cas, ça affiche dans une boîte de dialogue le mois de la date qui est en N17 ;

dans le 2ème cas, ça met dans la cellule D5 (par exemple) le résultat précédent.

Il faudrait aussi ajouter un test pour vérifier que N17 n'est pas vide, et contient bien

une date valide.

Pour le reste : ta copie d'écran n'est pas assez large pour montrer ta cellule K17 ;

ce serait mieux que tu joignes un fichier sans données confidentielles, et avec

plusieurs exemples de données, concrètes mais fictives.

Cordialement

Merci pour ta réponse

je peux te joindre mon fichier afin que tu essaies car je ne vois vraiment pas ?

Dans l'attente

Cordialement

Funky

9classeur2.xlsm (18.02 Ko)

Bonjour

Funky a écrit :

Je cherche la bonne formule car le tableau chaque mois a des ligne en plus et donc cette formule doit s'adapter au nombre de ligne existant...

Il suffit de mettre la plage sous forme de tableau et cela se fera automatiquement sans besoin de VBA...

@78chris

je sais le faire sans vba.

Mais si je demande c'est parce que je veux développer un code et j'ai besoin de cette fonction.

Funky

Je te propose le fichier Excel ci-dessous.

Ctrl r ➯ travail effectué

Merci de me dire si ça te convient.

Cordialement

16classeur2.xlsm (18.25 Ko)

@dhany

c'est exactement ça ....merci beaucoup

Mais je veux que cette fonction se reproduise jusqu’à la fin du tableau... mais le nombre de lignes du tableau peut varier

Tu as une astuce ?

Cordialement

Funky

Attention : j'avais oublié un détail dans mon code VBA précédent ➯ télécharge de nouveau le fichier Excel

de mon message précédent car c'en est un nouveau (code amélioré) ! dans tous les cas, la dernière ligne

du tableau est détectée automatiquement, et donc les lignes supplémentaires seront prises en compte.

Regarde la variable dlig (dernière ligne) : dlig = Cells(Rows.Count, 1).End(xlUp).Row

retourne le n° de la dernière ligne utilisée, pour la colonne n° 1 (donc la colonne A)

Ainsi, le code VBA s'adapte automatiquement au nombre de lignes du tableau.

Si tout cela te convient, merci de passer le sujet en résolu.

J'ai essayé mais il y a juste une réponse qui s'affiche les autres colonnes ne se remplissent pas.

1) Peux-tu me confirmer que tu as de nouveau téléchargé mon fichier Excel précédent ?

ceci car je l'avais mis en ligne trop vite, et j'en ai amélioré le code VBA ; si tu as bien

pris mon autre fichier Excel, tu dois voir cette instruction dans mon nouveau code :

If IsDate(.Value) Then .Offset(, -3) = Month(.Value)

2) Je ne comprends pas ta dernière demande, car après Ctrl r : j'ai bien tous les résultats

voir copie d'écran ci-dessous, K17 à K21 : un 02 et quatre 04 ; et à chaque fois, c'est

bien le mois de la date de la colonne N, sur la même ligne.

copie d ecran

@dhany

J'ai du le télécharger trop vite tu as raison désolé

Merci c'est super !

je pensais que le code aurait été plus simple ... j'ai du boulot

je te souhaite une bonne soirée !

Funky

Bonjour Funky,

Je mets ci-dessous ton fichier Excel modifié.

Merci de me dire si ça te convient.

Cordialement

11grand-livre.xlsm (21.18 Ko)

Dhany,

Merci c'est exatement ce que je voulais

Tu es un chef.

Cordialement

Funky

Funky a écrit :

Merci c'est exatement ce que je voulais

Je suis ravi que tu aies apprécié ma solution.

Cordialement, dhany

Rechercher des sujets similaires à "utilisation fonction month"