begin process at 2010 02 10 04:56:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

Paramètres et macros excel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Paramètres et macros excel

mercredi 9 août 2006 à 10:52:33 | Paramètres et macros excel

lolo38550

Bonjour à tous!

J'ai un problème tout simple mais je ne trouve pas de solution. J'utilise une macro excel qui fait un certain traitement sur une variable. Ensuite, cette macro fait appel à une seconde macro en lui passant en paramètre cette variable. Ce qu'il me manque c'est la synthaxe exacte du passage de paramètre.
Exemple

Sub macro1
    ....
    ....
    macro2(variable1)
    ...
    ...
end Sub

Sub macro2(variable1)
    ....
    ....
    ....
End Sub


J'ai déjà penser à déclarer ma variable public pour que toutes les macros y aient accès mais, ce n'est pas très propre ...

Merci d'avance!
mercredi 9 août 2006 à 10:59:18 | Re : Paramètres et macros excel

Charles Racaud

Membre Club
Réponse acceptée !
C'est quoi le problème ?

Si tu veux faire ca propre :

Public Sub macro1()
   Dim variable1 As String

  [...]

   Call macro2(variable1)

End Sub

Public Sub macro2( ByVal variable1 As String )
  [...]
End Sub

Kenji

Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n

mercredi 9 août 2006 à 11:09:02 | Re : Paramètres et macros excel

lolo38550

Salut!!

Merci beaucoup, ça marche! Le problème était que je ne connaissait pas la synthaxe exacte pour le passage de paramètre et j'avais des messages d'erreurs... Deux petites précisions:
    1/ à quoi sert "ByVal" ?
    2/ Peut-on renommer différement notre "variable1" dans macro2 ?

Merci encore!



mercredi 9 août 2006 à 11:09:02 | Re : Paramètres et macros excel

lolo38550

Salut!!

Merci beaucoup, ça marche! Le problème était que je ne connaissait pas la synthaxe exacte pour le passage de paramètre et j'avais des messages d'erreurs... Deux petites précisions:
    1/ à quoi sert "ByVal" ?
    2/ Peut-on renommer différement notre "variable1" dans macro2 ?

Merci encore!



mercredi 9 août 2006 à 11:17:32 | Re : Paramètres et macros excel

Charles Racaud

Membre Club
Réponse acceptée !
1/
Le ByVal, c'est pour redéfinir la variable "variable1" pour pas changer sa valeur au reteur de la fonction.
Example si tu fait :

Public Sub macro1()
   Dim variable1 As String
  variable1 = "toto"
   Call macro2(variable1)
  MsgBox(variable1)
End Sub
Public Sub macro2( ByVal variable1 As String )
  variable1 = variable1 & " et retoto"
End Sub
Le résultat est "toto".

Avec byref :

Public Sub macro1()
   Dim variable1 As String
  variable1 = "toto"
   Call macro2(variable1)
  MsgBox(variable1)
End Sub
Public Sub macro2( ByRef variable1 As String )
  variable1 = variable1 & " et retoto"
End Sub
Le résultat est "toto et retoto"

2/
Oui, tu peux renommer,
Tu peux changer son nom et son type comme t'en as envis.

Public Sub macro2( ByVal petitevariable As Integer )
  [...]
EndSub

Kenji

Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n

mercredi 9 août 2006 à 11:37:01 | Re : Paramètres et macros excel

lolo38550

Merci beaucoup! Je crois que c'est très clair maintenant!
vendredi 18 août 2006 à 22:48:37 | Re : Paramètres et macros excel

MPi


Petite rectification,
tu ne peux pas changer le type. Si tu envoies une String en paramètre, la fonction doit avoir une string comme paramètre, sinon il y aura erreur 13 "Type mismatch" ou "Incompatibilité de type"

Par contre, pour une Function, la valeur de retour est définie explicitement par la Function. S'il n'y a pas de valeur de retour, alors ce sera une valeur Variant. Tu peux donc envoyer une String à la Function et celle-ci peut retourner un résultat quelconque du même type ou non que le paramètre.

Option Explicit

Public Sub macro1()
    Dim variable1 As String, Retour As Integer
   
    variable1 = "toto"
    Retour = macro2(variable1)
   
    MsgBox Retour
End Sub

Public Function macro2(Var As String) As Integer
    If Var = "toto" Then macro2 = 5
End Function


MPi


Cette discussion est classée dans : macro, variable, excel, paramètres, macros


Répondre à ce message

Sujets en rapport avec ce message

Macro dans une feuille Excel invisible [ par victorcoasne ] Bonjour, J'ai créé quelques macros utilitaires que j'ai placé dans une feuille Excel dédiée afin de pouvoir déployer plus facilement les macros sur u [Déplacé .Net --> vba] Excel Macro complémentaire [ par benoitbelote ] Bonjour toutes et tous, Je programme en excel VBA depuis excel '95. Toutes mes macros, complémentaires ou lié à un classeur fonctionnent. Mais, avec Macros complémentaires EXCEL [ par PatWolver ] J'ai créé une macro complémentaire (*.xla). Elle fonctionne très bien (fonctions internes assez simple).Mon problème est que j'aimerais, tous comme le HELP Macros complémentaires Excel [ par DeathAngel ] Bonjour à tous, Bientôt le Week End, mais j'ai un soucis sous excel.Je charge une macro complémentaire (*.xla) au démarrage d'Excel (XP). Dans cette m Les Macros dans les Macros et Excel :-( [ par geotiti ] Pendant l'éxécution d'une Macro je souhaite executer une deuxième Macro qui ne se trouve pas dans une feuille mais dans module ou dans ThisWorkBook. J Partager des macros Excel [ par satan87 ] bonjourj'ai un fichier excel avec pleinde macro que je dois faire evolueror d'autre fichier possedent les memes macrosy'a t'il un moyen de modifier un ole + macro excel [ par eha ] Bonjour,J'ai une application Vb qui ouvre un fichier excel contenant lui même un certain nombre de macros puis l'enregistre.Ensuite, j'importe ce fich SOS deverrouillage macro excel [ par raduro ] apres avoir verrouillé les macros de mon dossier excel j'ai eu la mauvaise surprise de voir que c'etait une tres mauvaise idee qd ob a comme moi oub comment ecrire dans excel ? [ par nikod ] je voudrais ecrire le contenu d'une variable d'une macro word dans une cellule excel dont le classeur est deja ouvert afin de me servir de cette varia Passage de paramètres entre word et excel [ par raphexlilly ] j'ai une instruction Do loop until dans word ou la variable de la condition de sortie est située dans excel (varaible objet dans une form) Dans ma mac


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales