Probleme avec ByRef

Résolu
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 - 17 juin 2008 à 16:22
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 - 17 juin 2008 à 17:43
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

zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
17 juin 2008 à 16:41
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]
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 juin 2008 à 16:37
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
0
oommeeggaa3d Messages postés 97 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 3 septembre 2010
17 juin 2008 à 16:41
idem ça fonctionne nickel.
fais un déboguage pas à pas ...tu verras bien
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 juin 2008 à 17:01
euh... il n'y a aucun rapport puisque tu n'utilises pas le retour de ta fonction.
çà serait pareil avec inc=-800
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 juin 2008 à 17:04
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
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
17 juin 2008 à 17:40
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]
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
17 juin 2008 à 17:43
[auteur/PCPT/401740.aspx PCPT]
t'as ben raison ;)

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