Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word > VBA Word

Réponse
 
Outils de la discussion
Vieux 10/11/2008, 14h05   #1 (permalink)
Invité de passage
 
Date d'inscription: octobre 2008
Messages: 9
Par défaut Pb de signets et cellule

Bonjour à tous,

je rencontre un pb duquel je n'arrive pas à me sortir: j'ai crée un code en vba qui me permet de generer à partir d'un document Word d'autres document Word. Mon document de base contient des infos qui se repercutent sur les autres documents Word grace aux signets, jusque la tout va bien.
la difficulté que je rencontre est que certaine données de mon document "maitre" sont contenues dans des cellules et lorsque ces cellules sont envoyées vers les signets, la mise en page est foutue en l'air j'ai des caractères improbables qui apparaissent.

par exemple mon document maitre a une cellule qui contient la date 13/11/2008
quand je genere un docuemnt qui doit reprendre cette date j'obtiens

date:
13/11/2008

alors que je voudrais obtenir:
date : 13/11/2008

(donc pas de retour à la ligne, pas plusieurs lignes en dessous de la date, bref respecter la mise en page des signets)

comment pourrais-je extraire seulement la chaine de caractère sans que celle ci soit fu format cellule?
voici comment je procède pour remplir mes signets:

Code :
     WordDoc.Bookmarks("date").Range.Text = ActiveDocument.Tables(4).Rows(nb).Cells(2).Range.Text
lespetitspapiers est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/11/2008, 16h07   #2 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 459
Par défaut

Salut,

Lorsque tu récupères le contenu d'une cellule, tu l'as constaté, tu obtiens deux caractères supplémentaires.

On peut les enlever avec une petite fonction de nettoyage.

Code :
 
Public Function NetText(stTemp As String) As String
NetText = Left(stTemp, len(stTemp)-2)
End Function
On aura donc :

Code :
 
WordDoc.Bookmarks("date").Range.Text = NetText(ActiveDocument.Tables(4).Rows(nb).Cells(2).Range.Text)
Sais-tu que l'on peut adresser une cellule directement.

Code :
 ActiveDocument.Tables(4).Cell(nb,2).Range.Text
Je pense que ça devrait le faire aussi.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/11/2008, 16h29   #3 (permalink)
Invité de passage
 
Date d'inscription: octobre 2008
Messages: 9
Par défaut

merci de ta réponse et en effet entre temps j'avais codé avec ce genre de fonction de nettoyage ce qui marche tres bien

mais, parce qu'il y a toujours un mais, je suis maintenant confronter à un autre problème

toujours dans cette meme cellule qui contient une date, je bloque dans le cas ou cette cellule contient plusieurs date!! en effet, la premiere date est recuperable pour l'adresser au signet voulu mais la deuxieme date, je ne sais pas comment y faire reference. aurais-tu une idée?

j'illustre par un exemple:
ma cellule contient:
13/11/2008
14/11/2008

j'arrive a recuperer le 13/11/2008 par le "nettoyage" mais du coup je ne peux pas lire la seconde date

merci du coup de main
lespetitspapiers est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/11/2008, 16h30   #4 (permalink)
Invité de passage
 
Date d'inscription: octobre 2008
Messages: 9
Par défaut

et au fait merci de l'adressage directe de la cellule, je l'ignorais c'est en effet un peu moins lourd!
lespetitspapiers est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/11/2008, 16h44   #5 (permalink)
Invité de passage
 
Date d'inscription: octobre 2008
Messages: 9
Par défaut

je rajoute de la complexité: dans cette meme cellule, il peut egalement se trouver

celulle:
13/11/2008
Du 14/11/2008 au 25/11/2008
lespetitspapiers est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/11/2008, 18h17   #6 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 459
Par défaut

Salut,

surprenant, j'arrive à lire plusieurs lignes ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/11/2008, 18h46   #7 (permalink)
Invité de passage
 
Date d'inscription: octobre 2008
Messages: 9
Par défaut

en effet, surprenant, sans doute ton experience t'a permis de mieux coder que moi. Je me suis donc concoter une soluce qui , je pense, n'est pas digne des meilleurs developpeurs mais qui fonctionne!!miracle...
lespetitspapiers est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/11/2008, 19h05   #8 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 459
Par défaut

Si ça fonctionne, c'est le principal.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBA

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word > VBA Word



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide