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 22/11/2006, 08h09   #1
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Par défaut [VBA-W]Tester l'existence d'un caractère sous Word

Bonjour, je souhaiterais savoir comment tester la présence d'un caractère à droite du curseur sous Word


Merci
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 09h04   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Par son code Ascii :
Code :
1
2
Dim EstCar as boolean
EstCar = Asc(Selection.MoveRight Unit:=wdCharacter, Count:=1) > 31
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 10h24   #3
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
J'ai testé ton exemple mais il me met une erreur sur "unit"...j'ai l'impression que la selection n'est pas gérée par la fonction "asc". Voici ce que j'ai essayé de faire à la place :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Sub RempDate()
 
Selection.GoTo What:=wdGoToBookmark, Name:="Date"
If Selection.Characters(1) = Chr(32) Then
MsgBox "vide"
Selection.InsertDateTime DateTimeFormat:="dd MMMM yyyy"
Else
MsgBox "pas vide"
End If
 
 
End Sub
le msgbox chr(32) me renvoit un message sans rien
le msgbox selection.characters(1) me renvoit également un message sans rien

pourtant la condition IF me renvoit le message "pas vide" alors qu'il n'y a rien après le curseur...je me trompe peut etre sur le chr(32) qui correspond à la touche espace...
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 10h35   #4
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Je teste et te dis
Citation:
Envoyé par Tu
le msgbox chr(32) me renvoit un message sans rien
le msgbox selection.characters(1) me renvoit également un message sans rien
Normal : Chr(32) est un espace. Tu n'as donc pas "rien", tu as un espace... et si tu as un espace, tu n'as pas rien
Mais précise ton pb
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 10h41   #5
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
ouai exact c'est ce que j'ai constaté ! d'ailleurs j'ai partiellement résolu mon problème puisque j'ai inséré un espace et maintenant ça fonctionne ! c'est un peu de la bidouille mais bon....en tout cas je serais curieux de savoir le caractère ASCII de "rien"
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 10h51   #6
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Le problème, c'est que tu peux toujours avoir un saut de ligne et un saut de ligne, c'est chr(13) or dans Word, des sauts de lignes, tu en as... à la fin de chaque ligne mais tu en as aussi un à la fin du document. Pour être sûr de ne rien avoir, tu peux essayer ça :
Code :
1
2
    Selection.EndKey Unit:=wdStory, Extend:=wdExtend
    MsgBox Len(Selection)
si = 1, alors tu n'as qu'un saut de ligne
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 11h04   #7
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Ah ok... Bon ben tout s'explique ! c'est bon ça fonctionne avec à la place de l'espace, le saut de ligne !


Merci beaucoup
Mut 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 23h24.


 
 
 
 
Partenaires

Hébergement Web