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 :

Pb Macro : Incrementation de date dans des champs spécifique


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Mars 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Mars 2014
    Messages : 35
    Points : 27
    Points
    27
    Par défaut Pb Macro : Incrementation de date dans des champs spécifique
    Bonjour,

    pourriez vous m'aider svp a finir ma macro, je suis bloqué !

    Il faut compléter chaque entete de ligne du tableau par l'expression 97V010214E1 (soit 97V (ne change pas), 010214 (date du jour), E1 (envoi n°1)

    Points a prendre en compte :
    - Pour le premier tableau :
    97V010214E1
    97V010214E2
    - Pour le second tableau :
    97V020214E1
    97V020214E2
    -Ne pas prendre en compte les weekends !!

    Ce qui fonctionne déja dans ma macro :
    La copie du tableau jusqu'au 31/12/14, la copie de la date en entete du tableau mais la encore, ca ne tient pas compte des weekend....

    Merci de votre aide,

    cdlt
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Je ne suis pas sûr d'avoir tout compris mais teste ceci pour voir :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    Sub Macro1()
     
        Dim I As Long
        Dim B As Long
        Dim Debut As Long
        Dim Fin As Long
     
        For I = 1 To 365
     
            Feuil1.Range("A1:I24").Copy Feuil1.Range("A" & I * 24 + 1)
     
        Next I
     
        Application.CutCopyMode = False
     
        B = 1
     
        Debut = Range("Feuil2!A1")
        Fin = Range("Feuil2!A2")
     
        With Worksheets("Feuil1")
     
            For I = Debut To Fin
     
                Select Case Weekday(I, vbMonday) 'le lundi n°1 de la semaine
     
                    Case 1 To 5 'du lundi au vendredi
     
                        Worksheets("Feuil1").Cells(B, 7) = "97V" & _
                                                           Format(Day(I), "00") & _
                                                           Format(Month(I), "00") & _
                                                           Right(Year(I), 2) & "E1"
     
                        B = B + 24
     
                End Select
     
            Next
     
        End With
     
    End Sub
    Hervé.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Mars 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Mars 2014
    Messages : 35
    Points : 27
    Points
    27
    Par défaut merci
    Merci pour le depannage, j'ai refait quelques bidouilles et la c'est bon !!

    ceci dit, y a-t-il un moyen de simplifier ca , je pense que oui (perso je débute depuis ce weekend dans les macros...)
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Tu cherche quoi comme résultat ?
    Tu écris :
    et dans le bloc au dessus, tu écris :
    Tu peux faire une boucle du genre mais je ne suis pas sûr que ce soit ce que tu cherche ? En attendant plus de précisions :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    Sub Macro1()
     
        Dim I As Long
        Dim Debut As Long
        Dim Fin As Long
        Dim J As Integer
     
        For I = 1 To 5
     
             Feuil1.Range("A1:H24").Copy Feuil1.Range("A" & I * 24 + 1)
     
        Next I
     
        Application.CutCopyMode = False
     
        Debut = Range("Feuil2!A1")
        Fin = Range("Feuil2!A2")
     
        For J = 4 To 23
     
            With Worksheets("Feuil1")
     
                 For I = Debut To Fin
     
                     Select Case Weekday(I, vbMonday) 'le lundi n°1 de la semaine
     
                         Case 1 To 5 'du lundi au vendredi
     
                            Worksheets("Feuil1").Cells(J, 1) = "97V " & _
                            Format(Day(I), "00") & _
                            Format(Month(I), "00") & _
                            Right(Year(I), 2)
     
                     End Select
     
                 Next
     
             End With
     
        Next J
     
    End Sub
    Hervé.

Discussions similaires

  1. récupérer les dates de mysql et les mettre dans des champs textes
    Par abdelkarim_1987 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/10/2013, 14h56
  2. [XL-2010] TCD : Filtrer des dates dans un champ étiquette lignes ?
    Par Delphineee dans le forum Excel
    Réponses: 1
    Dernier message: 12/04/2013, 13h48
  3. Réponses: 7
    Dernier message: 08/02/2012, 14h36
  4. [AC-2003] Regle de validation sur des champs dates dans des tables différentes
    Par ingal30 dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/03/2010, 18h42
  5. Comment fixer une date dans un champ !
    Par LATHIOS dans le forum Access
    Réponses: 8
    Dernier message: 17/06/2005, 19h44

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