Uitilisation de la fonction like

baboo50 Messages postés 18 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 23 octobre 2008 - 12 juil. 2007 à 12:33
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 13 juil. 2007 à 19:57
Bonjour a tous,

en ce moment  j'essaye de tester la valeur rentre par l'utilisateur dans un textbox, car j'aimerai qu'il rentre une valeur as integer. pour cela j'ai teste la fonction like. j'ai mon code tels que :
textbox.text like "integer" sachant que j'ai bricolle avec un truc du web  pour arriver  un truc qui semblait juste.
Malheureusement je soupsonne une erreur dans la 2eme partie de la fonction.
Si quelqu'un saurai comment utiliser cette fonction ou m'en conseiller une autre pour arrive mes fin je lui en serai reconnaissant.

Au passage si quelqu'un saurai pourquoi je n'arrive pas a envoyer des valeurs dans excel sur un autre ordinateur que le mien

merci d'avance

Jacques

12 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 juil. 2007 à 12:39
tu peux tester la fin...

sBuffer = "15 As Integer"
sType = UCase$(right$(sbuffer, 10))

? stype
AS INTEGER
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
12 juil. 2007 à 13:02
Bonjour,

Like n'est pas une fonction mais un opérateur !

Cette opérateur permet de comparer si une chaîne de caractère est "en harmonie" avec une autre chaîne de caractères, en utilisant un mode de comparaison incluant des "jokers"...
écrire textbox.text like "integer" est assez étrange, car il voudrait dire textbox.text = "integer"

Alors :
1) définir toutes les comparaisons possibles par utilisation de l'opérateur Like reviendrait à étaler ici tout ce qu'en dit l'aide en ligne, mot pour mot ! (et ce n'est pas le but de ce forum !)
2) si tu nous disais quelle "comparaison" tu veux faire exactement, on pourrait alors te dire comment utiliser Like, ses jokers et le reste...
0
cs_etniqs Messages postés 201 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 10 mai 2016
12 juil. 2007 à 14:03
et si la question est juste de tester l'insertion dans le textbox, tu cast le string (non ce n'est pas cochon !)

if isnumeric(cint(textbox.text))=true then ....

coïto ergo sum
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
12 juil. 2007 à 21:57
Bonsoir etnioqs,

Il est toujours bon de tester ce que l'on dit.
Tu devrais....

Fais-le et corrige-toi toi même, s'il te plait.


regarde : imaginons que l'utilisateur rentre un "a" :


voilà à quoi aboutirait ta suggestion non corrigée :


Private Sub Command1_Click()
  toto = "a"
  If IsNumeric(CInt(toto)) = True Then
     MsgBox "oui"
  Else
    MsgBox "non"
  End If
End Sub


essaye et corrige, s'il te plait ...


 
0

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

Posez votre question
baboo50 Messages postés 18 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 23 octobre 2008
13 juil. 2007 à 00:16
merci pour tout le programme marche bien, mais j'ai une autre question pour vous.

En ce moment mon programme peut envoyer des données vers excel mais quand j'installe mon programme sur un autre ordinateur que le mien, j'obtient une erreur au moment d'envoyer dans excel.
Est ce que qu'un saurai pourquoi et comment je pourrai remèdier a ce probleme.
Pour l'empaquetage, j'utilise Innosetup.
Que dois je faire?

Merci d'avance de bien vouloir m'aider a nouveau ou de mes exposé des solution possible.

Jacques
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
13 juil. 2007 à 00:38
Bonsoir,

Ce genre d'invonvénient existe lorsque l'on pilote une application (Excel ou autre...) depuis VB6 (ou depuis n'importe quel autre outil de développement d'ailleurs).
Le pilotage passe à l'application ouverte des instructions qu'elle doit comprendre. Le risque est toujours présent que ces instructions, rédigées pour une version de l'application ouverte, ne soient pas comprises par une autre version).
Je ne cesserai jamais de déconseiller ces "pilotages", pour ces raisons, précisément.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
13 juil. 2007 à 00:38
Est-ce que l'autre ordi a Excel installé ?

MPi
0
baboo50 Messages postés 18 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 23 octobre 2008
13 juil. 2007 à 15:19
Oui tout les ordinateurs ont le microsoft office au grand complet
ca c pour repondre a ta question MPi

Parcontre jmfmarques je te remercie de me déconseiller ce que j'ai fait mais le gros probleme c'est que j'en ai besoin pour avoir un tableau regroupant toutes les données de la listbox, alors si tu a une autre methode dit la moi.
Autrement si quelqu'un a une solution a ce probleme, fait le moi.

Merci

Jacques
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
13 juil. 2007 à 16:16
 

Bonjour baboo50,

  Pour te répondre franchement, je n'en sais rigoureusement rien à ce stade.
  Il en ira peut-être différemment lorsque tu m'auras exposé, "à grands traits" (sans détails superflus) ce que tu fais faire par Excel à partir des "données de la listbox", que VB6 ne saurait faire ...
0
baboo50 Messages postés 18 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 23 octobre 2008
13 juil. 2007 à 19:00
je ne pense pas que vb6 ne sais pas faire, car ca marche sur mon ordi mais pas sur les autres

Mais je t'explique rapidement la partie excel:

tout d'abord je j'ouvre l'excel :

listprog.Visible = True
listprog.Workbooks.Add
listprog.Worksheets.Add
listprog.Sheets("feuil1").Select

apres
je tri toute les valeurs ( ca c'est la partie qui ne t'interresse pas)

puis je fini avec
l'envoi les valeurs qui change de colonne tout le x valeur rentré dans la colonne
tels que

Numero_colonne = 1
saut = txtline.Text - 1
For o = 0 To frmgstprog.lstprog.ListCount - 1
If o Mod (saut) = 0 And o >= saut Then
    Numero_colonne = Numero_colonne + 2
End If
        l = o
        listprog.Cells(1, Numero_colonne) = "n°card"
        listprog.Cells(1, Numero_colonne + 1) = "n°prog"
       
        l = l Mod (saut) + 2
        listprog.Cells(l, Numero_colonne) = Left(frmgstprog.lstprog.List(o), InStrRev(frmgstprog.lstprog.List(o), "_") - 4)
        listprog.Cells(l, Numero_colonne + 1) = Right(frmgstprog.lstprog.List(o), Len(frmgstprog.lstprog.List(o)) - InStrRev(frmgstprog.lstprog.List(o), "_"))
Next o

Voila
mais je pense que c'est due a l'empaquetage (mais je suis pas sure du tout) et non a vb6 et non plus mon code

merci tout de même de m'aider

Jacques
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
13 juil. 2007 à 19:47
Te rends-tu compte de ce que (à moins que tu n'aies pas tout dit) tu te sers ici d'un tableur (dont la vocation est d'effectuer des calculs intreactifs) comme d'un simple état/document  à visualiser ou à imprimer ?
Toutes ces opérations (au demeurant simples) sont largement exécutables depuis VB6 et en seulement avec VB6, ce qui aurait l'énorme avantage de rendre ton application parfaitement indépendante...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
13 juil. 2007 à 19:57
Numero_colonne = 1
saut = txtline.Text - 1  ' .text signifie un string !
For o = 0 To frmgstprog.lstprog.ListCount - 1
If o Mod (saut) = 0 And o >= saut Then
    Numero_colonne = Numero_colonne + 2
End If
        l = o  ' à quoi celà sert-il ? à rien...
        listprog.Cells(1, Numero_colonne) = "n°card"
        listprog.Cells(1, Numero_colonne + 1) = "n°prog"
                l l Mod (saut) + 2 ' ce qui revient à dire que l o Mod saut
        listprog.Cells(l, Numero_colonne) = Left(frmgstprog.lstprog.List(o), InStrRev(frmgstprog.lstprog.List(o), "_") - 4)
        listprog.Cells(l, Numero_colonne + 1) = Right(frmgstprog.lstprog.List(o), Len(frmgstprog.lstprog.List(o)) - InStrRev(frmgstprog.lstprog.List(o), "_"))
Next o


 


(concentre-toi un peu...)
0
Rejoignez-nous