merci pour ta réponse,
en fait je voulais faire cela pour faire un module vba général de calcul
et mon but était d'éviter d'écrire ce qu'il y entre ()
Public Sub TOTO(Optional ByVal pX as Integer = PARAMX ,(Optional ByVal pX as Integer = PARAMX,Optional ByVal pY as Integer = PARAMY, (Optional ByVal pZ as Integer = PARAMZ)
car des fois je passe que quelque paramètre et si je les écrits dans la parenthèse je dois réecrire tout les paramètre de l'autre côté
exemple:
l'appel ainsi
Call Heure2(Forms!FrmChauffeur!SfrmFiche![Date], Forms!FrmChauffeur!SfrmFiche![H_Depart], Forms!FrmChauffeur!SfrmFiche![H_Arrivee], Forms!FrmChauffeur!SfrmFiche![No_Chauffeur], Forms!FrmChauffeur!SfrmFiche![No_Tournee], Forms!FrmChauffeur!SfrmFiche![Lavage], [lavageT], [T], [TJ], [TN], [T10Suppl], [tdeparr])
et de l'autre côté:
la sub....
Public Sub Heure2(Date1 As Date, ByVal H_Depart As Date, ByVal H_Arrivee As Date, No_Chauffeur As Integer, No_Tournee As Integer, Lavage As Variant, lavageT As Double, T As Double, TJ As Double, TN As Double, T10Suppl As Double, tdeparr As Double)
donc avec ce que je me demandais c'était pour simplifier l'écriture, car dans ma sub je ne vais pas utiliser forcément tout les variab le passée, alors lorsque je fais
Call Heure2, cela m'éviterais de devoir tout retapper, si je ne les utilise pas
en fait l'exemple que tu me donnes:
je comprends bien que byval c'est uniquement pour passé la valeur dans la procédure sans que sa valeur de base soit modifiée de fait dans la mienne, j'ai une partie des paramètre qui servent à calculer et ensuite
par exemple me sert pour ressoritr de cette sub avec une valeur calculée qui em sert à alimenter une table avec d'autre donnée qui ne sont pas calculé...
merci encore pour tes réponses
Partager