Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pblm syntaxe bidon

2 réponses
Avatar
Zeg
Salut,
C'est probablement evident mais peut être tellement que je ne trouve pas.
Le compilo me dit erreur de syntaxe sur l'appel recursif,
on peut pas faire de procedure recursive???

Public Sub InsertDicho(Sup As Integer, ByRef tableau() As Variant, Elément
As Variant, Place As Integer)

Do While (Sup < Place)
tableau(Sup + 1) = tableau(Sup)
Rem Appel récursif
InsertDicho(Sup - 1, tableau(), Elément, Place)
Loop
tableau(Place) = Elément

End Sub

Merci d'avance ;)

2 réponses

Avatar
ng
Salut,

on peut pas faire de procedure recursive???


Bien sûr que si ;) !

En VB l'appel de procédure avec arguments se fait ainsi :

MaProc "Arg1", "Arg2"

'// ou

Call MaProc("Arg1", "Arg2")

Si tu choisis de mettre des parenthèses, n'oublie pas le Call !

InsertDicho(Sup - 1, tableau(), Elément, Place)


devient alors
Call InsertDicho(Sup - 1, tableau, Elément, Place)
(le passage d'un tbl en paramètre ne nécessite pas de (), de plus je te
conseille d'éviter les variables à accents.)


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Zeg a écrit :

Salut,
C'est probablement evident mais peut être tellement que je ne trouve
pas. Le compilo me dit erreur de syntaxe sur l'appel recursif,
on peut pas faire de procedure recursive???

Public Sub InsertDicho(Sup As Integer, ByRef tableau() As Variant,
Elément As Variant, Place As Integer)

Do While (Sup < Place)
tableau(Sup + 1) = tableau(Sup)
Rem Appel récursif
InsertDicho(Sup - 1, tableau(), Elément, Place)
Loop
tableau(Place) = Elément

End Sub

Merci d'avance ;)


Avatar
Zeg
Merci , u save my time :)

"ng" a écrit dans le message de news:
#
Salut,

> on peut pas faire de procedure recursive???
Bien sûr que si ;) !

En VB l'appel de procédure avec arguments se fait ainsi :

MaProc "Arg1", "Arg2"

'// ou

Call MaProc("Arg1", "Arg2")

Si tu choisis de mettre des parenthèses, n'oublie pas le Call !

>InsertDicho(Sup - 1, tableau(), Elément, Place)
devient alors
Call InsertDicho(Sup - 1, tableau, Elément, Place)
(le passage d'un tbl en paramètre ne nécessite pas de (), de plus je te
conseille d'éviter les variables à accents.)


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Zeg a écrit :

> Salut,
> C'est probablement evident mais peut être tellement que je ne trouve
> pas. Le compilo me dit erreur de syntaxe sur l'appel recursif,
> on peut pas faire de procedure recursive???
>
> Public Sub InsertDicho(Sup As Integer, ByRef tableau() As Variant,
> Elément As Variant, Place As Integer)
>
> Do While (Sup < Place)
> tableau(Sup + 1) = tableau(Sup)
> Rem Appel récursif
> InsertDicho(Sup - 1, tableau(), Elément, Place)
> Loop
> tableau(Place) = Elément
>
> End Sub
>
> Merci d'avance ;)