IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

insérer une date par rapport à une semaine


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut insérer une date par rapport à une semaine
    bonjour le forum,

    Pour faire une feuille d'heure, je voudrais créer une macro qui me permet suivant la semaine, en l'occurence 24 pour cette semaine, de m'insérer les dates de fin et de début de semaine (lundi et dimanche).

    N'ayant aucune idée sur le sujet je m'en remet à votre savoir....
    A vrai dire je sais même pas si c'est possible

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    utilise Weekday pour déterminer quel jour de la semaine tombe le 1er janvier de l'année considéré.
    Une fois ce jour de la semaine connu ==>> calcule (exemples sur ce forum)la date d0 du 1er jour de la semaine dans laquelle se trouve se 1er janvier
    Utilise ensuite dateadd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dateadd("ww",ton_n0_de_semaine, d0)
    pour avoir le 1er jour de la semaine dont tu donnes le numéro.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    pourrais tu me donner le lien vers le forum dont tu me parles parce que là j'ai rien.... et j'en suis justement à me demander comment on calcul la date d0 de la semaine 1...

    donc ça m'aiderai... Merci.

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour tlm,

    Ceci devrait faire ton bonheur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub test()
     
    Annee = Format(Date, "yyyy") '<-- année en cours
    NumSem = Format(Date, "ww") '<-- n° semaine en cours
     
    d = DateSerial(Annee, 1, 1) '<-- 1er jour de l'année
    d = DateAdd("d", 1 - Weekday(d, vbMonday), d) '<-- 1er jour de la 1ère semaine de l'année
     
    Lund = DateAdd("ww", NumSem - 1, d) '<-- date lundi semaine en cours
    Vend = DateAdd("ww", NumSem - 1, d) + 4 '<-- date vendredi semaine en cours
     
    MsgBox "nous sommes la semaine " & NumSem & Chr(10) _
        & "du lundi " & Lund & Chr(10) _
        & "au vendredi " & Vend
     
    End Sub

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Merci Fring ça fonctionne mais dans les cellules dans lesquelles doivent s'inscrire la date du lundi et celle du dimanche j'ai des ### qui s'affiche et pourtant quand je clic sur les cellules c'est bien la date qui est inscrite dans la barre de fonction... quand j'essaie de changer le format de la date via "format/cellule..." ça ne fonctionne pas t'as un remède pour ça?

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Pour info pour ceux que ça intéresserai j'ai modifier le code afin que la semaine ne soit pas donner par le système: NumSem = Format(Date, "ww") '<-- n° semaine en cours

    mais par moi: NumSem = semainebox.Value

    et ça fonctionne sans problème !

  7. #7
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    2 aspirines, un soupçon de zest de citron vert, quelques gouttes d'hydromel et laisser macérer le tout quelques secondes.

    Pendant que ça macère tu peux essayer d'ajuster la largeur de tes colonnes

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    euh ben oui effectivement je suis un peu blonde...

    En tout cas merci à vous encore un problème résolu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Calcul debut et fin de semaine par rapport à une date
    Par shaun_the_sheep dans le forum C#
    Réponses: 3
    Dernier message: 17/07/2012, 08h25
  2. Réponses: 2
    Dernier message: 21/03/2007, 16h06
  3. Réponses: 7
    Dernier message: 31/07/2006, 13h50
  4. Réponses: 7
    Dernier message: 05/04/2006, 11h22
  5. [MySQL] Select count par rapport à une date
    Par ruty dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 02/04/2006, 22h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo