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 :

Trouver des dates en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 54
    Par défaut Trouver des dates en VBA
    Bonjour à tous !

    J'ai encore besoin de vos lumière !
    J'aimerai trouver la plus petite date et la plus grande date dans un intervalle donnée et calculer le nombre de jour ouvrés.
    Je sais parfaitement le faire sur excel :

    =min(intervalle)
    =max(intervalle)
    =NB.JOURS.OUVRES(min;max)

    Mais je ne trouve rien pour le faire en VBA, et j'aimerai bien le faire
    C'est possible ?

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Bonjour !

    Ce sont exactement les mêmes formules en utilisant la propriété FormulaLocal



    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 54
    Par défaut
    Ah super merci Marc-L je ne connaissais pas cette propriété

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    pour ton info, la formule anglaise est NETWORKDAYS.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 54
    Par défaut
    Merci Jpcheck.

    Par contre, vu que je dois prendre les data dans un Excel différent (je ne connais pas le nom de cet excel) je dois EXACTEMENT refaire comme si c'était une cellule ?
    Parceque mes bornes minimum et maximum sont variable, le nom de mon excel aussi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    F_c.Range("F" & ligneProjet3).FormulaLocal = "=MIN('[nom_projet.xlsx]Feuil1'!$L$23:$L$45)"
    Je comprend pas comment faire : $L$23:$L$45 en VBA.

    Ca donnerai ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MIN('[nom_projet.xlsx]Feuil1'!("L" & ligne1 & ":L" & ligne)
    ??

    En gros je peux mettre des variables dedans ?

  6. #6
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 54
    Par défaut
    Mince, FormulaLocal et autre (Formula, FormulaR1C1) ne sont valable que sur Excel 2013 ou + ..

    Petite question:

    Je comptais utiliser WorksheetFunction.Min([intervalle])
    Ca fonctionne mais pas tout le temps. C'est à dire que de temps en temps ca me met le bon résultat puis les autres fois 0 (00/01/1900)

    Quelqu'un connait la raison de ce bug ?

  8. #8
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par Eskalibur Voir le message
    Mince, FormulaLocal et autre (Formula, FormulaR1C1) ne sont valable que sur Excel 2013 ou +
    Non ‼ Je les utilise dans Excel 2003, 2007 comme 2010 !

    Pas de bug à ma connaissance, cela doit être une mauvaise conception du code …

  9. #9
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    peut-on voir le code que tu tentes d'executer stp ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 54
    Par défaut
    Bien sur !

    En gros j'ouvre plusieurs fichier excel avec des dates. J'ai une boucle qui fait que j'effectue plein d'étape sur un fichier puis je le ferme et réouvre un autre fichier excel automatiquement (le suivant dans le dossier)
    Et la j'essaye d'extraire des dates d'un fichier pour trouver la date la plus petite (plus vieille) et la plus grande (plus récente).


    J'ai d'abord tenté ca :

    Je prend les date d'un excel que je copie dans mon excel actuel puis je trouve le min.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           F_r1.Range("L" & ligneELA + 1 & ":L" & ligneC).Copy
                    F_c.Range("AA5").PasteSpecial Paste:=xlPasteValues
                    F_c.Range("Q" & ligneProjet3).FormulaLocal = " =MIN(AA5:AA500)"
    Ca ne marche pas, dans la cellule Q & ligneProjet3 j'ai écris : =MIN(AA5:AA500)

    J'ai ensuite testé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    F_r1.Range("L" & ligneELA + 1 & ":L" & ligneC).Copy
    F_c.Range("AA5").PasteSpecial Paste:=xlPasteValues
     
    plus_petit = WorksheetFunction.Min([AA5:AA500])
    F_c.Range("Q" & ligneProjet3) = plus_petit
    Ca ne marche pas non plus. Enfin ca marche mais sur 2 excel puis ensuite les autres ca ne fonctionne pas. Je relance ensuite et la ca ne fonctionne sur aucun. Un mystère pour moi la dessus.


    Ah étonnant Marc-L : https://msdn.microsoft.com/fr-fr/lib.../ff838835.aspx
    Sur le liens il y a écrit 2013 and later. Je pensais que c'était pour ca que ca ne fonctionnait pas

  11. #11
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    POurquoi un espace avant le "=" ?


    Essaie plutot avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    F_c.Range("Q" & ligneProjet3).FormulaLocal = "=MIN(AA5:AA500)"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 54
    Par défaut
    Je suis un débile profond....

    Raaaaaah ca m'énerve de faire et de chercher pendant 2heures quand j'ai juste mis un espace en trop ..

    Merci beaucoup

    Effectivement ca marche niquel, je ne comprend pas pourquoi le site met à partir de 2013 et + .

    En tout cas merci.

  13. #13
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Ton lien indique juste qu'il se trouve dans l'aide de 2013 et non que c'est apparu avec cette version !

    La preuve ici

  14. #14
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 54
    Par défaut
    Ah d'accord autant pour moi

    Dernière question :

    La traduction de ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    F_c.Range("Q" & ligneProjet3).FormulaLocal= "=MIN('Récupération de données'!F9:F24)"
    avec 9 et 24 de variable.

    C'est ca ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=MIN('Récupération de données'!F" &(nombre_projet * 100)&":F"&((nombre_projet * 100)+99)")""
    Ca me met erreur de syntaxe mais je ne comprend pas.

    J'utilise pas mal de VBA et rarement du Excel mais j'ai l'impression que pour le max et le min faut faire un mixte des deux, j'ai un peu de mal ..

    J'ai mis des variables car ayant plusieurs fichiers je ne veux pas qu'il se colle au même emplacement sinon tous mes min et max auront la même valeur

  15. #15
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Erreur de syntaxe car code incomplet, le VBA ne se trompant jamais,
    mais le programmeur … Je te fais grâce de la liste de tes erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        F_c.Range("Q" & ligneProjet3).FormulaLocal = _
            "=MIN('Récupération de données'!F" & nombre_projet * 100 & ":F" & (nombre_projet * 100) + 99 & ")"

  16. #16
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 54
    Par défaut
    Tout à fait !
    heureusement d'ailleurs


    Merci super !

    N'hésite pas à me faire la liste des erreurs (si t'as pas le temps je comprend, tu n'as pas que ça à faire ! ), je préfère comprendre et ne pas refaire les même erreurs plutôt que de pomper un code tout fait

    Encore merci

  17. #17
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    • Ne pas coller le & de concaténation, laisser un espace …

    • Ne pas oublier le & de concaténation pour ajouter du texte après un résultat numérique …

    • Un guillemet en trop à la fin …

Discussions similaires

  1. [XL-2013] Impossible de trouver des date existantes
    Par dmoluc dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 03/12/2015, 19h02
  2. [XL-2007] Gestion des dates en vba
    Par AgriPhilou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/01/2014, 22h23
  3. Gestion des dates en VBA/Excel ?
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/07/2012, 10h34
  4. trouver des dates
    Par krolineeee dans le forum Langage
    Réponses: 12
    Dernier message: 20/08/2006, 16h43
  5. [VBA] Pb de format des dates dans un état
    Par linda15975 dans le forum IHM
    Réponses: 45
    Dernier message: 21/06/2005, 14h49

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