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
------------------------------------------------------------------------------------
Bonjour je changerai deux choses 1. j'utiliserai Text(i).text
2. je vérifierai d'abord que que le champ n'est pas vide et qu'il n'y a bien que des caractères numériques. Pour cette deuxième parti j'utiliserai d'abord la focntion val()
par exemple
h(30) As long Sub Command1_Click() 'moyenne For i = 1 To 30 if text1(i).text <> vbnullstring then h(i) = CLng(Val(Text1(i).Text)) Next i End Sub
Driss
"LE TROLL" <le a écrit dans le message de news: %
Bonjour,
Je fais:
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 ------------------------------------------------------------------------------------
Bonjour je changerai deux choses
1. j'utiliserai Text(i).text
2. je vérifierai d'abord que que le champ n'est pas vide et qu'il n'y a bien
que des caractères numériques. Pour cette deuxième parti j'utiliserai
d'abord la focntion val()
par exemple
h(30) As long
Sub Command1_Click() 'moyenne
For i = 1 To 30
if text1(i).text <> vbnullstring then
h(i) = CLng(Val(Text1(i).Text))
Next i
End Sub
Driss
"LE TROLL" <le troll@enfer.fr> a écrit dans le message de news:
%23pniCD9mIHA.4480@TK2MSFTNGP03.phx.gbl...
Bonjour,
Je fais:
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
------------------------------------------------------------------------------------
Bonjour je changerai deux choses 1. j'utiliserai Text(i).text
2. je vérifierai d'abord que que le champ n'est pas vide et qu'il n'y a bien que des caractères numériques. Pour cette deuxième parti j'utiliserai d'abord la focntion val()
par exemple
h(30) As long Sub Command1_Click() 'moyenne For i = 1 To 30 if text1(i).text <> vbnullstring then h(i) = CLng(Val(Text1(i).Text)) Next i End Sub
Driss
"LE TROLL" <le a écrit dans le message de news: %
Bonjour,
Je fais:
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 ------------------------------------------------------------------------------------
LE TROLL
Eh ouais, je n'ai pas percuté le Nul... C'est souvent sur les détails que ça coince, jamais sur les gros morceaux évidents :o)
-- Merci beaucoup, au revoir et à bientôt :o) ------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "driss hanib" a écrit dans le message de news:
| Bonjour je changerai deux choses | 1. j'utiliserai Text(i).text | | 2. je vérifierai d'abord que que le champ n'est pas vide et qu'il n'y a bien | que des caractères numériques. Pour cette deuxième parti j'utiliserai | d'abord la focntion val() | | par exemple | | h(30) As long | Sub Command1_Click() 'moyenne | For i = 1 To 30 | if text1(i).text <> vbnullstring then | h(i) = CLng(Val(Text1(i).Text)) | Next i | End Sub | | | Driss | | | "LE TROLL" <le a écrit dans le message de news: | % | > Bonjour, | > | > Je fais: | > | > 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 | > ------------------------------------------------------------------------------------ | > | > | |
Eh ouais, je n'ai pas percuté le Nul... C'est
souvent sur les détails que ça coince, jamais sur
les gros morceaux évidents :o)
--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"driss hanib" <dhanib@club-internet.fr> a écrit
dans le message de news:
OlOxRxWnIHA.3532@TK2MSFTNGP05.phx.gbl...
| Bonjour je changerai deux choses
| 1. j'utiliserai Text(i).text
|
| 2. je vérifierai d'abord que que le champ n'est
pas vide et qu'il n'y a bien
| que des caractères numériques. Pour cette
deuxième parti j'utiliserai
| d'abord la focntion val()
|
| par exemple
|
| h(30) As long
| Sub Command1_Click() 'moyenne
| For i = 1 To 30
| if text1(i).text <> vbnullstring then
| h(i) = CLng(Val(Text1(i).Text))
| Next i
| End Sub
|
|
| Driss
|
|
| "LE TROLL" <le troll@enfer.fr> a écrit dans le
message de news:
| %23pniCD9mIHA.4480@TK2MSFTNGP03.phx.gbl...
| > Bonjour,
| >
| > Je fais:
| >
| > 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
|
> ------------------------------------------------------------------------------------
| >
| >
|
|
Eh ouais, je n'ai pas percuté le Nul... C'est souvent sur les détails que ça coince, jamais sur les gros morceaux évidents :o)
-- Merci beaucoup, au revoir et à bientôt :o) ------ Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "driss hanib" a écrit dans le message de news:
| Bonjour je changerai deux choses | 1. j'utiliserai Text(i).text | | 2. je vérifierai d'abord que que le champ n'est pas vide et qu'il n'y a bien | que des caractères numériques. Pour cette deuxième parti j'utiliserai | d'abord la focntion val() | | par exemple | | h(30) As long | Sub Command1_Click() 'moyenne | For i = 1 To 30 | if text1(i).text <> vbnullstring then | h(i) = CLng(Val(Text1(i).Text)) | Next i | End Sub | | | Driss | | | "LE TROLL" <le a écrit dans le message de news: | % | > Bonjour, | > | > Je fais: | > | > 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 | > ------------------------------------------------------------------------------------ | > | > | |
Patrick JONIEC
J'ai remplacé IsNumeric par ma fonction avec des options en plus (à supprimer si pas nécessaires) : - remplacement des . par des , - mise en forme du texte - affichage d'un message d'erreur
Function Number_Faux(texte As TextBox, MiseEnForme As String, Optional AfficheMessage As Boolean = True) As Boolean ' Retourne True si le nombre n'est pas valide, et met en forme le nombre Dim Bidon As Single
' Supprimer les espaces en début et en fin de saisie texte.Text = Trim(texte.Text) ' Si pas de texte saisi, alors obliger "0" If texte.Text = "" Then _ texte.Text = "0" texte.Text = Replace(texte.Text, ".", ",")
Number_Faux = False On Error Resume Next
Bidon = CSng(texte.Text) If Err.Number <> 0 Then If AfficheMessage Then _ MsgBox "Le nombre saisie n'est pas valide" & vbCrLf & "Champ """ & texte.name & """", vbOKOnly, "Erreur de saisie" Number_Faux = True Else ' Mettre en forme texte.Text = Format(CSng(texte.Text), MiseEnForme) Number_Faux = False End If On Error GoTo 0
End Function
Public Function Replace(strTexte As Variant, strRech As String, strRemp As String) Dim i As Long, TexteDeb As String, TexteRes As String
If IsNull(strTexte) Then Exit Function TexteDeb = strTexte TexteRes = "" While TexteDeb <> "" i = InStr(1, TexteDeb, strRech) If i = 0 Then TexteRes = TexteRes + TexteDeb TexteDeb = "" Else TexteRes = TexteRes + Left(TexteDeb, i - 1) + strRemp TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1) End If Wend Replace = TexteRes
End Function
"LE TROLL" <le a écrit dans le message de news:uUjDSl%
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.
J'ai remplacé IsNumeric par ma fonction avec des options en plus (à
supprimer si pas nécessaires) :
- remplacement des . par des ,
- mise en forme du texte
- affichage d'un message d'erreur
Function Number_Faux(texte As TextBox, MiseEnForme As String, Optional
AfficheMessage As Boolean = True) As Boolean
' Retourne True si le nombre n'est pas valide, et met en forme le nombre
Dim Bidon As Single
' Supprimer les espaces en début et en fin de saisie
texte.Text = Trim(texte.Text)
' Si pas de texte saisi, alors obliger "0"
If texte.Text = "" Then _
texte.Text = "0"
texte.Text = Replace(texte.Text, ".", ",")
Number_Faux = False
On Error Resume Next
Bidon = CSng(texte.Text)
If Err.Number <> 0 Then
If AfficheMessage Then _
MsgBox "Le nombre saisie n'est pas valide" & vbCrLf & "Champ """
& texte.name & """", vbOKOnly, "Erreur de saisie"
Number_Faux = True
Else
' Mettre en forme
texte.Text = Format(CSng(texte.Text), MiseEnForme)
Number_Faux = False
End If
On Error GoTo 0
End Function
Public Function Replace(strTexte As Variant, strRech As String, strRemp As
String)
Dim i As Long, TexteDeb As String, TexteRes As String
If IsNull(strTexte) Then Exit Function
TexteDeb = strTexte
TexteRes = ""
While TexteDeb <> ""
i = InStr(1, TexteDeb, strRech)
If i = 0 Then
TexteRes = TexteRes + TexteDeb
TexteDeb = ""
Else
TexteRes = TexteRes + Left(TexteDeb, i - 1) + strRemp
TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1)
End If
Wend
Replace = TexteRes
End Function
"LE TROLL" <le troll@enfer.fr> a écrit dans le message de
news:uUjDSl%23mIHA.3512@TK2MSFTNGP03.phx.gbl...
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.
J'ai remplacé IsNumeric par ma fonction avec des options en plus (à supprimer si pas nécessaires) : - remplacement des . par des , - mise en forme du texte - affichage d'un message d'erreur
Function Number_Faux(texte As TextBox, MiseEnForme As String, Optional AfficheMessage As Boolean = True) As Boolean ' Retourne True si le nombre n'est pas valide, et met en forme le nombre Dim Bidon As Single
' Supprimer les espaces en début et en fin de saisie texte.Text = Trim(texte.Text) ' Si pas de texte saisi, alors obliger "0" If texte.Text = "" Then _ texte.Text = "0" texte.Text = Replace(texte.Text, ".", ",")
Number_Faux = False On Error Resume Next
Bidon = CSng(texte.Text) If Err.Number <> 0 Then If AfficheMessage Then _ MsgBox "Le nombre saisie n'est pas valide" & vbCrLf & "Champ """ & texte.name & """", vbOKOnly, "Erreur de saisie" Number_Faux = True Else ' Mettre en forme texte.Text = Format(CSng(texte.Text), MiseEnForme) Number_Faux = False End If On Error GoTo 0
End Function
Public Function Replace(strTexte As Variant, strRech As String, strRemp As String) Dim i As Long, TexteDeb As String, TexteRes As String
If IsNull(strTexte) Then Exit Function TexteDeb = strTexte TexteRes = "" While TexteDeb <> "" i = InStr(1, TexteDeb, strRech) If i = 0 Then TexteRes = TexteRes + TexteDeb TexteDeb = "" Else TexteRes = TexteRes + Left(TexteDeb, i - 1) + strRemp TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1) End If Wend Replace = TexteRes
End Function
"LE TROLL" <le a écrit dans le message de news:uUjDSl%
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.