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 :

Une sorte de boucle for?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 2
    Par défaut Une sorte de boucle for?
    Bonjour!
    Je suis sur quelque chose qui me casse la tête en ce moment, et j'aimerais savoir si il y a un autre moyen que de passer par du VBA (car même si je suis développeur, je n'en ai jamais fait)
    Exemple:
    J'ai:
    • Une variable entière X, correspondant au nombre de jour qu'une tâche prendrais,
    • Une date de départ minimum pour effectuer cette tache,
    • une date de fin maximum,
    • et une frise chronologique (avec toutes les dates de maintenant à janvier 2024, par exemple.

    Et j'ai besoin d'une """formule""", qui vérifie si la date actuelle est comprise entre le minimum est le maximum. Ça, j'ai. Un SI simple fait ça.
    La partie compliquée, la voilà. Mon tableau doit détecter les nouvelles tâches entrées, avec leurs dates et leurs nombre de jours. A partir de là, il remplira automatiquement sa frise chronologique, en mettant "Occupé" dans les cases ou la tâche doit être faite, "Libre" dans les autres (ou alors laisser vide), tout en ne dépassant pas le nombre maximum de jours de travails indiqués par l'input plus tôt. Et honnêtement, je n'ai aucune idée de comment faire, surtout pour le "bridage" du nombre de jours. Si vous avez une idée, je suis preneur :^)
    Merci, DonTomas.

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 437
    Par défaut
    Bonjour,

    Je ne sais pas si j'ai vraiment bien compris, mais avec une formule de ce genre il est possible de marquer "Occupé" les jours qui sont entre les dates de début et de fin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET($B3<=F$1;$D3>=F$1);"Occupé";"")
    Cordialement.
    Fichiers attachés Fichiers attachés

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 2
    Par défaut
    Bonjour,
    Merci de votre réponse!
    Cette partie, c'est le "si tout simple" dont je parlais plus tôt.
    J'ai trouvé une manière de faire, assez complexe et pas très optimale, et j'ai d'autres problèmes désormais. Basiquement:
    • J'ai une frise chronologique qui avance dans le temps.
    • J'ai une date de départ et une durée. De là, je calcule ma date de fin.
    • Problème: en faisant cette simple formule "Date fin = départ+durée"; c'est bête, mais ça compte les weekends. Et cela ne m'arrange pas.
    • Solution: étant donné que les weekends ne sont pas affichés sur ma frise de toute manière, pour 10 jours de travail, si on a un weekend en plein milieu, la frise aura marqué 2 jours de travail en moins. Alors, ma solution aurait été d'ajouter un jour de plus à la durée pour chaque jour de weekend. De toute manière, les weekends ne sont pas affichés en sortie, donc cela ne donnera pas de problème au final.

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 437
    Par défaut
    Bonjour,

    Il vous faut utiliser l'une des fonctions SERIE.JOUR.OUVRE() ou SERIE.JOUR.OUVRE.INTL().

    Cordialement.

Discussions similaires

  1. "Comparer" un vecteur à une matrice sans boucle for
    Par nawellee dans le forum MATLAB
    Réponses: 2
    Dernier message: 27/04/2013, 20h55
  2. Réponses: 2
    Dernier message: 26/03/2013, 16h48
  3. Réponses: 3
    Dernier message: 12/10/2010, 17h02
  4. Remplir la diagonale d'une matrice sans boucle FOR-END
    Par francois_S dans le forum MATLAB
    Réponses: 3
    Dernier message: 30/03/2010, 08h32
  5. [mySQL5] Faire une sorte de "boucle" dans une requête
    Par mdr_cedrick dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/07/2009, 17h40

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