Bonjour
Quelle est la formule pour compter le nombre de caractère dans un champ ?
Par exemple :
CABLE - CONNECTIQUE - ROULEAU
La réponse devrait m'afficher "2" si je choisi le caractère "-" !
Merci !!
Bonjour
Quelle est la formule pour compter le nombre de caractère dans un champ ?
Par exemple :
CABLE - CONNECTIQUE - ROULEAU
La réponse devrait m'afficher "2" si je choisi le caractère "-" !
Merci !!
T'aime pas chercher toi ?
Fais F1 dans Crystal et regarde la fonction COUNT...
Bonjour,
Je viens de regarder rapidement et j'avoue que c'est plus difficile que je ne le pensais... En gros, il faut faire une super formule...
Un truc du genre: tu initialises une variable X à 0. Et tu analyses tous les caractères un à un (sers toi d'une boucle) et à chaque fois que "-" reviens tu rajoute 1 à la variable.
Je sais pas trop comment faire ça et là j'ai pas le temps... Je regarderai surement plus en détail cet après-midi. Peut-être que pour passer de caractère à caractère tu devra créer un variable Y, je ne sais pas.
Mais c'ets clair qu'avec la fonction COUNT, c'est pas possible... Au temps pour moi...
Bon courage
un truc du genre :
je n'ai pas CR10 sous la main, donc c'est juste l'idée à suivre pour créer cette formule si je ne me trompe pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function countChar($str,$char) Dim A as numeric Dim I as numeric For I=1 to len($str) if mid($str,I,1) = $char then A=A+1 Next countChar = A end function
Je ne garantis pas du tout le code(pas testé), et je ne sais plus si on spécifie le Next en CR, mais il doit être facilement adaptable.
Bonne continuation.
EDIT : je viens de voir qu'il s'agit de CR 8.5, il suffit dans ce cas d'utiliser la portion de code dans la fonction là où on en a besoin, car on ne peut pas créer de fonction en CR 8.5.
A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
oui je crois qu'il faut juste taper le code dans une formule. Et il est juste possible de le faire en syntaxe basic car je ne crois pas qu'on puisse y arriver en Crystal...Envoyé par L.nico
On peut indifféremment utiliser la syntaxe basic ou la syntaxe crystal en CR 8.5. Il faut juste spécifier le mode que l'on utilise lors de la saisie de la formule.@+Envoyé par Aitone le chien
A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
Ickynox, où en es-tu avec ce problème ? As-tu essayé le code de L.nico ? fonctionne-t-il ?
L.nico, je crois que la syntaxe Crystal ne gère pas cette fonctionnalité
Ci dessous en syntaxe basic(cr8.5) une formule testée qui marche :
elle compte le nombre de caractère E dans le champ rue de .....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim str as string Dim char as string Dim A as number Dim I as number str = {FactureLigne.Rue} char = "e" For I=1 to len(str) if mid(str,I,1) = char then A=A+1 Next formula = "nombre de e dans la rue du client " + ToText(A)
A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
ahh, eh bien j'ai écrit dans l'éditeur de formule :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim str as string Dim char as string Dim A as number Dim I as number str = {ARTICLE.Localisation} char = "M" For I=1 to len(str) if mid(str,I,1) = char then A=A+1 Next formula = "nombre de e dans la rue du client " + ToText(A)
ce qui est en rouge est ce que j'ai changé par rapport à la formule de NICO.
La formule ne marche pas pour moi
Merci nico pr ton aide, je voi que tu t'es vraiment cassé la tete pour moi .
;-)
Bien que la formule ne fonctionne pas, pourrais tu nous dire le résultat donné ?
PS :
la réponse que l'on me donne est :
Cette formule contient une erreur. Voulez vous l'enregistrer quand meme ?
Quand tu tapes ta formule, regardes en haut, il doit y avoir écrit :
Syntaxe Crystal avec une petite flèche à côté. Choisis "Syntaxe Basic" et je pense que cela marchera
Envoyé par L.nicoAitone a tout à fait raison ....Envoyé par Aitone
A lire avant de poster
Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager