Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
1301 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  EXCEL : mise a jour automatique de la date

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

EXCEL : mise a jour automatique de la date

n°2562085
kenboi
Posté le 03-11-2006 à 12:53:31  profilanswer
 

bonjour à tous,  
 
j'aimerais savoir s'il est possible dans excel d'avoir une cellule où la date du jour soit inscrite et se mette automatique à jour à chaque nouvelle ouverture ?
 
merci d'avance
audrey

mood
Publicité
Posté le 03-11-2006 à 12:53:31  profilanswer
 

n°2562144
seniorpapo​u
Posté le 03-11-2006 à 14:02:39  profilanswer
 

Bonjour,
tu mets dans la cellule:
=AUJOURDHUI()
 
Cordialement

n°2562164
Dje69r
Arme de distraction massive
Posté le 03-11-2006 à 14:33:49  profilanswer
 

Bonjour
 
Bien le bonjour seniorpapou.
 
N'oublies pas de mettre en forme ta cellule dans le format de date voulue.
 
Cordialement


---------------
Plus tu pédales moins vite, moins tu avances plus vite
n°2562373
kenboi
Posté le 03-11-2006 à 17:32:19  profilanswer
 

merci beaucoup ! :)
bon week end

n°2563662
kenboi
Posté le 05-11-2006 à 12:09:15  profilanswer
 

re !  
dites moi, est il possible d'avoir à la place de la date le numero de la semaine ? (je n'ai pas trouvé cette option dans le format de la cellule... il y a peut etre un autre moyen... )
 
j'attends vos reponse avec impatiente.. si c'est pas possible, faudra que j'entre des formules je penses.. bref, merci pour votre aide !
audrey

n°2563824
seniorpapo​u
Posté le 05-11-2006 à 15:50:18  profilanswer
 

Bonsoir,
help d'EXCEL:
NO.SEMAINE
 
Dans le menu Outils, cliquez sur Macros complémentaires.  
Dans la liste Macros complémentaires disponibles, activez la case à cocher Utilitaire d'analyse, puis cliquez sur OK.  
Si nécessaire, suivez les instructions fournies par le programme d'installation.  
Syntaxe
 
NO.SEMAINE(numéro_de_série;méthode)
 
numéro_de_série   représente une date de la semaine. Les dates doivent être entrées en utilisant la fonction DATE, ou sous la forme de résultats d'autres formules ou fonctions. Par exemple, utilisez DATE(2008; 5; 23) pour le 23e jour du mois de mai 2008. Des problèmes peuvent survenir si les dates sont entrées sous forme de texte.
 
méthode   détermine quel jour est considéré comme le début de la semaine. La valeur par défaut est 1.
 
donc tu mets dans la cellule après avoir coché "Utilitaire d'analyse"
 
=NO.SEMAINE(AUJOURDHUI();1) si tu considères que tes semaines commencent le Dimanche
=NO.SEMAINE(AUJOURDHUI();2) si tu considères que tes semaines commencent le Lundi
 
ATTENTION  :  Par exemple le 1er Janvier 2005 constitue à lui seul, pour cette formule, 1 semaine. C'est à dire que la semaine qui suit est la semaine 2.
Ce n'est peut-être pas la numérotation désirée.  En fait je ne connaîs pas le critère réel de définition de la première semaine d'une année.
...........j'ai cherché et trouvé ceci
 
 
http://fr.wikipedia.org/wiki/ISO_8601
 
voici, trouvé sur un site, une fonction qui semble répondre aux normes ISO:
pour l'installer insérer un module normal en VBE puis coller le code.
revenir sous excel cliquer sur fx pour ajouter une fonction dans la cellule active.
sélectionner toutes puis personnalisées
choisir numerosemaine
ajouter AJOURDHUI() entre les parenthèses
j'ai testé cela semble bon
ouf!
Cordialement
 
 
Option Explicit  
   
Public Function NumeroSemaine(dateSemaine As Date) As Integer  
'Réalisé par Alexsimps en VBA  
   
Dim Jour As Date  
Dim NumJour As Integer  
Dim DernierJourSemaine As Date  
Dim NbJour As Integer  
Dim nbpremier As Integer  
   
    'Correspond au 1 er janvier de l'année de la date donnée  
    Jour = DateSerial(Year(dateSemaine), 1, 1)  
     
    'Correspond au jour dans la semaine (1 = lundi, 2 = mardi, 3 = mercredi, 4 = jeudi, etc ...)  
    NumJour = JourSemaine(Jour)  
     
    'Correspond au dernier jour de la semaine du 1er janvier  
    DernierJourSemaine = DateSerial(Year(dateSemaine), 1, 8 - NumJour)  
     
    'Si le 1er janvier est après le vendredi, la semaine du 1 er janvier n'est pas comptabilisée dans la nouvelle année  
    If NumJour > 5 Then  
        NumeroSemaine = 0  
    Else  
    'sinon elle l'est  
        NumeroSemaine = 1  
    End If  
     
    'Différence entre la date et le jour de la fin de semaine du 1er janvier  
    NbJour = dateSemaine - DernierJourSemaine  
   
    'Ensuite, on calcule le numéro de la semaine  
    'Si le calcul tombe juste, on met le résultat  
    If NbJour Mod 7 = 0 Then  
        NumeroSemaine = (NbJour / 7) + NumeroSemaine  
    Else  
    'Sinon, on, rajoute un car il y a une semaine en cours  
        NumeroSemaine = NumeroSemaine + Int(NbJour / 7) + 1  
    End If  
     
    'Si le numéro est égal à 53, on vérifie où se trouve le 1er janvier  
    If NumeroSemaine = 53 Then  
        nbpremier = JourSemaine(DateSerial(Year(dateSemaine) + 1, 1, 1))  
         
        'Si le 1er tombe avant le vendredi, le numéro de la semaine est le numéro 1  
        If nbpremier < 5 Then  
            NumeroSemaine = 1  
        End If  
        'sinon, le numéro est le 53  
    End If  
     
    'Le numéro de la semaine peut être egale à 0 (01/01/2005)  
    'car il ne detécte pasla semaine 53  
    'On cherche alors le numéro de la semaine du 31/12 de l'année d'avant  
    If NumeroSemaine = 0 Then  
        'Sauf si le 01/01 est le lundi  
        If nbpremier = 1 Then  
            NumeroSemaine = 1  
        Else  
            NumeroSemaine = NumeroSemaine(DateSerial(Year(dateSemaine) - 1, 12, 31))  
        End If  
    End If  
End Function  
   
Private Function NumeroJourJulien(dateATraiter As Date)  
'Récupéré sur vbFrance.com  
'J'ai uniquement renommé quelques variables  
'Par Alexsimps  
Dim y As Long  
Dim m As Long  
Dim DDdd As Double  
Dim Annee As Long  
Dim Mois As Long  
Dim a As Double  
Dim b As Double  
   
Annee = Year(dateATraiter)  
Mois = Month(dateATraiter)  
DDdd = Day(dateATraiter) + Hour(dateATraiter) / 24 + Minute(dateATraiter) / 24 / 60 + Second(dateATraiter) / 24 / 60 / 60  
   
If Mois <= 2 Then y = Annee - 1: m = Mois + 12 Else y = Annee: m = Mois  
   
If dateATraiter >= 1582.1015 Then  
  a = y \ 100  
  b = 2 - a + a \ 4  
End If  
   
If y = Abs(y) Then  
    NumeroJourJulien = Int(365.25 * y) + Int(30.6001 * (m + 1)) + DDdd + 1720994.5 + b  
Else  
    NumeroJourJulien = Int(365.25 * y) + Int(30.6001 * (m + 1)) + DDdd + 1720994.5  
End If  
   
End Function  
   
Private Function JourSemaine(LaDate As Date) As Integer  
'Récupéré sur vbfrance.com  
'Quelques modifications quand même...  
'Par Alexsimps  
Dim res As Double  
   
res = NumeroJourJulien(LaDate) + 1.5  
res = res Mod 7  
JourSemaine = CInt(res)  
   
End Function


Message édité par seniorpapou le 05-11-2006 à 15:52:07
n°2563838
kenboi
Posté le 05-11-2006 à 16:03:40  profilanswer
 

Ca marche ! merci pour ton aide !!
ps : à premiere vue, ton message m'a fait peur, mais finalement je ne me suis pas servi de tout, juste du haut qui semble bcp plus abordable !!!! :)
je verais si j'ai un pb à un moment donné... j'aviserais avec la fin de ton message !


Message édité par kenboi le 05-11-2006 à 16:04:29
n°2563858
kenboi
Posté le 05-11-2006 à 16:42:46  profilanswer
 

bon j'etais allé un peu vite, ca ne marchais pas réellement, du coup je me suis penchée plus rapidement que prévu sur la fin de ton message... Et apres quelques minutes de "patogement" j'ai réussi !!! j'ai fait mes premiers pas en macro !! :)
merci encore

n°2563886
seniorpapo​u
Posté le 05-11-2006 à 17:05:54  profilanswer
 

Félicitations.
 
Après, tu verras, on ne peut plus s'en passer  
 
Les résultats te conviennent-ils?
 
Cordialement

n°2563895
kenboi
Posté le 05-11-2006 à 17:11:36  profilanswer
 

Tiens, ca tombe bien que tu me demande... :)
Ca marche nikel, mais ya un hic, que tu dois pouvoir éliminer j'en suis sure!
Quand je ferme le fichier et que je le réouvre, un message d'excel m'indique que les macros ont été désactivées car niveau de sécurité elevé et que les macros ne sont pas signées numériquement....  
 

mood
Publicité
Posté le 05-11-2006 à 17:11:36  profilanswer
 

n°2563915
seniorpapo​u
Posté le 05-11-2006 à 17:40:11  profilanswer
 

Bonsoir,
outils->macro->sécurité->cocher "moyenne" (cela permet d'autoriser les macros ou de les interdire si on a un doute) inconvénient: demande l'autorisation à chaque fois que l'on ouvre excel
@+

n°2563918
kenboi
Posté le 05-11-2006 à 17:45:29  profilanswer
 

Parfait !  
cette fois, c'est bon.  
merci et bonne soirée


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  EXCEL : mise a jour automatique de la date

 

Sujets relatifs
AVG Free 7.5 et mises à jour manuelles[EXCEL] Fusion de feuilles façon base de donnée ?
[Résolu][Excel] Redimensionnement Auto d'une Courbemise à jour NOD32
Mise a jour de la bibliotheque de WMP11probleme base de donnée excel boulet inside
login automatique sur un serveur 2003 avec domaine[Excel] Fonction SOMME.SI
Plus de sujets relatifs à : EXCEL : mise a jour automatique de la date



Copyright © 1997-2014 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC