[VBA Excel] pbm chaine caracteres

Résolu/Fermé
Utilisateur anonyme - 12 juin 2007 à 10:44
Sir_DEC Messages postés 143 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 12 mai 2012 - 28 janv. 2009 à 13:32
bonjour,

j'ai un petit souci avec mon application Excel.
Je dois creer une chaine de caracteres s2 dont le nbe de caracteres depend du nbe de caracteres de la chaine s1. Comme je ne sais pas si c'est tres clair je prefere donner un exemple:

le nbe de caracteres de s1 ET s2 doit etre de 40 caracteres
ma premiere chaine s1 comporte 5 caracteres.
il faudrait que ma chaine s2 comporte ( 40 - 5) caracteres.

J'ai bien pensé a une fonction reciproque de Len(string) mais je ne l'ai pas trouvée.
Si qqu'un a une idee je suis dispo.
Merci d'avance
A voir également:

7 réponses

Sir_DEC Messages postés 143 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 12 mai 2012 75
12 juin 2007 à 10:49
Bonjour,

Sous VBA, une chaîne de caractère est défini sans taille.

Tu peux par contre déclarer un tableau où tu rangerais les caractères un par un.

Un tableau de 40 où tu rangerais s1, puis à la suite s2.
0
Utilisateur anonyme
12 juin 2007 à 10:55
j'y ai pensé aussi mais je vois pas comment faire et puis est ce ke ca ne risque pas de compliquer l'utilisation de mon formulaire?
0
Sir_DEC Messages postés 143 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 12 mai 2012 75
12 juin 2007 à 11:01
Peut-être pourrais-tu présenter le contexte, on pourrait ainsi te donner (éventuellement) une solution alternative.

Pourquoi la taille est de 40 char ? Et pourquoi en deux morceaux dont un variable ?
0
Utilisateur anonyme
12 juin 2007 à 11:15
Je dois faire une application sur Excel ou je dois rentrer des bordereaux
pour ca, j'ai creer un formulaire ou je dois remplir les différents champs qui composent un bordereau.
Pour chaque champs j'ai une contrainte sur le nombre de caracteres. A la fin de la saisie de l'enregistrement je dois envoyer l'enregistrement ds un fichier txt qui sera lu et traiter par un autre logiciel.

Pour les champs qui ont un nombre de caracteres fixes il n'y a pas de souci
par contre pour les champs comme le titre, le nbe de char est variable. J'ai une limite max a 40 char mais si c'est inférieur il faut que je rajoute des espaces pours que le champs d'apres soit a la bonne position.

J'espere que j'ai ete assez claire...
Merci de ton aide
0

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

Posez votre question
Sir_DEC Messages postés 143 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 12 mai 2012 75
12 juin 2007 à 11:20
Oui, tout a fait clair, dans ce cas là c'est même très simple.

Il suffit de limiter le champ à 40 caractères.

Puis de compléter la chaine à un moment donné, par des espaces ou je ne sais quoi d'autre :

taille = Len(chaine)-40
For i = 1 to taille
    chaine = chaine & " "
Next
0
Utilisateur anonyme
12 juin 2007 à 11:29
ca marche presque. Il m'ajoute juste 40 espaces qqes soit le nbe de caracteres rentrés.
J'essaie de regarder ca de plus pret.
Merci tu m'as bcp aidée
0
Sir_DEC Messages postés 143 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 12 mai 2012 75
12 juin 2007 à 11:35
Oups autant pour moi, c'est "taille = 40-Len(chaine)" et pas l'inverse :)
0
bonjour

j'ai besoin de cette solution pour limiter la taille d'une colonne a 27 car
j'arrive pas a inserer cette solution sur ma feuille

merci à vous
0
Sir_DEC Messages postés 143 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 12 mai 2012 75 > lwk
28 janv. 2009 à 13:32
Tu veux limiter la taille d'une colonne sur une feuille de calcul ou dans une case d'un formulaire ?

Pour la première, je ne crois pas que ce soit possible.

https://forum.hardware.fr/hfr/WindowsSoftware/Logiciels/limiter-colonne-caracteres-sujet_113312_1.htm
0