tu as raison : tu as bien créé une Sub = subroutine = sous-programme, pas une Function = une fonction ; mais d'un autre côté, un des mot-clés de VBA est Format et celui-ci est bien utilisé en tant que Function ; l'équivalent Excel sur une feuille de calcul est la fonction TEXTE() ; tu as écrit : « Bizarrement, ça fonctionne chez moi lol
» ; même si ça fonctionne, c'est quand même fortement déconseillé d'utiliser un des mots-clés de VBA, car dans ce cas, on dit que tu
surcharges le mot-clé en question ; maintenant, suppose que dans
le même module où tu as mis ta sub format() tu aies besoin d'utiliser la fonction Format() de VBA, dis-moi comment la compilation va pouvoir deviner s'il faut utiliser ta sub format() ou sa fonction Format() ?
en fait, je crois bien qu'il y a un moyen de distinguer les deux en utilisant un préfixe : pour ta sub format, ça serait Module1.format() si tu as placé ta sub dans Module1 ; mais pour la fonction Format() de VBA, ça serait avec quoi ? peut-être avec WorksheetFunction.Format() ? mais de toutes façons, même si ça marche, ça complique les choses d'utiliser comme nom de sub ou de function des homonymes des mots-clés de VBA.
après tout ce que je viens d'écrire, si tu préfères quand même utiliser le nom « format » pour ta sub, comme tu viens de l'écrire dans ton
post #70, c'est ton choix...