Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Acc97] Comment compter le nombre de lignes dans une zone de liste ?

17 réponses
Avatar
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
----------------------------------------

10 réponses

1 2
Avatar
Whitetown
Bonjour

si ca peut t aider, en VB, nomdelazonedeliste.ListCount renvoi le nombre de
ligne de la liste (attention les en têtes des colonnes comptent pour une
ligne)

Cordialement

Whitetown


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
----------------------------------------




Avatar
Jessy Sempere [MVP]
Bonjour

Ce n'est pas génant, si ta zone de liste est trop petite, tu auras
une barre de défilement...

Sinon tu peux aussi passer par une zone de liste modifiable...

PS : pour connaître le nombre de ligne, regardes du côté de :
Me.TaListe.ListCount

@+
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,

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
----------------------------------------



Avatar
Jc
Bonjour(soir) Jessy,

"Jessy Sempere [MVP]" a écrit dans le
message de news:42f0df96$
Bonjour

Ce n'est pas génant, si ta zone de liste est trop petite, tu auras
une barre de défilement...


Merci pour l'aide. Actuellement, c'est ce que je fais... Mais je
voudrais améliorer.

Je viens de trouver chez Google, une réponse que vous aviez faite à ode
le 24 jan 2002 12:51, à la question : Compter les sauts de ligne.

Vous lui proposiez une petite fonction :

voilà une fonction qui retourne le nombre de sauts de lignes... es
espérant
que ça t'aidera


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
intX = 0
strX = Forms(strForm).Controls(strFie­ld)
For intIndex = 1 To Len(strX)
If Mid(strX, intIndex, 2) = vbCrLf Then: intX = intX + 1
Next
SautDeLigne = intX
End Function

que je me suis empressé de recopier... Seul problème :

intIndex n'est pas reconnu : s'agit-il une variable à déclarer ou d'une
fonction non implantée dans Acc97 ? Et si oui, comment la contourner ?

Encore 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
----------------------------------------

Avatar
Jc
Bonjour(soir) Whitetown,

"Whitetown" a écrit dans le
message de news:
Bonjour

si ca peut t aider, en VB, nomdelazonedeliste.ListCount renvoi le
nombre de

ligne de la liste (attention les en têtes des colonnes comptent pour
une

ligne)


Merci de votre aide. En VBA aussi ListCount renvoi le nombre de ligne de
la liste, MAIS d'un zone de liste MODIFIABLE... pas d'une zone de liste
"normale".

Il me faudrait vraiment tout modifier...
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------

Avatar
Jessy Sempere [MVP]
Bonjour

Si si, je confirme listcount renvoi le nombre de ligne d'une zone de liste
ou d'une zone de liste modifiable...

@+
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) Whitetown,

"Whitetown" a écrit dans le
message de news:
Bonjour

si ca peut t aider, en VB, nomdelazonedeliste.ListCount renvoi le
nombre de

ligne de la liste (attention les en têtes des colonnes comptent pour
une

ligne)


Merci de votre aide. En VBA aussi ListCount renvoi le nombre de ligne de
la liste, MAIS d'un zone de liste MODIFIABLE... pas d'une zone de liste
"normale".

Il me faudrait vraiment tout modifier...
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------




Avatar
Jc
Bonjour(soir) Jessy (et Tous les Autres),

"Jc" a écrit dans le message de
news:e%
Bonjour(soir) Jessy,

Je viens de trouver chez Google, une réponse que vous aviez faite à
ode

le 24 jan 2002 12:51, à la question : Compter les sauts de ligne.

Vous lui proposiez une petite fonction :


Personne pour m'aider ?

Jessy, si vous passez par là...

Merci et
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------

Avatar
Jessy Sempere [MVP]
Re,

intIndex n'est pas reconnu : s'agit-il une variable à déclarer ou d'une
fonction non implantée dans Acc97 ? Et si oui, comment la contourner ?


intIndex était à l'époque une variable globale que j'avais dans ma base
contenant toutes mes fonctions. Il suffit juste de rajouter dans la fonction
dim intIndex as integer

Sinon je ne vois pas en quoi cette fonction va t'aider pour ton nombre
de ligne dans ta liste ???

@+
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:
e#
Bonjour(soir) Jessy,

"Jessy Sempere [MVP]" a écrit dans le
message de news:42f0df96$
Bonjour

Ce n'est pas génant, si ta zone de liste est trop petite, tu auras
une barre de défilement...


Merci pour l'aide. Actuellement, c'est ce que je fais... Mais je
voudrais améliorer.

Je viens de trouver chez Google, une réponse que vous aviez faite à ode
le 24 jan 2002 12:51, à la question : Compter les sauts de ligne.

Vous lui proposiez une petite fonction :

voilà une fonction qui retourne le nombre de sauts de lignes... es
espérant
que ça t'aidera


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
intX = 0
strX = Forms(strForm).Controls(strFie­ld)
For intIndex = 1 To Len(strX)
If Mid(strX, intIndex, 2) = vbCrLf Then: intX = intX + 1
Next
SautDeLigne = intX
End Function

que je me suis empressé de recopier... Seul problème :

intIndex n'est pas reconnu : s'agit-il une variable à déclarer ou d'une
fonction non implantée dans Acc97 ? Et si oui, comment la contourner ?

Encore 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
----------------------------------------




Avatar
Jc
Re-Bonjour(soir) Jessy,

"Jessy Sempere [MVP]" a écrit dans le
message de news:42f1c374$
Re,

intIndex n'est pas reconnu : s'agit-il une variable à déclarer ou
d'une


fonction non implantée dans Acc97 ? Et si oui, comment la contourner
?



intIndex était à l'époque une variable globale que j'avais dans ma
base

contenant toutes mes fonctions. Il suffit juste de rajouter dans la
fonction

dim intIndex as integer

Sinon je ne vois pas en quoi cette fonction va t'aider pour ton nombre
de ligne dans ta liste ???


Merci de votre réponse pour la Propriété ListCount (plus haut dans le
fil), mais... je m'ai trompé... il ne s'agit pas d'une zone de liste
(modifiable ou non) mais d'une zone de texte (excusez-moi !).

Pour connaître le nombre de ligne(s) dans cette zone de texte, j'avais
déjà dans l'idée de compter le nombre de "retour à la ligne" et cette
fonction me convenait, a priori, bien.

Je l'essaie et je viens faire retour.

Encore merci et
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------


Avatar
Jc
Re-Bonjour(soir) Jessy,

"Jc" a écrit dans le message de news:
%
Re-Bonjour(soir) Jessy,

"Jessy Sempere [MVP]" a écrit dans le
message de news:42f1c374$
Re,
dim intIndex as integer



Je viens d'essayer la fonction sur clic d'une étiquette (donc après
ouverture du formulaire "4I-Rdv/F0")

Private Sub Étiquette79_Click()
MsgBox NbSautDeLigne("4I-Rdv/F0", [EPHEM])
End Sub

et j'ai le message d'erreur suivant :
"Erreur d'exéction '2465': Impossible de trouver le champ (et là, au lieu de
son nom, Access indique le contenu du champ...) auquel il est fait référence
dans votre expression. Vous avez peut-être mal orthographier le nom de
champ. Il est possible aussi que le champ ait été renommé ou supprimé."

Une idée ?

Merci et
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------


Avatar
Jessy Sempere [MVP]
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")

@+
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:
#
Re-Bonjour(soir) Jessy,

"Jc" a écrit dans le message de news:
%
Re-Bonjour(soir) Jessy,

"Jessy Sempere [MVP]" a écrit dans le
message de news:42f1c374$
Re,
dim intIndex as integer



Je viens d'essayer la fonction sur clic d'une étiquette (donc après
ouverture du formulaire "4I-Rdv/F0")

Private Sub Étiquette79_Click()
MsgBox NbSautDeLigne("4I-Rdv/F0", [EPHEM])
End Sub

et j'ai le message d'erreur suivant :
"Erreur d'exéction '2465': Impossible de trouver le champ (et là, au lieu
de

son nom, Access indique le contenu du champ...) auquel il est fait
référence

dans votre expression. Vous avez peut-être mal orthographier le nom de
champ. Il est possible aussi que le champ ait été renommé ou supprimé."

Une idée ?

Merci et
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------






1 2