Dim h(30) As long
Sub Command1_Click() 'moyenne
For i = 1 To 30
h(i) = CLng(Text1(i))
Next i
End Sub
A h(i) = CLng(Text1(i))
A (i = 1)
J'ai "13 : TYPE INCOMPATIBLE "
Où est l'erreur, svp ???
--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
Dim h(30) As long Sub Command1_Click() 'moyenne For i = 1 To 30 h(i) = CLng(Text1(i)) Next i End Sub
A h(i) = CLng(Text1(i)) A (i = 1) J'ai "13 : TYPE INCOMPATIBLE "
Où est l'erreur, svp ???
Où est déclaré i ?
Bonne question, mais je crois que si i n'était pas du bon type cela produirait une erreur de compilation sur l'instruction For ...
Par ailleurs la déclaration d'un tableau n'est-elle pas dim h(1 to 30) as long ?
Histoire de chipoter, ça dépend aussi de l'instruction
Option base n
si n = 1
Dim h(1 To 30) As Long et Dim h(30) As Long sont équivalents
et si n = 0
Dim h(30) équivaut à Dim h(0 To 30)
-- Cordialement,
Jacques.
LE TROLL
Bonjour,
"I" est global (long)
Non, comme dit Jacques, suffit de mettre le dernier élément de l'indice, et ça part automatiquement de 0, soit (2) = 0, 1, 2
-- Merci beaucoup, au revoir et à bientôt :o) ------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Patrice Henrio" a écrit dans le message de news: %236HGYA% | LE TROLL a écrit : | > Bonjour, | > | > Je fais: | > | > Dim h(30) As long | > Sub Command1_Click() 'moyenne | > For i = 1 To 30 | > h(i) = CLng(Text1(i)) | > Next i | > End Sub | > | > A h(i) = CLng(Text1(i)) | > A (i = 1) | > J'ai "13 : TYPE INCOMPATIBLE " | > | > Où est l'erreur, svp ??? | > | Où est déclaré i ? | Par ailleurs la déclaration d'un tableau n'est-elle pas | dim h(1 to 30) as long ?
Bonjour,
"I" est global (long)
Non, comme dit Jacques, suffit de mettre le
dernier élément de l'indice, et ça part
automatiquement de 0, soit (2) = 0, 1, 2
--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Patrice Henrio" <patrice.henrio@laposte.net> a
écrit dans le message de news:
%236HGYA%23mIHA.1680@TK2MSFTNGP06.phx.gbl...
| LE TROLL a écrit :
| > Bonjour,
| >
| > Je fais:
| >
| > Dim h(30) As long
| > Sub Command1_Click() 'moyenne
| > For i = 1 To 30
| > h(i) = CLng(Text1(i))
| > Next i
| > End Sub
| >
| > A h(i) = CLng(Text1(i))
| > A (i = 1)
| > J'ai "13 : TYPE INCOMPATIBLE "
| >
| > Où est l'erreur, svp ???
| >
| Où est déclaré i ?
| Par ailleurs la déclaration d'un tableau
n'est-elle pas
| dim h(1 to 30) as long ?
Non, comme dit Jacques, suffit de mettre le dernier élément de l'indice, et ça part automatiquement de 0, soit (2) = 0, 1, 2
-- Merci beaucoup, au revoir et à bientôt :o) ------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Patrice Henrio" a écrit dans le message de news: %236HGYA% | LE TROLL a écrit : | > Bonjour, | > | > Je fais: | > | > Dim h(30) As long | > Sub Command1_Click() 'moyenne | > For i = 1 To 30 | > h(i) = CLng(Text1(i)) | > Next i | > End Sub | > | > A h(i) = CLng(Text1(i)) | > A (i = 1) | > J'ai "13 : TYPE INCOMPATIBLE " | > | > Où est l'erreur, svp ??? | > | Où est déclaré i ? | Par ailleurs la déclaration d'un tableau n'est-elle pas | dim h(1 to 30) as long ?
LE TROLL
Bonjour,
Peu importe, je commanc à 1...
-- Merci beaucoup, au revoir et à bientôt :o) ------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jacques93" a écrit dans le message de news: OMTnUX% | Bonjour Patrice Henrio, | Patrice Henrio a écrit : | > LE TROLL a écrit : | >> Bonjour, | >> | >> Je fais: | >> | >> Dim h(30) As long | >> Sub Command1_Click() 'moyenne | >> For i = 1 To 30 | >> h(i) = CLng(Text1(i)) | >> Next i | >> End Sub | >> | >> A h(i) = CLng(Text1(i)) | >> A (i = 1) | >> J'ai "13 : TYPE INCOMPATIBLE " | >> | >> Où est l'erreur, svp ??? | >> | > Où est déclaré i ? | | Bonne question, mais je crois que si i n'était pas du bon type cela | produirait une erreur de compilation sur l'instruction For ... | | > Par ailleurs la déclaration d'un tableau n'est-elle pas | > dim h(1 to 30) as long ? | | Histoire de chipoter, ça dépend aussi de l'instruction | | Option base n | | si n = 1 | | Dim h(1 To 30) As Long et Dim h(30) As Long sont équivalents | | et si n = 0 | | Dim h(30) équivaut à Dim h(0 To 30) | | -- | Cordialement, | | Jacques.
Bonjour,
Peu importe, je commanc à 1...
--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Jacques93" <jacques@Nospam> a écrit dans le
message de news:
OMTnUX%23mIHA.536@TK2MSFTNGP06.phx.gbl...
| Bonjour Patrice Henrio,
| Patrice Henrio a écrit :
| > LE TROLL a écrit :
| >> Bonjour,
| >>
| >> Je fais:
| >>
| >> Dim h(30) As long
| >> Sub Command1_Click() 'moyenne
| >> For i = 1 To 30
| >> h(i) = CLng(Text1(i))
| >> Next i
| >> End Sub
| >>
| >> A h(i) = CLng(Text1(i))
| >> A (i = 1)
| >> J'ai "13 : TYPE INCOMPATIBLE "
| >>
| >> Où est l'erreur, svp ???
| >>
| > Où est déclaré i ?
|
| Bonne question, mais je crois que si i n'était
pas du bon type cela
| produirait une erreur de compilation sur
l'instruction For ...
|
| > Par ailleurs la déclaration d'un tableau
n'est-elle pas
| > dim h(1 to 30) as long ?
|
| Histoire de chipoter, ça dépend aussi de
l'instruction
|
| Option base n
|
| si n = 1
|
| Dim h(1 To 30) As Long et Dim h(30) As Long
sont équivalents
|
| et si n = 0
|
| Dim h(30) équivaut à Dim h(0 To 30)
|
| --
| Cordialement,
|
| Jacques.
-- Merci beaucoup, au revoir et à bientôt :o) ------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jacques93" a écrit dans le message de news: OMTnUX% | Bonjour Patrice Henrio, | Patrice Henrio a écrit : | > LE TROLL a écrit : | >> Bonjour, | >> | >> Je fais: | >> | >> Dim h(30) As long | >> Sub Command1_Click() 'moyenne | >> For i = 1 To 30 | >> h(i) = CLng(Text1(i)) | >> Next i | >> End Sub | >> | >> A h(i) = CLng(Text1(i)) | >> A (i = 1) | >> J'ai "13 : TYPE INCOMPATIBLE " | >> | >> Où est l'erreur, svp ??? | >> | > Où est déclaré i ? | | Bonne question, mais je crois que si i n'était pas du bon type cela | produirait une erreur de compilation sur l'instruction For ... | | > Par ailleurs la déclaration d'un tableau n'est-elle pas | > dim h(1 to 30) as long ? | | Histoire de chipoter, ça dépend aussi de l'instruction | | Option base n | | si n = 1 | | Dim h(1 To 30) As Long et Dim h(30) As Long sont équivalents | | et si n = 0 | | Dim h(30) équivaut à Dim h(0 To 30) | | -- | Cordialement, | | Jacques.
LE TROLL
Un textBox n'est-il pas par définition toujours une chaîne alphanumérique ???
isNumeric, j'ai arrêté de l'utiliser, il y a (de mémoire), plein de cas ou il ne fonctionne pas, il ne répond pas, ou mal...
Je vais essayer ce que tu dis...
-- Merci beaucoup, au revoir et à bientôt :o) ------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jacques93" a écrit dans le message de news: eygsUO% | Bonjour LE TROLL, | LE TROLL a écrit : | > Bonjour, | > | > Je fais: | > | > Dim h(30) As long | > Sub Command1_Click() 'moyenne | > For i = 1 To 30 | > h(i) = CLng(Text1(i)) | > Next i | > End Sub | > | > A h(i) = CLng(Text1(i)) | > A (i = 1) | > J'ai "13 : TYPE INCOMPATIBLE " | > | > Où est l'erreur, svp ??? | > | | L'erreur 13 me ferait penser à un TextBox non numérique. Tu peux essayer | ceci, qui par ailleurs assure, en partie, la validité de données : | | Private Sub Command1_Click() | Dim i As Integer | Dim h(30) As Long | | For i = 1 To 1 | If IsNumeric(Text1(i)) Then | h(i) = CLng(Text1(i)) | Else | MsgBox "Textbox n° : " & i & vbCrLf & "non numérique" | End If | Next i | End Sub | | | -- | Cordialement, | | Jacques.
Un textBox n'est-il pas par définition
toujours une chaîne alphanumérique ???
isNumeric, j'ai arrêté de l'utiliser, il y a
(de mémoire), plein de cas ou il ne fonctionne
pas, il ne répond pas, ou mal...
Je vais essayer ce que tu dis...
--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Jacques93" <jacques@Nospam> a écrit dans le
message de news:
eygsUO%23mIHA.4664@TK2MSFTNGP06.phx.gbl...
| Bonjour LE TROLL,
| LE TROLL a écrit :
| > Bonjour,
| >
| > Je fais:
| >
| > Dim h(30) As long
| > Sub Command1_Click() 'moyenne
| > For i = 1 To 30
| > h(i) = CLng(Text1(i))
| > Next i
| > End Sub
| >
| > A h(i) = CLng(Text1(i))
| > A (i = 1)
| > J'ai "13 : TYPE INCOMPATIBLE "
| >
| > Où est l'erreur, svp ???
| >
|
| L'erreur 13 me ferait penser à un TextBox non
numérique. Tu peux essayer
| ceci, qui par ailleurs assure, en partie, la
validité de données :
|
| Private Sub Command1_Click()
| Dim i As Integer
| Dim h(30) As Long
|
| For i = 1 To 1
| If IsNumeric(Text1(i)) Then
| h(i) = CLng(Text1(i))
| Else
| MsgBox "Textbox n° : " & i & vbCrLf & "non
numérique"
| End If
| Next i
| End Sub
|
|
| --
| Cordialement,
|
| Jacques.
Un textBox n'est-il pas par définition toujours une chaîne alphanumérique ???
isNumeric, j'ai arrêté de l'utiliser, il y a (de mémoire), plein de cas ou il ne fonctionne pas, il ne répond pas, ou mal...
Je vais essayer ce que tu dis...
-- Merci beaucoup, au revoir et à bientôt :o) ------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jacques93" a écrit dans le message de news: eygsUO% | Bonjour LE TROLL, | LE TROLL a écrit : | > Bonjour, | > | > Je fais: | > | > Dim h(30) As long | > Sub Command1_Click() 'moyenne | > For i = 1 To 30 | > h(i) = CLng(Text1(i)) | > Next i | > End Sub | > | > A h(i) = CLng(Text1(i)) | > A (i = 1) | > J'ai "13 : TYPE INCOMPATIBLE " | > | > Où est l'erreur, svp ??? | > | | L'erreur 13 me ferait penser à un TextBox non numérique. Tu peux essayer | ceci, qui par ailleurs assure, en partie, la validité de données : | | Private Sub Command1_Click() | Dim i As Integer | Dim h(30) As Long | | For i = 1 To 1 | If IsNumeric(Text1(i)) Then | h(i) = CLng(Text1(i)) | Else | MsgBox "Textbox n° : " & i & vbCrLf & "non numérique" | End If | Next i | End Sub | | | -- | Cordialement, | | Jacques.
LE TROLL
Eh eh, attends : Clng convertit une chaîne en numérique, et là tu testes : si numérique = convertit la chaîne. Ben... s'il est numléiruque, y a pas besoin de le convertir... enfin, sauf à le changer de taille d evariable ??? Même avec "Val" il plante !
-- Merci beaucoup, au revoir et à bientôt :o) ------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jacques93" a écrit dans le message de news: eygsUO% | Bonjour LE TROLL, | LE TROLL a écrit : | > Bonjour, | > | > Je fais: | > | > Dim h(30) As long | > Sub Command1_Click() 'moyenne | > For i = 1 To 30 | > h(i) = CLng(Text1(i)) | > Next i | > End Sub | > | > A h(i) = CLng(Text1(i)) | > A (i = 1) | > J'ai "13 : TYPE INCOMPATIBLE " | > | > Où est l'erreur, svp ??? | > | | L'erreur 13 me ferait penser à un TextBox non numérique. Tu peux essayer | ceci, qui par ailleurs assure, en partie, la validité de données : | | Private Sub Command1_Click() | Dim i As Integer | Dim h(30) As Long | | For i = 1 To 1 | If IsNumeric(Text1(i)) Then | h(i) = CLng(Text1(i)) | Else | MsgBox "Textbox n° : " & i & vbCrLf & "non numérique" | End If | Next i | End Sub | | | -- | Cordialement, | | Jacques.
Eh eh, attends : Clng convertit une chaîne en
numérique, et là tu testes : si numérique =
convertit la chaîne.
Ben... s'il est numléiruque, y a pas besoin de le
convertir... enfin, sauf à le changer de taille d
evariable ??? Même avec "Val" il plante !
--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Jacques93" <jacques@Nospam> a écrit dans le
message de news:
eygsUO%23mIHA.4664@TK2MSFTNGP06.phx.gbl...
| Bonjour LE TROLL,
| LE TROLL a écrit :
| > Bonjour,
| >
| > Je fais:
| >
| > Dim h(30) As long
| > Sub Command1_Click() 'moyenne
| > For i = 1 To 30
| > h(i) = CLng(Text1(i))
| > Next i
| > End Sub
| >
| > A h(i) = CLng(Text1(i))
| > A (i = 1)
| > J'ai "13 : TYPE INCOMPATIBLE "
| >
| > Où est l'erreur, svp ???
| >
|
| L'erreur 13 me ferait penser à un TextBox non
numérique. Tu peux essayer
| ceci, qui par ailleurs assure, en partie, la
validité de données :
|
| Private Sub Command1_Click()
| Dim i As Integer
| Dim h(30) As Long
|
| For i = 1 To 1
| If IsNumeric(Text1(i)) Then
| h(i) = CLng(Text1(i))
| Else
| MsgBox "Textbox n° : " & i & vbCrLf & "non
numérique"
| End If
| Next i
| End Sub
|
|
| --
| Cordialement,
|
| Jacques.
Eh eh, attends : Clng convertit une chaîne en numérique, et là tu testes : si numérique = convertit la chaîne. Ben... s'il est numléiruque, y a pas besoin de le convertir... enfin, sauf à le changer de taille d evariable ??? Même avec "Val" il plante !
-- Merci beaucoup, au revoir et à bientôt :o) ------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jacques93" a écrit dans le message de news: eygsUO% | Bonjour LE TROLL, | LE TROLL a écrit : | > Bonjour, | > | > Je fais: | > | > Dim h(30) As long | > Sub Command1_Click() 'moyenne | > For i = 1 To 30 | > h(i) = CLng(Text1(i)) | > Next i | > End Sub | > | > A h(i) = CLng(Text1(i)) | > A (i = 1) | > J'ai "13 : TYPE INCOMPATIBLE " | > | > Où est l'erreur, svp ??? | > | | L'erreur 13 me ferait penser à un TextBox non numérique. Tu peux essayer | ceci, qui par ailleurs assure, en partie, la validité de données : | | Private Sub Command1_Click() | Dim i As Integer | Dim h(30) As Long | | For i = 1 To 1 | If IsNumeric(Text1(i)) Then | h(i) = CLng(Text1(i)) | Else | MsgBox "Textbox n° : " & i & vbCrLf & "non numérique" | End If | Next i | End Sub | | | -- | Cordialement, | | Jacques.
Patrice Henrio
LE TROLL a écrit :
Eh eh, attends : Clng convertit une chaîne en numérique, et là tu testes : si numérique = convertit la chaîne. Ben... s'il est numléiruque, y a pas besoin de le convertir... enfin, sauf à le changer de taille d evariable ??? Même avec "Val" il plante !
Et quel est le contenu de text(1) ? Je viens de tester CLng, le réponse que tu obtiens vient du fait que la chaîne à convertir n'est pas un nombre.
Utilise debug.print Text(1) avant ta conversion pour voir ce que contient Text1
Attention certains caractères ne renvoient pas d'erreur ainsi Clng("azarer") erreur 13 Clng("12aze") erreur 13 Clng("12" & vbcrlf) renvoie 12
Le séparateur de décimal utilisé avec les fonctions de conversion est le séparateur des paramètres nationaux, soit la virgule pour nous. Avec un point dans le nombre il y a erreur 13.
... etc
LE TROLL a écrit :
Eh eh, attends : Clng convertit une chaîne en
numérique, et là tu testes : si numérique =
convertit la chaîne.
Ben... s'il est numléiruque, y a pas besoin de le
convertir... enfin, sauf à le changer de taille d
evariable ??? Même avec "Val" il plante !
Et quel est le contenu de text(1) ?
Je viens de tester CLng, le réponse que tu obtiens vient du fait que la
chaîne à convertir n'est pas un nombre.
Utilise debug.print Text(1) avant ta conversion pour voir ce que
contient Text1
Attention certains caractères ne renvoient pas d'erreur
ainsi
Clng("azarer") erreur 13
Clng("12aze") erreur 13
Clng("12" & vbcrlf) renvoie 12
Le séparateur de décimal utilisé avec les fonctions de conversion est le
séparateur des paramètres nationaux, soit la virgule pour nous. Avec un
point dans le nombre il y a erreur 13.
Eh eh, attends : Clng convertit une chaîne en numérique, et là tu testes : si numérique = convertit la chaîne. Ben... s'il est numléiruque, y a pas besoin de le convertir... enfin, sauf à le changer de taille d evariable ??? Même avec "Val" il plante !
Et quel est le contenu de text(1) ? Je viens de tester CLng, le réponse que tu obtiens vient du fait que la chaîne à convertir n'est pas un nombre.
Utilise debug.print Text(1) avant ta conversion pour voir ce que contient Text1
Attention certains caractères ne renvoient pas d'erreur ainsi Clng("azarer") erreur 13 Clng("12aze") erreur 13 Clng("12" & vbcrlf) renvoie 12
Le séparateur de décimal utilisé avec les fonctions de conversion est le séparateur des paramètres nationaux, soit la virgule pour nous. Avec un point dans le nombre il y a erreur 13.
... etc
Jean-marc
Jacques93 wrote:
L'erreur 13 me ferait penser à un TextBox non numérique. Tu peux essayer ceci, qui par ailleurs assure, en partie, la validité de données : Private Sub Command1_Click() Dim i As Integer Dim h(30) As Long
For i = 1 To 1 If IsNumeric(Text1(i)) Then h(i) = CLng(Text1(i)) Else MsgBox "Textbox n° : " & i & vbCrLf & "non numérique" End If Next i End Sub
Hello,
On peut aussi faire un Val préalable, car le retour de Val() sera toujours compatible avec Clng().
Dans un vrai programme, on rajouterait avant l'appel du code de Command1 une fonction de vérification et validation des TextBox, en utilisant une des techniques présentées dans la FAQ:
http://faq.vb.free.fr/index.php?question1
ou mieux: http://faq.vb.free.fr/index.php?question3
L'erreur 13 me ferait penser à un TextBox non numérique. Tu peux
essayer ceci, qui par ailleurs assure, en partie, la validité de
données :
Private Sub Command1_Click()
Dim i As Integer
Dim h(30) As Long
For i = 1 To 1
If IsNumeric(Text1(i)) Then
h(i) = CLng(Text1(i))
Else
MsgBox "Textbox n° : " & i & vbCrLf & "non numérique"
End If
Next i
End Sub
Hello,
On peut aussi faire un Val préalable, car le retour de Val()
sera toujours compatible avec Clng().
Dans un vrai programme, on rajouterait avant l'appel
du code de Command1 une fonction de vérification et
validation des TextBox, en utilisant une des techniques
présentées dans la FAQ:
http://faq.vb.free.fr/index.php?question1
ou mieux:
http://faq.vb.free.fr/index.php?question3
L'erreur 13 me ferait penser à un TextBox non numérique. Tu peux essayer ceci, qui par ailleurs assure, en partie, la validité de données : Private Sub Command1_Click() Dim i As Integer Dim h(30) As Long
For i = 1 To 1 If IsNumeric(Text1(i)) Then h(i) = CLng(Text1(i)) Else MsgBox "Textbox n° : " & i & vbCrLf & "non numérique" End If Next i End Sub
Hello,
On peut aussi faire un Val préalable, car le retour de Val() sera toujours compatible avec Clng().
Dans un vrai programme, on rajouterait avant l'appel du code de Command1 une fonction de vérification et validation des TextBox, en utilisant une des techniques présentées dans la FAQ:
http://faq.vb.free.fr/index.php?question1
ou mieux: http://faq.vb.free.fr/index.php?question3
"Jean-marc" a écrit dans le message de groupe de discussion : 48005ced$0$2948$
On peut aussi faire un Val préalable, car le retour de Val() sera toujours compatible avec Clng().
Dans mon utilisation de CLng, j'ai contourné une erreur qui se produit pour les chaînes vides. J'ajoute systématiquement un "0" avant la chaîne à convertir. -- Cordialement
Aski MVP Windows Desktop Experience
Hello,
"Jean-marc" <NO_SPAM_jean_marc_n2@yahoo.fr.invalid> a écrit dans le message
de groupe de discussion : 48005ced$0$2948$ba620e4c@news.skynet.be...
On peut aussi faire un Val préalable, car le retour de Val()
sera toujours compatible avec Clng().
Dans mon utilisation de CLng, j'ai contourné une erreur qui se produit pour
les chaînes vides. J'ajoute systématiquement un "0" avant la chaîne à
convertir.
--
Cordialement
"Jean-marc" a écrit dans le message de groupe de discussion : 48005ced$0$2948$
On peut aussi faire un Val préalable, car le retour de Val() sera toujours compatible avec Clng().
Dans mon utilisation de CLng, j'ai contourné une erreur qui se produit pour les chaînes vides. J'ajoute systématiquement un "0" avant la chaîne à convertir. -- Cordialement