OVH Cloud OVH Cloud

[newbee] affecter des champs en boucle

3 réponses
Avatar
Fritzoune
Salut !

Dim stDocName As String
Dim ix As Integer

stDocName = "1723.25" ' ma valeur de ma formule
MsgBox Len(stDocName)
For ix = 1 To Len(stDocName)
MsgBox Mid(stDocName, ix, 1)
Next ix

Alors sur vos conseils, j'essaie d'utiliste cte forumule,
seulement,
j'aimerais au lieu que ca m'affiche des msgbox contenant chacune des valeurs
qui m'interesse,
les enregistrer dans des champs...
genre
lblval1, lblval2, lblval3, lblval4, lblval4, etc...
mais je ne sais pas comment integrer ca dans ma boucle..
que lblvalXX prennent la valeur lblval.[ix]
vu que je ne connais pas la syntaxe vba...
et aussi j'aimerais que le "." du mon nombre ne soit pas utilisé.
est-ce que c'est qqch comme ca??

lblval.[ix].caption=Mid(stDocName, ix, 1)

Et puis, comment jefais pour affecter une valeur a un champs texte depuis
vba ??
car y a rien qui marche avec ca :
txtField.Caption=""
txtField.Value=""
txtField.Text=""

Y me semblait qu'en VB, c-t
txtField.Caption.text, mais la ca le fait pas..

merci !
--
Salutations,

Fred !
ICQ: 46063572

3 réponses

Avatar
michel
Bonjour
Essaie
Dim stDocName As String
Dim ix As Integer

stDocName = "1723.25" ' ma valeur de ma formule
MsgBox Len(stDocName)
For ix = 1 To Len(stDocName)
Me("lblval" & ix)= Mid(stDocName, ix, 1)
Next ix

HTH
Michel


"Fritzoune" a écrit dans le message de news:
3fbcbc28$0$715$
Salut !

Dim stDocName As String
Dim ix As Integer

stDocName = "1723.25" ' ma valeur de ma formule
MsgBox Len(stDocName)
For ix = 1 To Len(stDocName)
MsgBox Mid(stDocName, ix, 1)
Next ix

Alors sur vos conseils, j'essaie d'utiliste cte forumule,
seulement,
j'aimerais au lieu que ca m'affiche des msgbox contenant chacune des
valeurs

qui m'interesse,
les enregistrer dans des champs...
genre
lblval1, lblval2, lblval3, lblval4, lblval4, etc...
mais je ne sais pas comment integrer ca dans ma boucle..
que lblvalXX prennent la valeur lblval.[ix]
vu que je ne connais pas la syntaxe vba...
et aussi j'aimerais que le "." du mon nombre ne soit pas utilisé.
est-ce que c'est qqch comme ca??

lblval.[ix].caption=Mid(stDocName, ix, 1)

Et puis, comment jefais pour affecter une valeur a un champs texte depuis
vba ??
car y a rien qui marche avec ca :
txtField.Caption=""
txtField.Value=""
txtField.Text=""

Y me semblait qu'en VB, c-t
txtField.Caption.text, mais la ca le fait pas..

merci !
--
Salutations,

Fred !
ICQ: 46063572




Avatar
Raymond [mvp]
Bonjour.

on va essayer de partager un peu.

j'aimerais au lieu que ca m'affiche des msgbox contenant chacune des
valeurs qui m'interesse, les enregistrer dans des champs...genre lblval1,

lblval2, lblval3, lblval4, lblval4, etc...

stDocName = "1723.25"
For ix = 1 To Len(stDocName)
If Mid(stDocName, ix, 1) <> "." Then
Me.Controls(lblval & ix).Caption = Mid(stDocName, ix, 1)
'ou
Me.Controls(lblval & ix) = Mid(stDocName, ix, 1)
End If
Next ix
selon que c'est une étiquette ou un contrôle texte.

Pour les contrôles texte tu peux indiquer .value si ça te fais plaisir.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Fritzoune" a écrit dans le message de
news:3fbcbc28$0$715$
Salut !

Dim stDocName As String
Dim ix As Integer

stDocName = "1723.25" ' ma valeur de ma formule
MsgBox Len(stDocName)
For ix = 1 To Len(stDocName)
MsgBox Mid(stDocName, ix, 1)
Next ix

Alors sur vos conseils, j'essaie d'utiliste cte forumule,
seulement,
j'aimerais au lieu que ca m'affiche des msgbox contenant chacune des
valeurs

qui m'interesse,
les enregistrer dans des champs...
genre
lblval1, lblval2, lblval3, lblval4, lblval4, etc...
mais je ne sais pas comment integrer ca dans ma boucle..
que lblvalXX prennent la valeur lblval.[ix]
vu que je ne connais pas la syntaxe vba...
et aussi j'aimerais que le "." du mon nombre ne soit pas utilisé.
est-ce que c'est qqch comme ca??

lblval.[ix].caption=Mid(stDocName, ix, 1)

Et puis, comment jefais pour affecter une valeur a un champs texte depuis
vba ??
car y a rien qui marche avec ca :
txtField.Caption=""
txtField.Value=""
txtField.Text=""

Y me semblait qu'en VB, c-t
txtField.Caption.text, mais la ca le fait pas..

merci !
--
Salutations,

Fred !
ICQ: 46063572




Avatar
Fritzoune
Merci a vous deux :-)
en combinant le tout j'ai réussi !!!
merciiii


--
Salutations,

Fred !
ICQ: 46063572
"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

on va essayer de partager un peu.

j'aimerais au lieu que ca m'affiche des msgbox contenant chacune des
valeurs qui m'interesse, les enregistrer dans des champs...genre lblval1,

lblval2, lblval3, lblval4, lblval4, etc...

stDocName = "1723.25"
For ix = 1 To Len(stDocName)
If Mid(stDocName, ix, 1) <> "." Then
Me.Controls(lblval & ix).Caption = Mid(stDocName, ix, 1)
'ou
Me.Controls(lblval & ix) = Mid(stDocName, ix, 1)
End If
Next ix
selon que c'est une étiquette ou un contrôle texte.

Pour les contrôles texte tu peux indiquer .value si ça te fais plaisir.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Fritzoune" a écrit dans le message de
news:3fbcbc28$0$715$
Salut !

Dim stDocName As String
Dim ix As Integer

stDocName = "1723.25" ' ma valeur de ma formule
MsgBox Len(stDocName)
For ix = 1 To Len(stDocName)
MsgBox Mid(stDocName, ix, 1)
Next ix

Alors sur vos conseils, j'essaie d'utiliste cte forumule,
seulement,
j'aimerais au lieu que ca m'affiche des msgbox contenant chacune des
valeurs

qui m'interesse,
les enregistrer dans des champs...
genre
lblval1, lblval2, lblval3, lblval4, lblval4, etc...
mais je ne sais pas comment integrer ca dans ma boucle..
que lblvalXX prennent la valeur lblval.[ix]
vu que je ne connais pas la syntaxe vba...
et aussi j'aimerais que le "." du mon nombre ne soit pas utilisé.
est-ce que c'est qqch comme ca??

lblval.[ix].caption=Mid(stDocName, ix, 1)

Et puis, comment jefais pour affecter une valeur a un champs texte
depuis


vba ??
car y a rien qui marche avec ca :
txtField.Caption=""
txtField.Value=""
txtField.Text=""

Y me semblait qu'en VB, c-t
txtField.Caption.text, mais la ca le fait pas..

merci !
--
Salutations,

Fred !
ICQ: 46063572