|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 3 ![]() |
Bonjour,
Dans le cadre de mon travail, je me suis mis depuis peu à VBA, essentiellement sous Word 2003 dans un premier temps. Issu du monde 'grand système', j'ai quelque fois un peu de mal!!! Ma problématique actuelle: je voudrais réaliser une macro pour pouvoir établir des statistiques (nombre de mots et de caractères) sur une cellule donnée d'un tableau Word. Les statistisques sont ensuites reportées dans un autre tableau. J'ai d'abord effectué ce codage, portant sur l'ensemble du tableau (le n° 1)à analyser, avec écriture du résultat dans le tableau n° 2: Code :
J'ai ensuite voulu réduire la portée du 'range' à une cellule donnée (la 2° de la deuxième colonne du 1° tableau): Code :
Mots: 0 Chars: 0 J'ai pu vérifier (par .Select) que la cellule 'attaquée' était bien celle que je désirais, mais pas de résultat tout de même... J'ai essayé une autre solution, trouvée sur le net: Code :
Et le comptage des caractères prend en compte les espaces entre mots et la marque de fin de cellule, ce qui est plus génant pour moi (comment compter le nombre d'espaces, sinon??).... Mes questions: 1. Quelqu'un a-t'il une solution??? 2. Comme j'aime bien comprendre ce que je fais (et surtout ce que je n'arrive pas à faire!!): pourquoi les statistiques marchent quand le 'range' est défini sur tout le tableau, et pas quand il est défini sur une portion du tableau (cellule donnée, ligne entière ou colonne, j'ai testé les 3 avec le même résultats!!)... J'y perds mon VBA!! (Ce qui m'allège assez peu, je l'avoue, vu la faible étendue de mes connaissances !!). En vous remerciant par avance!!! |
||||||
|
|
00
|
|
|
#2 | ||||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Ça me semble bien compliqué
Code :
Code :
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||||
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 3 ![]() |
Merci beaucoup pour votre réponse.
Effectivement, la syntaxe proposée est beaucoup plus simple. J'ai toutefois encore un léger problème avec la partie comptage des caractères: Pour exemple, j'ai mis dans la cellule cible le texte suivant: "Je suis beau" (ce n'est un exemple, pas une certitude, malheureusement pour moi!! ;-))) Le comptage des mots me donne bien 3 mots, en revanche, la msgbox me livre 12 caractères, y compris donc les 2 espaces... Mais je pense que je n'ai pas tout à fait compris l'utilité de la boucle qui suit l'affichage de la msgbox; pouvez-vous éclairer la lanterne d'un malheureux bleu en la matière (dieu qu'il est loin, mon cher Cobol-CICS-DB2!!)??? Code :
|
||
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
La boucle, peut servir pour compter certains caractères.
Je n'avais pas beaucoup de temps et je n'ai pas codé la boucle pour éliminer les espaces. Mais il suffit d'une variable en plus et d'une condition, si le caractère est différent d'un espace, on ajoute 1 à la variable. Ne pas oublier de réinitialiser la variable. Code :
La variable j contiendra le nombre de caractère sans les espaces.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 3 ![]() |
Simple et efficace: comme j'aime!
Ce coup-çi, cela fonctionne à merveille. Merci beaucoup. PS: désolé pour l'absence de balises de code, je n'avais pas remarqué l'option; je ne le ferais plus, c'est promis!! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com