Difficulté avec Application.OnTime et procédure paramétrée

  • Initiateur de la discussion Initiateur de la discussion Magic_Doctor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonjour,

J'ai une procédure paramétrée : ClicsX(cel as range)
Je veux, à partir d'un module de feuille, l'appeler avec Application.OnTime.
J'ai tenté ceci :
VB:
If Not Intersect(target, [TableauCF]) Is Nothing Then
    clic = clic + 1
    If clic = 1 Then Application.OnTime Now + TimeValue("0:0:2"), "ClicsX(" & CStr(target) & ")"
End If
Ça n'a pas marché...

Merci pour m'indiquer comment s'y prendre.
 
Re : Difficulté avec Application.OnTime et procédure paramétrée

Trouvé, en cherchant sur le net...
Syntaxe un peu bizarroïde, mais enfin...

Procédure paramétrée : ClicsX(cel as String)
VB:
If Not Intersect(target, [TableauCF1]) Is Nothing Then 'plage de cellules des familles
    clic = clic + 1
    If clic = 1 Then Application.OnTime Now + TimeValue("0:0:2"), "'ClicsX """ & target.Address & """'"
End If
 
Re : Difficulté avec Application.OnTime et procédure paramétrée

Bonsoir.
Vous ? Non… Vous rendez vous compte, vous, vous avez réussi à m'apprendre quelque chose !
Eh oui ! Et je vous en remercie !
Si là vous appelez ClicsX depuis une Worksheet_SelectionChange et si vous voulez aussi pouvoir l'appeler dans d'autres contextes en lui transmettant un Range, vous pouvez aussi faire comme ça :
VB:
Application.OnTime Now + TimeValue("00:00:02"), "ClicsX"
…
…
Sub ClicsX(Optional ByVal Cel As Range)
If Cel Is Nothing Then Set Cel = ActiveCell

Mais il y a ça aussi, maintenant :
VB:
Sub TestX()
Application.OnTime Now + TimeValue("00:00:02"), "'ClicsX ""A1""'"
End Sub
Sub ClicsX(ByVal ParamCel)
Dim Cel As Range
If TypeName(ParamCel) = "Range" Then Set Cel = ParamCel Else Set Cel = ActiveSheet.Range(ParamCel)
MsgBox Cel.Address
End Sub
Cordialement.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
588
Retour