Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word
Word Forum d'entraide sur le traitement de texte Microsoft 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 21/01/2008, 11h37   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
Par défaut Problème selection signet

Salut à tous

J 'ai un petit souci avec la fonction activebookmarks, le signet ne contient pas tout le temps le texte inséré. Ok ca veut rien dire, j ai joint un imprécran pour que ce soit plus parlant. On voit bien que les balises des signets cout de revient et options ne sont pas placées à la fin du texte.

Du coup quand je veux mettre le texte en italique ou insérer un paragraphe le résultat est pas terrible!

Pour l'insertion dans les signets j'utilise la fonction:
Code :
1
2
3
4
 op3 = ActiveDocument.Bookmarks(option3).range.Start
    ActiveDocument.Bookmarks(option3).range.Text = opt
    ActiveDocument.Bookmarks.Add name:=option3, _
    range:=ActiveDocument.range(op3, op3 + Len(option3))
Merci d'avance
Images attachées
Type de fichier : jpg signets.JPG (82,1 Ko, 10 affichages)
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 16h54   #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
Il nous manque des morceaux du code !

opt3, c'est quoi comme objet.

Et je ne comprend pas très bien ce que tu veux faire avec le code.

Si c'est pour agir sur le signet :

Code :
1
2
3
4
5
ActiveDocument.Bookmarks("Opt3").Select
With Selection
    .Range.Text = "Mon texte"
    .Font.Bold = True
End With
Par exemple.
__________________
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 22/01/2008, 09h21   #3
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
Avec le code j 'écris dans le signet "op3" ce que j'ai enregistrer dans la variable "opt".
En fait pour l'écriture dans les signets j'ai pas de souci, le seul truc c'est que quand je resélectionne les signets y a des problèmes (voir image). Au lieu de sélectionner "cout de revient technique" (que j avais écris dans le signet) il me sélectionne qu'une partie, pareil pour option ( [opt]ion)

Désolé de pas être bien clair, c'est pas très facile a expliquer
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 17h30   #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 Plus de détails

Salut,

De loin, j'ai l'impression (je ne suis pas sûr sans le fichier) que ton signet n'est pas positionné sur le bon contenu car tu prends en compte les retours chariot soit 2 caractères de trop et donc tu as un décalage avec la fonction Len(). Vérifies sinon envoie ton fichier.
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 15h21   #5
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
Pas positionné sur le bon contenu?
Je comprends pas ce que tu veux dire par là. Je positionne mes signets à des endroits de la feuille où je veux que mon texte soit inséré, au départ le signet n 'est pas entre un mot ou une phrase.
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 18h49   #6
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 ???

Salut,


Je ne vois pas, je suis perdu car d'après ce que nous dit il ne devrait pas y avoir de pb or tu en as . Peux-tu nous envoyer le fichier initial, la macro (on l'a déjà) et le fichier résultat pour que l'on puisse voir ça de plus près.
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 09h32   #7
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
Pour vous passer le fichier ça va pas être possible malheureusement.
Merci quand même je vais continuer à chercher
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 10h23   #8
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
Peux-tu nous mettre la totalité du code, avec juste ce morceau c'est pas facile de trouver le problème.
__________________
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 24/01/2008, 13h30   #9
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
Le code pour remplir le signet:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Sub Remplirsignet19(option3 As String, opt As String)
 
    On Error GoTo rien
    Dim op3 As Long
 
    op3 = ActiveDocument.Bookmarks(option3).Range.Start
    ActiveDocument.Bookmarks(option3).Range.Text = opt
    ActiveDocument.Bookmarks.Add name:=option3, _
    Range:=ActiveDocument.Range(op3, op3 + Len(option3))
 
 
 
    ActiveDocument.Bookmarks(option3).Range.InsertParagraphBefore
 
rien:
End Sub
Ce que j écris dans le signet:
Code :
1
2
3
4
If CheckBox6 = True Then
                            opt = "Options"
                            Remplirsignet19 "op3", opt
          End if
Une autre question, c'est possible de mettre un calendrier Monthview en anglais?
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 13h36   #10
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
Le problème vient de opt3 qui est dimensionné en Long alors que c'est un range.

Et petit conseil, sur le On Error, il est préférable de faire autre chose que d'envoer vers uneétiquette qui se trouve à la fin de ta routine.

par exemple

Code :
1
2
Rien:
msgbox err.number & " - " err.description
__________________
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 24/01/2008, 14h15   #11
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
J ai modifier le code en déclarant op3 as Range et rien ne se passe,c'st pire qu avant puisqu il n y a plus rien d écrit dans le signet.

Sinon on peut avoir un calendrier monthview en anglais?

Merci de votre aide
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 15h03   #12
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
Ce n'est pas une erreur de fonctionnement.


en fait, dans ton code, tu sélection un endroit qui est le début de ton range op3.
Et la fin de ton range est op3 +len(option3) et len ("op3") = 3, ce qui fait que ton signet ne comprend que trois caractère et coupe un mot en deux.

Je ne sais pas ce que tu veux faire, mais code fait bien ce qu'on lui demande.

Pour le calendrier month view, si tu pouvais être plus précis ?
__________________
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 24/01/2008, 16h37   #13
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
ok
En fait ce que je veux c'est tout simplement renvoyer dans le signet "op3" ce qu' y a été écris dans la variable "opt". Le code est peut etre pas le bon?! quand je l ai fais je connaissais rien au vb, j avais trouver un exemple sur le net. Si y a un moyen beaucoup plus simple et surtout qui me permet de bien selectionner ce qui a été écris dans le signet, je suis preneur.

Concernant le calendrier Monthview, ce que j aimerais c'est qu au lieu d'avoir les mois et jours en fr, les avoir en anglais. le but étant de renvoyer une date anglaise du style
January 21st 2008
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 16h46   #14
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
Plus simple, c'est certain :

Code :
ActiveDocument.Bookmarks("MonSignet").range.text =
Ou encore
Code :
1
2
ActiveDocument.bookmarks("MonSignet").range.select
Selection.typeText......
__________________
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 24/01/2008, 16h55   #15
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
jte remercie
j'essaye et j vous dis si c'est bon pour la selection des signet

Sinon pour le calendrier y a pas moyen de le faire? J arrive à le retourner avec les "mmmm" et "yyyy" en francais!
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 11h22   #16
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
Avec ce code, il n y a aucun problème d'écriture dans les signets, par contre quand je vais sélectionner le signet, il ne selectionne pas le texte entré dans le signet mais uniquement l'emplacement du signet.

Question qui n a rien à voir, est possible de définir une mise en forme par défaut du curseur quel que soit l'endroit où on se place. je m explique , on mettrait le curseur après un texte souligné et en gras par exemple, et le texte qu on va taper sera lui non souligné et pas en gras. le but de cela est de ne pas avoir à décocher les options dans la barre d'outils et éviter ainsi des erreurs.
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 12h07   #17
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
Oui, il suffit de modifier la mise en forme de la sélection.


Code :
1
2
3
4
5
With Selection.Font
    .Bold = False
    .Italic = False
    .Underline = False
End With
__________________
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 25/01/2008, 12h21   #18
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
ok
ce que je vroudrais c est pouvoir choir la mise en forme pour le curseur et pas d 'un selection en particulier. Après l exécution de la macro, peut importe où on place le curseur on a la meme mise en forme.
C 'est possible

Merci d avance
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 12h41   #19
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
Selection peut représenter une portion de document, mais aussi la position du curseur.
__________________
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 28/01/2008, 14h49   #20
Invité de passage
 
Inscription : novembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 40
Points : 4
Points : 4
Ok ça va formaté la dernière position du cuseur et non pas tout les endroits où je peux écrire.

pour qu un calendrier renvoi une date en anglais, c'est pas possible alors?
Ofsco est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h48.


 
 
 
 
Partenaires

Hébergement Web