Bug d'une fonction "=TEXTE" dans VBA

Bonjour à tous,

à l'aide de ce site internet et en m'inspirant de vos travaux, je suis parvenu à créer ce fichier.

L'objectif est simple. Un opérateur enregistre nos rapports de production à l'aide d'une bouton "nouveaux rapports machine à saisir" puis "analyse les données" avec l'autre.

Ce qui est important ici, c'est que les données sont enregistrés à l'aide d'un userform et sont intégrés dans l'onglet base de données. Les dernières colonnes sont des formules alors j'ai trouvé des astuces pour que celle-ci se répercutent sur les nouvelles lignes. Seul problème? La détermination de l'année et du mois d'une date. D'habitude, j'utilise =TEXT(ma cellule;"aaaa") (ou "mmmm" évidement) donc je me suis dit que dans mon VBA, je n'avais qu'à utiliser la même méthode. (voir ci après)

Sheets("Base de donnée").Cells(Last, 29) = "=TEXT(H" & Last & ";""aaaa"")"

Mais quand je réalise le programme, ça ne fonctionne pas. Plus étonnant encore, si j'enlève le = et que j'écris par conséquent cette formule:

Sheets("Base de donnée").Cells(Last, 29) = "TEXT(H" & Last & ";""aaaa"")"

la cellule(Last,29) contient TEXT(H(Last);"aaaa").

Alors POURQUOI ce "=" ne fonctionne pas?

Avez vous une solution à mon problème?

Merci d'avance, j'avoue être à court de solution et n'avoir rien trouvé sur ce sujet dans le forum. Peut être un nouveau défi pour vous!

Le fichier est joint.

Bonjour,

essaie ceci

Sheets("Base de donnée").Cells(Last, 29).formula = "=TEXT(H" & Last & ",""yyyy"")"

Wow! Ok merci! Quel rapidité! Tu me sauves! Haha! c'est génial!

Je venais avec un collègues de trouver une astuce! Je la met la au cas ou si ça peut servir mais je préfère ta solution.

Sheets("Base de donnée").Range("AC31").formula = format(Sheets("Base de donnée").cells(31,8), "yyyy")

Merci encore! Le topic est clos.

Rechercher des sujets similaires à "bug fonction texte vba"