Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
814 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] Date: mois-année, bien la galere... (excel)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Date: mois-année, bien la galere... (excel)

n°1190131
wfs-tibal
Posté le 02-09-2005 à 08:36:05  profilanswer
 

Salut
J'ai un souci sur excel dans la programation d'une macro en vb ... :(  
je vous explique : j'ai un fichier que j'exporte d'un serveur et ensuite je le traite sur  
excel pour en faire des classement et tt sa...
Dans ce fichier que j'exporte il me cree une colonne mois comme ceci :
 
Nov        
Nov        Ce fichier que j'exporte contient des données vieille, 2003(par exemple) jusqu'a aujourd'hui, mais il
Nov        n'indique que les mois...
Nov        J'aimerais donc faire afficher les année en  fonction des mois(colone separé):
Dec                 Au debut du tableau sont les mois les plus "vieux", et tt en bas les plus "recents"(cet année)
Dec        
Dec        Il faudrait donc que j'arrive a le faire partir d'en bas en ecrivant dans une nouvelle colone année,
Dec        que j'ai crée, les années en fonction des mois.
Dec        En sachant que comme les années defilent les mois aussi :  
Jan                   nov,dec /!\ jan,fev,mar,avr,mai,jun,jui,aou,sep,oct,nov,dec /!\ jan,fev...
Jan           (debut du tableau,ici 2003)                                  (fin du tableau, donc 2005)      
Jan        
Jan        Comme je suis debutant,j'ai pas encore trouvé comment faire pour la faire commencer d'en bas, ecrire dans la  
Fev        colone année "2005"(en remontant),jusqu'a ce qu'il trouve le mois "Jan", suivit de "Dec" et la il ecrit 2004 a  
Fev        partir du 1er "Dec" qu'il a passé et ainsi de suite... :??:  
 .
 .
 .
 
J'espere que vous allez reussir a comprendre mon explication :pt1cable: ,et a pouvoir m'aider,parce que en etant debutant
je regarde un peu sur tt les sites que je trouve et il m'est difficile d'adapté ce que je vois... :pfff:  
Merci


Message édité par wfs-tibal le 09-09-2005 à 16:34:04
mood
Publicité
Posté le 02-09-2005 à 08:36:05  profilanswer
 

n°1190138
jpcheck
Pioupiou
Posté le 02-09-2005 à 09:13:42  profilanswer
 

tu prends 2 variables temporaires : 1 pour l'année, et l'autre le dernier mois lu
tu geres ton attribution des années selon deux tests
de haut en bas  
si dernier mois lu = decembre et mois en cours = janvier alors année = année+1
sinon ajout année

n°1190143
wfs-tibal
Posté le 02-09-2005 à 09:30:52  profilanswer
 

En faite mon probleme n'est pas "l'idée", car je vois comment proceder mais le codage...
Je ne vois pas comment coder ce que tu me dis ... :(  
Je n'arrive qu'a le faire partir d'en haut et sa ne donne pas de bonne chose  :pfff:  
en faite c'est pour lui dire de commencer de la derniere case de la colone mois, et de lui
fair ecrire l'année en remontant,puis des que dans la colone mois on a : "Jan" suivit de "Dec" (tjrs en remontant)
on continu d'ecrire l'année mais avec une en moins ...
Mouai cho cho tt sa, :pt1cable:  
le probleme c'est la boucle sur un colone ...pas moyen de la faire... :fou:
 
edit : Surtout que sa doit etre de bas vers le haut car on sait juste la derniere date qui est  
la date courante soit 2005 en ce moment, puis on remonte dans les années et sa sa complique bien tt... :heink:


Message édité par wfs-tibal le 02-09-2005 à 09:35:20
n°1190418
tegu
Posté le 02-09-2005 à 14:11:18  profilanswer
 

feuil1.Cells(1,3) te renvoie la valeur de la cellule en ligne 1 colonne 3 de la feuille de calcul "feuil1"
 
Avec cette syntaxe et une boucle sur un indice i, tu devrais réussir à passer en revue tes cellules
 
exemple:


dim i as integer
for i = 1 to 50
   debug.print feuil1.cells(1, i)
next


Message édité par tegu le 02-09-2005 à 14:11:47
n°1190475
wfs-tibal
Posté le 02-09-2005 à 14:55:36  profilanswer
 

Merci je vais essayer avec sa,mais sa me semble encore bien dur... :fou:  
 
Je vais tenter de me servir de sa au mieux ...mais j'y crois pas trop vu mes talent en excel ...
 
--->>> Edit :
Sa y es j'y suis arrivé merci beaucoup tegu c'est bien cool !! :)  
sa donne ça pour ceuwx que sa interresse :  :sleep:  
 

Code :
  1. Sub annee()
  2. Dim i As Variant
  3. Dim vAn As Variant
  4. vAn = 2005
  5. For i = 14721 To 2 Step -1
  6.    Debug.Print Feuil1.Cells(i, 3)
  7.    If Feuil1.Cells(i, 3) = "Dec" And Feuil1.Cells(i + 1, 3) = "Jan" Then
  8.         vAn = vAn - 1
  9.         Feuil1.Cells(i, 2).Select
  10.         ActiveCell.FormulaR1C1 = vAn
  11.     End If
  12.     Feuil1.Cells(i, 2).Select
  13.     ActiveCell.FormulaR1C1 = vAn
  14. Next
  15. End Sub


 
Voilou c'etait pas ci compliqué mais bon j'debute on va dir sa ... :lol:  
fin bon mon prog n'est tjrs pas fini ... :heink:


Message édité par wfs-tibal le 02-09-2005 à 16:19:23

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] Date: mois-année, bien la galere... (excel)

 

Sujets relatifs
Ouverture fenêtre excelrenvoi d'une valeur sous excel
"soustractions" de date phpProbleme de + et de - dans Excel
Socket: Mesure d'upload et dowload [RESOLU]Récupérer sous Excel le contenu de la page HTML en cours de l'explorer
Temps écoulé par rapport à une dateproblème de session avec Easyphp [RESOLU]
Comment creer un fichier excel sous vb.net?[css] pb float/clear : comment bien isoler les parties de la page?
Plus de sujets relatifs à : [RESOLU] Date: mois-année, bien la galere... (excel)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR