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 01/10/2007, 12h01   #1
Invité régulier
 
Inscription : juin 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 25
Points : 8
Points : 8
Par défaut [VBA-W] énigme pour les tableaux

Bonjour,
La synthaxe pour remplir la première case à la première ligne, à la première colonne du premire tableau march très bien:
Code :
ActiveDocument.Tables(1).Columns(1).Cells(1).Range.Text = essai
Mais dès que je veut faire un test et non une action, ça ne marche jamais:
Code :
1
2
3
If ActiveDocument.Tables(1).Columns(1).Cells(1).Range.Text = "essai" Then
ActiveDocument.Tables(1).Columns(2).Cells(2).Range.Text = "marche"
End If
Pour résumé, j'arrive à écrire quelquechose dans un tableau, mais pas à tester si ce quelquechose est écrit!!!
tonnick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 13h30   #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
Code :
1
2
 
ActiveDocument.Tables(1).Columns(1).Cells(1).Range.text = "essai"
C'est un peu normal, parce qu'avec une cellule, tu reçois aussi un Cr & Lf à la fin de ton texte.

Donc, il faut éliminer ces caractères.
La solution est de compter le nombre de caractère de ta sélection et ensuite ne prendre que les caractères du début.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Sub testTable()
Dim l As Integer
 
ActiveDocument.Tables(1).Cell(1, 1).Range.Select
Debug.Print Selection
 
l = Len(Selection)
Debug.Print l
 
If UCase(Trim(Left(Selection, (l - 2)))) = "ESSAI" Then MsgBox "OK"
 
End Sub
l pour la longeur du texte
UCase pour éliminer les éventuelles différences de casse
Trim pour éliminer les espaces
Left pour ne prendre que les premiers caractères.
__________________
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 01/10/2007, 14h20   #3
Invité régulier
 
Inscription : juin 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 25
Points : 8
Points : 8
Merci beaucoup, ça marche nikel
tonnick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2007, 15h12   #4
Membre à l'essai
 
Inscription : septembre 2007
Messages : 42
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 42
Points : 23
Points : 23
Cool, je viens d'apprendre quels étaient ces 2 caractères non reconnus à la fin d'une sélection issue d'un tableau
Parce qu'en passant par la message box, il ne t'affiche que des ptits carrés bizarres ^^
ippo_master 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 21h19.


 
 
 
 
Partenaires

Hébergement Web