Sub nommacro ()

  • Initiateur de la discussion Fredrennes
  • Date de début
F

Fredrennes

Guest
Hello à tous,

Pas trop dur de travailler pendant que tous ceux qui font le "pont" sont à la plage ?

Ma question :

Une macro débute tjs par : Sub nommacro ()

Quel est l'importance des () svp ? Est-ce une convention ou est-ce une fonction particulière (possibilité de mettre qq chose entre ces () ?

Merci de votre aide

Amicalement
Fred
 
P

Popeye

Guest
Bonjour a toi et au forum
Envoir ta fonction tu peux lui mettre des parametres

genre

sub taille(taillevide as integer, epaisseursemelle as integer, epaisseurdecheveux as integer)

taille = taillevide + epaisseursemelle + epaisseurdecheveux

end sub

ensuite tu appelles ta fonction comme suit

msgbox taille(178,2,12)

voili voilou

tu peux meme metre des tableau dans les parametres
 
@

@+Thierry

Guest
Bonjour FredRenne, Bonjour Popeye

Et oui pas encore en wouacances moi-non plus...

Ben oui Fred !! c'est pas just pour faire jolie... les () et comme te la déjà montré Popeye celà sert à passer des Paramètres pour une Fonction Perso..

Et cela peut servir à passer des "Arguments" entre les Sub... et des "Tableaux" aussi...

Voici un exemple bidon (qui ne fera que copier ce que tu mettra dans trois colonnes de ta Feuil1 vers Ta Feuil2... Mais c'est juste pour te montrer....)

Option Explicit

Sub CompteTableau()
Dim L As Integer
L = Sheets(1).Range("A65536").End(xlUp).Row
MiseEnTableau L 'ici on spécifie qu'on appelle la macro en Passant "L"
End Sub

Sub MiseEnTableau(Ligne) 'Ici "L" est déjà passé, mais on indique que cet argument sera la variable "Ligne"
Dim i As Integer
Dim Clien() As String
Dim Codes() As String
Dim Ville() As String

ReDim Clien(1 To Ligne)
ReDim Codes(1 To Ligne)
ReDim Ville(1 To Ligne)
For i = 1 To Ligne

Clien(i) = Sheets(1).Range("A" & i)
Codes(i) = Sheets(1).Range("B" & i)
Ville(i) = Sheets(1).Range("C" & i)
Next

Call Report(Clien, Codes, Ville) 'on peut écrire sans call "Report clien, code, ville

End Sub


Sub Report(T1, T2, T3)
Dim i As Integer
For i = 1 To UBound(T1)
With Sheets(2)
.Range("A" & i) = T1(i)
.Range("B" & i) = T2(i)
.Range("C" & i) = T3(i)
End With
Next
End Sub

...
Et voici ma prochaine Sub...

Sub Holidays (hi, hi, hi)
Dim WorkDay As Nothing
Dim WorkHours As Afew

For Each Day in Holiday
If Computer in FrontOfMe Then
Run Away !!
Next Day Holiday
Do Until End Of June


Bye Bye à tout le Forum et Soyez Sages !!!
@+Thierry
 
C

Celeda

Guest
Bonjour,

Bon pour souligner ton départ, @+Thierry et rester dans les macros, je t'en ai préparé une ptite :


Sub LeChatnestpasla (C@thy,Monique,Valérie,Celeda)
Dim LeCat
Dim LesFilles
For each day in the Forum
If LeCat is not there
LesFilles dance
Do Until End Of June
End Sub

(chouette les filles on va pouvoir s'éclater pendant un mois !!!!
on va sortir nos plus belles robes d'été à petites bretelles,
nos hauts talons et on va faire la fête sur le Forum,pendant les vacances de Monsieur Thierry et aprés on arrangera tout et il ne verra que du feu !! Hi hi hi hi)


Bonnes vacances et à bientôt

Celeda
 
Z

zon

Guest
Bonjour à tous,



Bonnes vacances Thierry, du repos te ferais du bien, les garçons danseront aussi...


For each Day in June
msgbox "Quel veinard ce Thierry pendant que les autres bossent"
next Day



A+++
 
@

@+Thierry

Guest
Hi Hi Hi

Merci à vous !!!

Et woui hein, vous allez être tranquilles sans le chat gendarme de service !!!

Merci je repasserai vous dire au-revoir plus tard (là ils profitent de mes dernières heures de présence au bureau...)

:)
@+Thierry

PS : Au fait les robes d'été à bretelles minies... ou pas minies ? sinon je risque de pas partir en vacances du coup !!!
 

Discussions similaires

Statistiques des forums

Discussions
312 097
Messages
2 085 257
Membres
102 842
dernier inscrit
Miguelita