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 pour tester date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2014
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Octobre 2014
    Messages : 163
    Par défaut boucle pour tester date
    bonjour à tous,

    je tente de parcourir un ensemble de date presente dans un tableau et de récupérer celle arrivant d'ici 1 semaine en vue d'une action à faire
    j'ai donc établi la macro suivante qui devrait:

    1) compare les dates pour chaque ligne
    2) récupère certaines données lié à la ligne répondant aux critères
    3) mettre cela dans un array

    mais j'ai le droit à une erreur d'exécution + je ne suis pas sur de comment formuler le merge des informations

    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
    Private Sub CheckDeadlines_Click()
    Dim Rep_page As Worksheet
    Dim i As Integer, Fin As Integer
     
     
    Set Rep_page = Worksheets("Reporting")
    Fin = Rep_page.Range("A" & Rows.Count).End(xlUp).Row
     
    'si date période début = today + 1 semaine généré FH personnel + envoi mail aux personnes
     
    For i = 0 To Fin
    If ((Date <= Rep_page.Cells(i, 5)) And (Rep_page.Cells(i, 5) <= DateAdd("WW", 1, Date))) Then
     
    RngMerge = Array(Rep_page.Cells(i, 1), Rep_page.Cells(i, 2), Rep_page.Cells(i, 5))
     End If
    Next
     
     
    End Sub
    une petite aide serait appréciable, merci

  2. #2
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonjour Dark,

    Il serait plus esthétique d'ajouté une colonne formulé à ton tableau, qui te retournerais un booléen à ta condition.

    Ensuite un simple filtre, voir par power query ( cfr blog de Pierre Fauconnier), te permettrais d'avoir une table comportant toutes les lignes répondant à ton critère.

    Se serait plus maintenable que des boucles et ajout dans un array.

    Bat,
    MFoxy

  3. #3
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2014
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Octobre 2014
    Messages : 163
    Par défaut
    ok merci pour le retour

  4. #4
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2014
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Octobre 2014
    Messages : 163
    Par défaut
    j'ai crée la colonne avec la formule retournant Y ou N pour yes ou no

    que faut il comprendre par "qui te retournerais un booléen à ta condition.?"
    ?
    et i me faut traiter l'apres par vba pour la suite, aussi pourquoi faire cela directement en colonne plutot que traiter cela à l'ouverture du classeur en vba??

  5. #5
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Re,

    Jete un œil à ceci :

    https://www.developpez.net/forums/bl...ique-surcroit/

    Pour le pourquoi faire comme cela, et pas directement en vba :

    C est à chacun sa façon de faire, pour ma part je trouve plus pratique de pouvoir utiliser que les données dont j ai réellement besoin, plutôt que de boucler, parfois sur des dixaines de milliers de lignes.

    Cette manière de procéder me permet d'avoir une vue des datas à traiter, dans un listObject, beaucoup plus simple niveau codage vba et maintenance.

    Au lieu que de devoir se torturer la tête avec des codes incompréhensibles pour la plupart des utilisateurs lambda, utilisant un range et difficilement maintenable en cas de modification du nombre/ordre des colonnes, lignes.

    Bat,

  6. #6
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2014
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Octobre 2014
    Messages : 163
    Par défaut
    ok merci pour le partage et le détail de reponse
    je vais me plonger dedans!

    merci

Discussions similaires

  1. Boucle pour tester nombre de fois résultat
    Par serna dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/03/2015, 18h14
  2. Réponses: 3
    Dernier message: 09/01/2012, 11h37
  3. Boucle pour tester les conditions d'une grille
    Par stefsas dans le forum Applets
    Réponses: 1
    Dernier message: 08/03/2010, 10h16
  4. [Dates] Boucle pour creer des dates
    Par Konrad Florczak dans le forum Langage
    Réponses: 19
    Dernier message: 27/10/2006, 19h03
  5. [JSP/Servlet] Appel en boucle pour tester la rapidité
    Par kurtalis dans le forum Servlets/JSP
    Réponses: 15
    Dernier message: 15/06/2006, 17h53

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