[Acc97] Comment compter le nombre de lignes dans une zone de liste ?
17 réponses
Jc
Bonjour(soir) Tous,
Un formulaire en continu. Dans l'en-tête de formulaire une zone de liste
qui peut avoir de 5 à 10 lignes (concaténation de divers champs texte de
chacun, 255 caractères maxi).
Impossible de mettre la propriété auto-extensible à l'en-tête et à la
zone de liste (l'aide indique que c'est sans effet en mode formulaire...
et c'est vrai !).
Quelqu'un a-t'il une astuce pour calculer le nombre de lignes que
contient la zone, quitte à les agrandir (hauteur) avec quelque chose du
style :
si 5 lignes hauteur (en twips) = xxxx
ou si 6 lignes... etc.
Merci de votre aide et
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------
"Jessy Sempere [MVP]" a écrit dans le message de news: 42f1e514$
Bonjour
Oui, c'est normal, tu as mis dans l'argument nom de champ de la fonction : [EPHEM]
Du coup, la fonction prend la valeur de ton champ et non son nom.
Du doit mettre : MsgBox NbSautDeLigne("4I-Rdv/F0", "EPHEM")
OK, çà marche...
Reste à adapter...
Encore un grand merci et -- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Re-Bonjour(soir) Jessy,
"Jessy Sempere [MVP]" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news: 42f1e514$1@news.sncf.fr...
Bonjour
Oui, c'est normal, tu as mis dans l'argument nom de champ
de la fonction : [EPHEM]
Du coup, la fonction prend la valeur de ton champ et non son nom.
Du doit mettre :
MsgBox NbSautDeLigne("4I-Rdv/F0", "EPHEM")
OK, çà marche...
Reste à adapter...
Encore un grand merci et
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------
"Jessy Sempere [MVP]" a écrit dans le message de news: 42f1e514$
Bonjour
Oui, c'est normal, tu as mis dans l'argument nom de champ de la fonction : [EPHEM]
Du coup, la fonction prend la valeur de ton champ et non son nom.
Du doit mettre : MsgBox NbSautDeLigne("4I-Rdv/F0", "EPHEM")
OK, çà marche...
Reste à adapter...
Encore un grand merci et -- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Jc
Bonjour(soir) Tous,
Juste une remarque concernant la fonction :
Function SautDeLigne(strForm As String, strField As String) As Integer 'strForm = nom de ton formulaire 'strField = nom de ton champ (de ton control de formulaire
Dim intX As Integer Dim strX As String Dim intIndex As Integer intX = 0 strX = Forms(strForm).Controls(strField) For intIndex = 1 To Len(strX) If Mid(strX, intIndex, 2) = vbCrLf Then intX = intX + 1 Next SautDeLigne = intX End Function
elle donne bien le nombre de saut de lignes : il faut donc ajouter 1 pour obtenir le nombre de lignes, ou créer une nouvelle founction, par exemple :
Function NbDeLigne(strForm As String, strField As String) As Integer 'strForm et strField voir fonction SautDeLigne
NbDeLigne = SautDeLigne(strForm, strField) + 1 End Function
et c'est tout bon ;-)))))
Encore merci à Jessy.
-- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Bonjour(soir) Tous,
Juste une remarque concernant la fonction :
Function SautDeLigne(strForm As String, strField As String) As Integer
'strForm = nom de ton formulaire
'strField = nom de ton champ (de ton control de formulaire
Dim intX As Integer
Dim strX As String
Dim intIndex As Integer
intX = 0
strX = Forms(strForm).Controls(strField)
For intIndex = 1 To Len(strX)
If Mid(strX, intIndex, 2) = vbCrLf Then intX = intX + 1
Next
SautDeLigne = intX
End Function
elle donne bien le nombre de saut de lignes : il faut donc ajouter 1 pour
obtenir le nombre de lignes, ou créer une nouvelle founction, par exemple :
Function NbDeLigne(strForm As String, strField As String) As Integer
'strForm et strField voir fonction SautDeLigne
NbDeLigne = SautDeLigne(strForm, strField) + 1
End Function
et c'est tout bon ;-)))))
Encore merci à Jessy.
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------
Function SautDeLigne(strForm As String, strField As String) As Integer 'strForm = nom de ton formulaire 'strField = nom de ton champ (de ton control de formulaire
Dim intX As Integer Dim strX As String Dim intIndex As Integer intX = 0 strX = Forms(strForm).Controls(strField) For intIndex = 1 To Len(strX) If Mid(strX, intIndex, 2) = vbCrLf Then intX = intX + 1 Next SautDeLigne = intX End Function
elle donne bien le nombre de saut de lignes : il faut donc ajouter 1 pour obtenir le nombre de lignes, ou créer une nouvelle founction, par exemple :
Function NbDeLigne(strForm As String, strField As String) As Integer 'strForm et strField voir fonction SautDeLigne
NbDeLigne = SautDeLigne(strForm, strField) + 1 End Function
et c'est tout bon ;-)))))
Encore merci à Jessy.
-- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Jessy Sempere [MVP]
Re,
Au fait je viens d'y penser, y avait plus simple pour avoir le nombre de ligne :
msgbox UBound(Split(Me.TonChamp, vbCrLf))
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Jc" a écrit dans le message news: #
Bonjour(soir) Tous,
Juste une remarque concernant la fonction :
Function SautDeLigne(strForm As String, strField As String) As Integer 'strForm = nom de ton formulaire 'strField = nom de ton champ (de ton control de formulaire
Dim intX As Integer Dim strX As String Dim intIndex As Integer intX = 0 strX = Forms(strForm).Controls(strField) For intIndex = 1 To Len(strX) If Mid(strX, intIndex, 2) = vbCrLf Then intX = intX + 1 Next SautDeLigne = intX End Function
elle donne bien le nombre de saut de lignes : il faut donc ajouter 1 pour obtenir le nombre de lignes, ou créer une nouvelle founction, par exemple :
Function NbDeLigne(strForm As String, strField As String) As Integer 'strForm et strField voir fonction SautDeLigne
NbDeLigne = SautDeLigne(strForm, strField) + 1 End Function
et c'est tout bon ;-)))))
Encore merci à Jessy.
-- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Re,
Au fait je viens d'y penser, y avait plus simple pour avoir le nombre de
ligne :
msgbox UBound(Split(Me.TonChamp, vbCrLf))
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Jc" <remplacer.par.ma.signature@free.fr> a écrit dans le message news:
#JFCp6PmFHA.3648@TK2MSFTNGP10.phx.gbl...
Bonjour(soir) Tous,
Juste une remarque concernant la fonction :
Function SautDeLigne(strForm As String, strField As String) As Integer
'strForm = nom de ton formulaire
'strField = nom de ton champ (de ton control de formulaire
Dim intX As Integer
Dim strX As String
Dim intIndex As Integer
intX = 0
strX = Forms(strForm).Controls(strField)
For intIndex = 1 To Len(strX)
If Mid(strX, intIndex, 2) = vbCrLf Then intX = intX + 1
Next
SautDeLigne = intX
End Function
elle donne bien le nombre de saut de lignes : il faut donc ajouter 1 pour
obtenir le nombre de lignes, ou créer une nouvelle founction, par exemple
:
Function NbDeLigne(strForm As String, strField As String) As Integer
'strForm et strField voir fonction SautDeLigne
NbDeLigne = SautDeLigne(strForm, strField) + 1
End Function
et c'est tout bon ;-)))))
Encore merci à Jessy.
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------
Au fait je viens d'y penser, y avait plus simple pour avoir le nombre de ligne :
msgbox UBound(Split(Me.TonChamp, vbCrLf))
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "Jc" a écrit dans le message news: #
Bonjour(soir) Tous,
Juste une remarque concernant la fonction :
Function SautDeLigne(strForm As String, strField As String) As Integer 'strForm = nom de ton formulaire 'strField = nom de ton champ (de ton control de formulaire
Dim intX As Integer Dim strX As String Dim intIndex As Integer intX = 0 strX = Forms(strForm).Controls(strField) For intIndex = 1 To Len(strX) If Mid(strX, intIndex, 2) = vbCrLf Then intX = intX + 1 Next SautDeLigne = intX End Function
elle donne bien le nombre de saut de lignes : il faut donc ajouter 1 pour obtenir le nombre de lignes, ou créer une nouvelle founction, par exemple :
Function NbDeLigne(strForm As String, strField As String) As Integer 'strForm et strField voir fonction SautDeLigne
NbDeLigne = SautDeLigne(strForm, strField) + 1 End Function
et c'est tout bon ;-)))))
Encore merci à Jessy.
-- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Jc
Re-Bonjour(soir) Jessy,
"Jessy Sempere [MVP]" a écrit dans le message de news: 42f22416$
Re,
Au fait je viens d'y penser, y avait plus simple pour avoir le nombre de ligne :
msgbox UBound(Split(Me.TonChamp, vbCrLf))
Erreur sur Split :
Erreur de compilation: Sub ou fonction non définie
L'aide ne renvoie rien...
Encore merci et -- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Re-Bonjour(soir) Jessy,
"Jessy Sempere [MVP]" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news: 42f22416$1@news.sncf.fr...
Re,
Au fait je viens d'y penser, y avait plus simple pour avoir le nombre de
ligne :
msgbox UBound(Split(Me.TonChamp, vbCrLf))
Erreur sur Split :
Erreur de compilation:
Sub ou fonction non définie
L'aide ne renvoie rien...
Encore merci et
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------
"Jessy Sempere [MVP]" a écrit dans le message de news: 42f22416$
Re,
Au fait je viens d'y penser, y avait plus simple pour avoir le nombre de ligne :
msgbox UBound(Split(Me.TonChamp, vbCrLf))
Erreur sur Split :
Erreur de compilation: Sub ou fonction non définie
L'aide ne renvoie rien...
Encore merci et -- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Eric
Bonjour Jc,
Si je ne me trompe pas, la fonction Split() n'existe qu'à partir d'Access2000.
Re-Bonjour(soir) Jessy,
"Jessy Sempere [MVP]" a écrit dans le message de news: 42f22416$
Re,
Au fait je viens d'y penser, y avait plus simple pour avoir le nombre de ligne :
msgbox UBound(Split(Me.TonChamp, vbCrLf))
Erreur sur Split :
Erreur de compilation: Sub ou fonction non définie
L'aide ne renvoie rien...
Encore merci et
-- A+ Eric http://users.skynet.be/mpfa/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour Jc,
Si je ne me trompe pas, la fonction Split() n'existe qu'à partir
d'Access2000.
Re-Bonjour(soir) Jessy,
"Jessy Sempere [MVP]" <jessy.sempere@prg.sncf.fr> a écrit dans le
message de news: 42f22416$1@news.sncf.fr...
Re,
Au fait je viens d'y penser, y avait plus simple pour avoir le nombre de
ligne :
msgbox UBound(Split(Me.TonChamp, vbCrLf))
Erreur sur Split :
Erreur de compilation:
Sub ou fonction non définie
L'aide ne renvoie rien...
Encore merci et
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Si je ne me trompe pas, la fonction Split() n'existe qu'à partir d'Access2000.
Re-Bonjour(soir) Jessy,
"Jessy Sempere [MVP]" a écrit dans le message de news: 42f22416$
Re,
Au fait je viens d'y penser, y avait plus simple pour avoir le nombre de ligne :
msgbox UBound(Split(Me.TonChamp, vbCrLf))
Erreur sur Split :
Erreur de compilation: Sub ou fonction non définie
L'aide ne renvoie rien...
Encore merci et
-- A+ Eric http://users.skynet.be/mpfa/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Jc
Bonjour(soir) Eric,
"Eric" a écrit dans le message de news: %
Bonjour Jc,
Si je ne me trompe pas, la fonction Split() n'existe qu'à partir d'Access2000.
Je me le doutais...
Merci et -- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Bonjour(soir) Eric,
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:
%23t3fGZRmFHA.2860@TK2MSFTNGP15.phx.gbl...
Bonjour Jc,
Si je ne me trompe pas, la fonction Split() n'existe qu'à partir
d'Access2000.
Je me le doutais...
Merci et
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------
Si je ne me trompe pas, la fonction Split() n'existe qu'à partir d'Access2000.
Je me le doutais...
Merci et -- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Jc
Bonjour(soir) Tous,
Cà y est : mes zones de texte (pas toutes !) ont une toute nouvelle propriété : la pseudo-propriété "auto extensible"...
Cà marche très bien ;-))))
Un grand merci à tous ceux qui m'ont aidé et particulièrement à Jessy.
-- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------
Bonjour(soir) Tous,
Cà y est : mes zones de texte (pas toutes !) ont une toute nouvelle
propriété : la pseudo-propriété "auto extensible"...
Cà marche très bien ;-))))
Un grand merci à tous ceux qui m'ont aidé et particulièrement à Jessy.
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------
Cà y est : mes zones de texte (pas toutes !) ont une toute nouvelle propriété : la pseudo-propriété "auto extensible"...
Cà marche très bien ;-))))
Un grand merci à tous ceux qui m'ont aidé et particulièrement à Jessy.
-- Bonne fin de journée. ---------------------------------------- Jclg88 Cliquer sur ce lien pour me joindre par mél : http://cerbermail.com/?JVKAlLV1Rf ----------------------------------------