[XLS] Jour / Mois / Annee incrementiel dans differents feuillets

Jour / Mois / Annee incrementiel dans differents feuillets [XLS] - Logiciels - Windows & Software

Marsh Posté le 30-12-2003 à 15:28:56    

J'ai une arbo physique organisée de la sorte :
 
Année
  - Mois
     - Fichier excel comportant 31 feuillets
 
Les feuillets étant numérotés de 1 à 31, correspondant à chaque jour d'un mois. Chaque feuillet comporte un même tableau aux formules diverses.
 
Mon problème est de facilement mettre à jour la date dans chacun des feuillets sous la forme JOUR JJ MOIS ANNEE ("JEUDI 01 JANVIER 2004" ) sans avoir à me tapper les modifs 31*12 fois manuellement, ce qui est un brin fatiguant [:petrus75]. Je duplique à partir du premier feuillet, une formule parvenant à réutiliser par exemple le nom du feuillet pour faire la correspondance en jour serait top, mais je crois que je me fais des illusions sur les capacités d'Excel :D
 
Des suggestions pour mener ça à bien ?


---------------
Le topic du QLRR et FIRE - Knowledge is power. Power corrupts. Study hard, become evil.
Reply

Marsh Posté le 30-12-2003 à 15:28:56   

Reply

Marsh Posté le 30-12-2003 à 16:00:48    

Tu peux tenter avec un macro du type :
 

Code :
  1. Private Function MonthToInt(sMois As String) As Integer
  2.     Dim iRetVal As Integer
  3.    
  4.     iRetVal = 0
  5.    
  6.     Select Case LCase(sMois)
  7.         Case "janvier"
  8.             iRetVal = 1
  9.         Case "février"
  10.             iRetVal = 2
  11.         Case "mars"
  12.             iRetVal = 3
  13.         Case "avril"
  14.             iRetVal = 4
  15.         Case "mai"
  16.             iRetVal = 5
  17.         Case "juin"
  18.             iRetVal = 6
  19.         Case "juillet"
  20.             iRetVal = 7
  21.         Case "aout"
  22.             iRetVal = 8
  23.         Case "septembre"
  24.             iRetVal = 9
  25.         Case "octobre"
  26.             iRetVal = 10
  27.         Case "novembre"
  28.             iRetVal = 11
  29.         Case "décembre"
  30.             iRetVal = 12
  31.     End Select
  32.    
  33.     MonthToInt = iRetVal
  34. End Function
  35. Sub Macro1()
  36.     Dim sTree() As String
  37.     Dim sAnnee As String
  38.     Dim sMois As String
  39.    
  40.     sTree = Split(ThisWorkbook.FullName, "\" )
  41.    
  42.     sAnnee = sTree(UBound(sTree) - 2)
  43.     sMois = sTree(UBound(sTree) - 1)
  44.    
  45.     sMois = MonthToInt(sMois)
  46.    
  47.     For Each oWS In ThisWorkbook.Worksheets
  48.         oWS.Range("A1" ).Value = Format(ows.Name & "/" & sMois & "/" & sAnnee, "dddd Dd mmmm yyyy" )
  49.     Next
  50. End Sub


 
Remarques :
- l'appel à la fonction de transformation du mois en entier n'est nécessaire que si le répertoire du mois contient celui ci en lettre, il doit être possible de faire mieux mais j'ai récuppéré ça d'une macro faisant ce genre de choses... :D
- la macro écrit la date dans la case A1 de chaque feuillet


Message édité par Guru le 30-12-2003 à 16:01:46
Reply

Marsh Posté le 30-12-2003 à 16:12:03    

Houla :|
 
Me reste à ingurgiter tout ça, jamais fait de Macro sous Excel, par contre le code ressemble furieusement à du VB (parce que ça doit être du VBScript sans doute [:ddr555])


---------------
Le topic du QLRR et FIRE - Knowledge is power. Power corrupts. Study hard, become evil.
Reply

Marsh Posté le 30-12-2003 à 16:19:10    

... Et je vois d'ailleurs pas du tout quoi foutre avec dans le "Microsoft Visual Basic", j'ai rajouté ça en module de classe, mais je sais pas comment appeler ma foutue fonction dans ce merdier...


---------------
Le topic du QLRR et FIRE - Knowledge is power. Power corrupts. Study hard, become evil.
Reply

Marsh Posté le 30-12-2003 à 16:28:16    

Si tu as mis la macro dans un module dans l'éditeur VB d'Excel tu devrais trouver "Macro1" (ou tout autre nom que tu auras modifié dans le code) dans le menu outils / macro / exécuter.

Reply

Marsh Posté le 30-12-2003 à 18:30:11    

Ok, ça s'execute. Ca ne donne pas encore du tout ce que je veux, mais c'est du VB, je devrais reussir à adapter ça comme il faut en récupérant le nom des contrôles et compagnie dans l'editeur.
 
Merci bien :jap:


---------------
Le topic du QLRR et FIRE - Knowledge is power. Power corrupts. Study hard, become evil.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed