Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/12/2007, 09h46   #1
Membre du Club
 
Inscription : décembre 2003
Messages : 168
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 168
Points : 41
Points : 41
Par défaut [Word 2000] Texte cellule retourné avec caractère spécial

Bonjour,

pas trés dégourdi en VBA voilà mon code pour explorer la 2ème cellule d'un tableau qui contient "Annuel" ci ca contient ce texte ca doit renvoyer un MsgBox

Code :
1
2
3
4
5
6
 
Sub test()
Set myTable = ActiveDocument.Tables(1)
MyValue = InputBox("test", "test", myTable.Cell(2, 1).Range.Text)
If myTable.Cell(2, 1).Range.Text = "Annuel" Then MsgBox "Ca Marche !!"
end sub
en fait j'essaye de débugger mon code pour avoir le msgbox "Ca Marche !!"

mais ca ne marche pas

qd je remonte dans le InputBox le texte de la cellule j'ai un petit carré à la fin de la chaîne qui donc ne permet pas d'avoir l'égalité... d'où pas de message box

Attention ! y a pas de retour ligne à la fin du texte

merci de vos commentaires

Luna
lunab54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 09h55   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
C'est courrant !

Il faut mesurer le texte et prendre la partie gauche.

Code :
1
2
 
If Left(myTable.Cell(2, 1).Range.Text,(Len(myTable.Cell(2, 1).Range.Text)-2))  = "Annuel" Then MsgBox "Ca Marche !!"
Essaie de cette manière, mais une astuce en plus

Code :
If UCase(Left(myTable.Cell(2, 1).Range.Text,(Len(myTable.Cell(2, 1).Range.Text)-2)))  = "ANNUEL" Then MsgBox "Ca Marche !!"
On peut aussi ustliser un CleanString avec un Trim.

Mais essaie ce que j'ai donné si ça ne convient pas, on cherchera une autre solution.
__________________
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 10h35   #3
Membre du Club
 
Inscription : décembre 2003
Messages : 168
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 168
Points : 41
Points : 41
Ca marche !!

mais c'est incroyable que VB ne renvoit pas bêtement que le texte

merci en tout cas
lunab54 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 17h47   #4
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Par défaut Pourquoi Word renvoit plus de caractères que le texte

Salut,

En fait, la stratégie qu'utilise Word est la suivante : il stocke un grand nombre d'informations dans des éléments non visibles (de façon basique), comme les informations des styles (de paragraphes) qui sont stockées dans les marques de fin de paragraphe... Pour les afficher, il faut utiliser le menu "Outils-Options - Onglet Affichage" et dans ce panneau, il faut cocher "Tous" dans la zone "Marques de format" (cf. image dans le fichier joint). Dans le cas d'une tableau, il y a des marques dans chaque cellule, à chaque ligne, c'est un caractère qui se présente comme un cercle avec 4 petits traits situés sur les 4 angles (du carré qui entoure le cercle), un petit soleil quoi . C'est pourquoi parfois dans Word, si tu as une différence de comportement avec la fonction "Coller" si tu sélectionnes la cellule ou son contenu, ce qui, si tu n'affiches pas ces caractères est difficile à voir.
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h10.


 
 
 
 
Partenaires

Hébergement Web