Bonjour à vous cher ami du forum,
Ça fais plus de 2 ans que je n'ai pas programmer et il y a certaines notions que j'ai oublié ou pas encore acquise à fin de pouvoir produire une subroutine qui pourra m'aider dans ma tâche.
Pour vous mettre en contexte, j'ai une base de donné auquel j'intègre des donnés à partir de excel. Il y a une description longue de 200 caractères et je dois passer à 66 caractères. Sans mettre trop d'information superflux, il faudrait que je coupe les descriptions longues en 66 caractères mais je ne dois pas couper de mots i.e. complètement effacer le mot. LE code doit effacer les derniers mot (car l'information la moins pertinentes de la descriptions est à droite) qui fait que la cellule dépasse 66 caractères
Donc mon code dois s'exécuter si le nombre de caractères est plus grand que 66 et dois continuer jusqu'à ce qu'il efface le dernier mot à droite qui fait que la description est plus grande que 66. LE dernier caractères de la descriptions ne peut être un espace.
Ce que je sais c'est que je doit faire une condition (if) la longueur de la ou les cellules sélectionnés est plus grande que 66 caractères (len) je dois faire un do while ou do until ou un autre indicateur afin de recommencer à détruire un caractère jusqu'à ce que le caractère de gauche est un espace. Je dois possiblement faire un trim afin de détruire l'espace seul. Une fois atteins le 66 ou inférieur, je fait la prochaine cellule sélectionnées.
Je n'ai toujours pas encore fais de Do while ou do until (ce qui sera une première) et comment détruire le dernier caractères d'une string. J'ai essayé bien sûr l'enregistrement de macro mais je m'abstient de vous dire la bêtise qu'il me retourne. Je ne sais pas non plus si il y a une méthode moins compliqué et plus performante que mon raisonnement initiale afin d'arriver au même résultat.
en vous remerciant d'avance pour votre aide et le temps investit à répondre à ce post.
amicalement
Partager