|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() |
Bonjour,
la situation : j'ai fait un textbox d'une taille de 24 caractères (taille réglé en tapant 24 caractères) Effet recherché : chaque 24 caractères mon textobx renvoi à la ligne et les mots sont insécables. Je voudrais avoir la même chose dans ma cellule. Problèmes: quelle est la "propriété" (pas forcément le bon terme) du textbox à utiliser. J'ai essayé l'exit, le keypress et le change mais je me retrouve avec une erreur de compil. Voilà le code qui ne fonctionne pas (je pense que la ligne est bonne mais pas l'appel de la textox) Code :
|
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonjour,
C'est ceci que tu veux ? Code :
Range("B5") = "Forum" & vbLf & "Excel"
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() |
Oui à ceci près que je passe par une textbox qui sera rempli par l'utilisateur.
La cellule à remplir est déjà défini ailleurs. Ce que je cherche en plus de ce que tu viens de donner (& vblf &) c'était faire ça de façon automatique quand je valide ma box et ce tout les 24 caractères ( je dois pouvoir peut-être passé par une variable). |
|
|
00
|
|
|
#4 | ||
|
Membre régulier
![]() Florian Étudiant Inscription : mai 2011 Messages : 44 ![]() |
Salut à toi. Une solution de ce genre te convient-il ?
Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() |
ce que je cherchais avant tout c'était ce qu'il y avait derrière Private Sub TextBox_objet_marche_exit( ou keypress, ...)
Sinon ce code fonctionne et mets la valeur dans ma cellule mais celle-ci est affiché sur une seule ligne. Voilà ce que j'obtiens actuellement (version schématique le cadre de la citation représentant une cellule): Citation:
Citation:
La création d'une nouvelle ligne étant la combinaison par Alt+Entrée lorsque qu'on est déjà dans une cellule. |
||
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonjour,
Voici un petit code qui est une piste. C'est à remanier et à adapter selon tes besoins. Code :
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
||
|
|
00
|
|
|
#7 | ||
|
Membre du Club
![]() |
Bien que je ne comprenne pas tout le code, il fonctionne bien pour la cellule A2.
Après modification et adaptation : Code :
merci |
||
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonjour,
Qu'est-ce que tu ne comprends pas. Tu peux faire une fonction du code que je t'ai envoyé. C'est mieux pour la maintenance et pour la clarté de ton code. Code :
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
||
|
|
00
|
|
|
#9 | ||||
|
Membre du Club
![]() |
Disons que j'aime bien mettre des commentaires (pour les gens qui peuvent arriver derrière moi et puis c'est parfois utile).
voilà mon code qui fonctionne aussi et qui est plus que largement inspiré de celui que tu as posté il y a deux messages de ça: Code :
Code :
|
||||
|
|
00
|
|
|
#10 | |
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonjour,
La fonction Split permet de scinder une chaîne de caractères et place chaque mot dans une variable dimensionnée (ici Table). (Voir l'explication ici) La fonction UBound() renvoie l'indice maximum du tableau. (Voir ici) La fonction chr() transforme un code ASCII en caractère. Ainsi le code ASCII 32 représente l'espace. On écrit t = t & " " ou t = t & chr(32) La fonction TRIM() supprime les espaces avant et arrière d'une chaîne de caractères. Pour bien comprendre, comment fonctionne cette fonction, je te conseille de la faire tourner Pas à Pas touche raccourcis (F9) en plaçant des espions. Comme je te l'ai écrit plus haut, il serait préférable pour la maintenance et la clarté de ta procédure d'utiliser la procédure que je t'ai donné comme une fonction. Je t'ai laissé le code complet avec une procédure Test. Pour tes commentaires : Citation:
Pour le reste, les commentaires, c'est très personnel. L'important c'est que la personne qui les lit, les comprenne. ps : Avec un peu de temps, il y aurait moyen de raccourcir encore le code.
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() |
OK.
Merci et pour la fonction on verra plus tard si je m'y colle ou pas mais c'est intéressant d'avoir un code comme ça sous le coude. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com