Je me triture la tête dans tous les sens, et j'avoue ne pas trouver :-(
Pour les besoins d'un tableau qui représente une année fiscal qui commence en novembre et fini en octobre, j'ai besoin de faire une boucle FOR pour automatiser des entêtes de colonnes, mais cette boucle FOR devrait avoir comme boucle : 11, puis 12, puis 1, puis 2, ... puis 10 pour finir
Si vous aviez ça en réserve, ça allégerait considérablement mon code, car pour l'instant je n'ai pas fait ça avec la boucle, j'ai donc un code très répétitif :-(
Apparemment tu n'as pas lu la charte. Il faut joindre un petit fichier qui illustre ton problème, ça sera plus facile de comprendre ton problème et éventuellement servira à tester le code.
Bonjour,
Pour les besoins d'un tableau qui représente une année fiscal qui commence en novembre et fini en octobre, j'ai besoin de faire une boucle FOR pour automatiser des entêtes de colonnes, mais cette boucle FOR devrait avoir comme boucle : 11, puis 12, puis 1, puis 2, ... puis 10 pour finir
Dim AnnéeFiscale As Integer , MoisRef As Integer
AnnéeFiscale=Iif(Month(Now)<11, Year(Now)-1, Year(Now))
For IDX = 1 To 12
MoisRef=Month(DateSerial(AnnéeFiscale,10+IDX,1)
MsgBox MoisRef
Next IDX
Merci Dranreb, merci pour ce code (que je n'ai pas trop compris ) mais qui fonctionne
Comment ça doit se lire ?
déjà la 1ère itération de N, je n'arrive pas à me l'expliquer.
on dit N = 0
Je comprends qu'il faut faire N+10 (donc N=10)
puis 10/12 et regarder le reste et ajouter 1
pour moi le reste est 4, si j'ajoute 1, ça donne 5
alors que pour de vrai, le test dans un msgbox m'a retourné 11 (ce que je voulais)
Vous pourriez m'expliquer le fonctionnement de cette super ligne ?
La fonction 'Mod' renvoie le reste d'une division.
Dans la formule de Dranreb, N+10 est divisé par 12, puis prend le reste et lui ajoute 1.
Au final, le résultat est 11,12,1,2,3,4,5,6,7,8,9 et 10, d'où tous les mois d'exercice.