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 :

Boucle sur une date


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Boucle sur une date
    Bonjour,

    Je dois créer un fichier excel pour une application.

    J'ai un numéro d'ilot, une date de début, une date de fin puis des équipes de semaine et samedi comme information.
    J'aimerais faire affecter les équipes de semaine en semaine et samedi sur samedi tout en respectant les dates qui vont bien.
    Pour une bonne affectation il faut une présentation particulière du fichier afin que le logicielle le comprenne :

    Ilot, Date début, Date fin, nom équipe.

    Je dois séparer les samedis de la semaine (car pas les mêmes équipes)


    Par Exemple :
    du 16/01/19 au 24/01/19 j'aimerais avoir
    - 16/01/19 au 18/01/19 " Eqp Semaine " (car 18 est un vendredi)
    - 19/01/19 au 19/01/19 " Eqp Samedi " (19 --> Samedi)
    - 21/01/19 au 24/01/19 " Eqp Semaine "
    ..

    Mais je n'arrive pas trouver la méthode pour .. (VBA)

    Vous comprendrez mieux sur mon exemple.
    Classeur1.xlsx

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    Pourquoi du vba, une simple formule suffit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(TEXTE(DateDebut;"jjjj")="Samedi"; "Eqp Samedi";"Eqp Semaine")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(DateFin-DateDebut=0;"Eqp Samedi";"Eqp Semaine")
    en VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i=  LigDepart to DerLigne
    If cells(i, ColDateDebut)=cells(i, ColDateFin) then
    Celluledestination="Eqp Samedi"
    else 
    Celluledestination="Eqp Semaine"
    next i
    Cdlt

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 766
    Points : 28 625
    Points
    28 625
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ou avec l'utilisation de la fonction JOURSEM

    Petit exemple à adapter (La date à évaluer est en A2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(JOURSEM(A2;2)>5;"Week-end";"Semaine")
    Autre exemple avec CHOISIR et JOURSEM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CHOISIR(1 + (JOURSEM(A2;2)>5);"Semaine";"Week-end")
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous les deux,

    Je vous remercie pour vos réponses.
    Mais je pense que je me suis mal exprimé.

    Enfaite il me faut cela en VBA car j'ai déjà fait un gros bout de code et que cette partie ne fonctionne pas comme il faut.
    Ce code me permet de créer un fichier csv dans lequel on trouve des données à des endroits spécifiques pour que l'application qui va s'en servir fonctionne correctement.
    L'utilisateur de mon code saisit dans un userform :
    • Ilot (code du lieu)
    • 2 dates (début, fin)
    • Équipes semaine et samedi

    il faut que le code aille de la date 1 à la date 2 en mettant qu'une seule ligne sur le fichier csv pour une semaine et une ligne pour un samedi.
    Cette ligne doit avoir l'ilot (code lieu), la date de début, la date de fin de la semaine (et non la date de fin saisit par l'utilisateur) et nom équipes.
    Parce que l'application qui se sert de ce fichier fonctionne par ligne.

    Par exp ouverture des équipes X1 en semaine et X2 le samedi du 16/01/19 au 27/01/19 sur l'ilot i15:
    • i15 - 16/01/19 - 18/01/19 X1
    • i15 - 19/01/19 - 19/01/19 X2
    • i15 - 21/01/19 - 25/01/19 X1
    • i15 - 26/01/19 - 26/01/19 X2

    Donc dans tout cela je sais pas comment procéder sur vba.

    Je suis désolé pour le manque d'informations dès le début...

    Merci encore

  5. #5
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour;
    Citation Envoyé par Hard2Code Voir le message
    ... j'ai déjà fait un gros bout de code et que cette partie ne fonctionne pas comme il faut..

    Je suis désolé pour le manque d'informations dès le début...
    Et encore ....
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour Patrice,

    Le reste du code n'est pas en lien direct avec ce que je veux.. je veux pas vous embêter avec ça.
    J'aimerais juste trouver une solution à ma problématique de dessus puis j'adapterai.

    merci de ton intérêt.

Discussions similaires

  1. Boucle sur une date
    Par kabamel dans le forum Access
    Réponses: 2
    Dernier message: 27/02/2015, 13h13
  2. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  3. Une boucle sur des dates
    Par Nowwis dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 29/08/2009, 11h51
  4. Boucle sur une date
    Par pobrouwers dans le forum SQL
    Réponses: 14
    Dernier message: 14/03/2008, 15h29
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

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