Probleme avec ByRef

Résolu
Signaler
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
-
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
-
Salut tout le monde,

J'ai un problem ici avec une fonction que j'essaie de faire.

La fonction est ultra simple et va comme suit :

Public Function Inc (ByRef i As Integer, Optional ByVal x As Integer) As Integer
  If (x < 1)  Then
   i = i + 1
  Else
   i = i + x
  End If
  Inc = i
End Function

et dans mon form load :

Private Sub Form_Load()
    Dim i As Integer
   
    Do While i < 3
        Inc i
    Loop
   
End Sub

Et ca creer une boucle sans fin...

Met comme jutilise ByRef le i de mon form load deverait etre incrementer a chaque appel de la function Inc...

Quelqu'un peut m'aider svp ?

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]

7 réponses

Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
Bon j'ai trouver ... en retappant ma commande :P

jutilise:
 i = i +1
...
inc = i

au lieu de
 inc = i + 1

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut,

mis à part que INC est une fonction alors qu'en procédure simple çà suffit..., ton code est bon.
et pas de boucle sans fin chez moi...

tu es sûr de ne pas avoir un autre code quelquepart... ?
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
97
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
3 septembre 2010

idem ça fonctionne nickel.
fais un déboguage pas à pas ...tu verras bien
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
euh... il n'y a aucun rapport puisque tu n'utilises pas le retour de ta fonction.
çà serait pareil avec inc=-800
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
Public Sub 
Inc(
ByRef 
iVal 
As Integer

Optional ByVal
iAdd
As Integer
=
1
)

  iVal = iVal + iAdd
End Sub


ce qui te permet alors aussi de décrémenter
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
en fait jai aussi fait une command dec pour pouvoir decrementer avec un seul parametre...

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
[auteur/PCPT/401740.aspx PCPT]
t'as ben raison ;)

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]