Zone de texte

D

dom

Guest
Bonjour à tous

petite question sur un problème qui remet en cause mon projet pour l'instant :

j'utilise une feuille de calcul qui représente un formulaire à remplir, dans ce formulaire j'ai une zone où l'utilisateur devra remplir des observations libres,
pour cela j'ai introduit une zone de texte. La taille de cette zone de texte est figée puisque le formulaire est destiné à être imprimé. Cependant si un utilisateur a besoin de plus de place, il serait préférable que dès qu'il atteint le bas de la zone de texte, un nouveau formulaire ( reprenant les principales infos du premier ) se crée avec une nouvelle zone de texte..

peut on faire ça ou vaut il mieux remplacer la zone de texte par des cellules fusionnées...mais en fait le fond du problème reste identique

merci d'avance...
 
D

Dom

Guest
salut Thierry

Explications pour Dgedge : j'ai trouvé cet excellent forum il y a quelques jours, j'en ai donc profité pour poser quelques questions auxquelles des pros comme toi ont bien voulu répondre (encore merci !! )
j'ai posté il y a quelques jours un post pour un collègue de boulot au sujet du rapatriement vers excel de noms de fichiers..Or ce collègue ( Dgedge ) travaille sur une autre partie du fichier que je suis en train de développer...je lui est donc parlé de ce forum, et comme nous n'avons pas de bécane connectée au net au boulot, nous bossons souvent le soir chez lui ou chez moi pour finir ce fichier plus rapidement..
je n'ai pas fait gaffe et je me suis connecté sous son nom, c'est tout.

Pour ce qui est de ton fichier je l'ai regardé, il me convient, le seul truc c'est que je croyait que les cellules était limitées à un certain nombre de caractères...

Ensuite contrairement à certains, je pose des questions mais je n'attend pas que quelqu'un fasse le boulot à ma place, en attendant ta réponse j'ai exploré l'histoire de la zone de texte sur laquelle j'étais parti, voila .
 
@

@+Thierry

Guest
Bonjour Dom, Bonjour le Forum

Ben il me semble que la cellule est bien limitée à un certain nombre de caractères, la seul chose c'est que c'est variable sur une plage de 10 caractères en fonction du premier espace trouvé à gauche.

En fait le prinicipe est celui-ci :

en évènementielle : Worksheet_Change
If Len(Range("C20")) > 215 Then

Donc si la cellule dépasse 215 caractères, on déclenche ce code :
LastEspace = Application.WorksheetFunction.Search(" ", Commentaire, 205)

Donc en fait on cherche le premier espace après le 205em Caractère dans la variable "Commentaire" (valeur de ma cellule "C20").

Voilà comment celà fonctionne et comment celà permet de couper le commentaire en évitant de couper un mot en plein milieu.

Je pense que c'est çà que tu n'as pas capté quand tu écris "le seul truc c'est que je croyait que les cellules était limitées à un certain nombre de caractères...

A mon avis tu n'as pas essayé de taper toi-même un texte dans ma démo. Tu constatera qu'à partir du 215èm caractère la macro se lance...

Si par exemple le 215em caractère est le "X" dans la phrase suivante :

#VOICI POUR DOM UNE DEMO EXEMPLE

La macro coupera la phrase comme ceci :

#VOICI POUR DOM UNE

DEMO EXEMPLE


Le 205em Caractère étant le "U" et le premier espace à droite se trouvant entre UNE et DEMO...

On pourrait se compliquer la vie pour compter encore la quantié de caractères jusqu'à l'espace suivant et si çà rentre encore sous 215 on pourrait couper après DEMO... Mais bon c'est déjà pas mal comme çà !

Donc maintenant c'est à toi de jouer avec la limite 215 pour lancer la macro et la limite 205 pour trouver l'espace...

Sur ce bonne journée
@+Thierry
 
@

@+Thierry

Guest
Oups

Dans ma première phrase ci-dessus prière de lire :

la seul chose c'est que c'est variable sur une plage de 10 caractères en fonction du premier espace trouvé à DROITE.

(on finit par se perdre avec ces manips !! lol)
@+Thierry
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 644
Messages
2 111 528
Membres
111 189
dernier inscrit
Laurent.