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 :

Paramètres avec Application.OnTime


Sujet :

Macros et VBA Excel

  1. #1
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut Paramètres avec Application.OnTime
    Bonjour tous,
    Juste pour m'éviter de nouveaux tests quelqu'un connaît-il la syntaxe pour ajouter un paramètre à cette ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.OnTime Now + TimeValue("00:00:02"), "LaMacro"
    ... ou sait-il que ce n'est pas possible
    Par avance, merci.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    salut,
    l'aide d'excel m'indique ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Cet exemple montre comment exécuter my_Procedure dans 15 secondes.
     
    Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
    quel type de paramètres souhaites-tu ajouter ?
    En effet, c'est mon code... à 13 secondes près
    Pour le paramètres , je veux simplement passer un string que je ne peux déclarer en public.

  3. #3
    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
    et en passant par une procedure intermediaire bidon:
    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
    Function EcrireFichierLog(texte As String) As Boolean
    Dim F As Integer
    On Error GoTo fin
        ChDir "C:\"
     
        F = FreeFile
        Open "C:\Documents and Settings\UserStd\Bureau\fichierlog.txt" For Append As #F
        Print #F, texte
        Close #F
        EcrireFichierLog = True
        Exit Function
    fin:
        EcrireFichierLog = False
    End Function
     
    Sub test()
    Application.OnTime Now + TimeValue("00:00:02"), "temp"
     
    End Sub
     
    Sub temp()
    EcrireFichierLog ("piou")
    End Sub
    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

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Merci jpcheck, ta solution en est-une, je pourais aussi écrire le paramètre dans une cellule ou dans un contrôle invisible sur une feuille de calculs mais s'il était possible de paramétrer la procédure renvoyée avec OnTime, ce serait tout de même plus mieux...
    Je vais encore attendre un moment, ensuite, si je n'ai pas la réponse, je délesterai.
    Encore merci de ton intérêt pour la chose

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut

    C'est dans la

    Bonne journée
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    J'ai honte ! J'ai cherché avec Application.OnTime, mais n'ai pas trouvé parmi les 95 réponses... Sur ton conseil je viens d'y retourner avec seulement OnTime... et là, miracle, j'ai trouvé parmi... la réponse unique
    Merci Pierre.

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Oui ben non !
    Si j'appelle une sub plutôt qu'une fonction (l'exemple donné dans la FAQ) je n'y arrive pas.
    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Application.OnTime Now + TimeValue("00:00:02"), "LaMacro""" & ", """ & NomFich & Chr(34)
    Le message
    Impossible de trouver la macro "D:\xls\LeFichier.xls'!LaMacro", "D:\xls\Fichier.txt".
    Et quand je supprime le paramètre, ça fonctionne.
    "D:\xls\Fichier.txt" étant le paramètre NomFich
    Une idée ?
    Merci

    PS - Comme je ferme le fichier qui lance la Sub contenant l'appel à "LaMacro", je ne peux utiliser un fonction

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    re...

    Tu n'as pas bien lu l'exemple.
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim NomFich As String
    Dim MacroParametree As String
     
    NomFich = "D:\xls\Fichier.txt"
    MacroParametree = "'RenommerCSV """ & NomFich & """'"
    Application.OnTime Now + TimeValue("00:00:02"), MacroParametree
    Le plus simple étant d'utiliser une variable texte pour pouvoir vérifier facilement la syntaxe.

    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ce coup-ci j'ai attendu d'avoir testé. J'avais pourtant testé en passant par une variable... Je ne devais pas en être loin
    Bref c'est tout ok !
    Merci pour de bon, Pierre, je vais pouvoir finir ce que j'ai commencé avec Manue22

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] pile d'appel avec Application.OnTime
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/09/2012, 16h15
  2. [XL-2007] Problème avec Application.ontime
    Par XceSs dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/05/2012, 02h05
  3. [XL-2002] Problème avec Application.OnTime Now() + TimeValue
    Par coklin dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/08/2009, 14h15
  4. Problème avec Application.OnTime
    Par Uopip dans le forum VBA Outlook
    Réponses: 14
    Dernier message: 09/07/2007, 15h14
  5. [VBA-E] Comment annuler un appel planifié avec Application.OnTime ?
    Par Efpoint dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/05/2006, 14h24

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