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 26/12/2007, 15h58   #1
Membre à l'essai
 
Inscription : octobre 2007
Messages : 121
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 121
Points : 23
Points : 23
Par défaut insertion texte avec protection

Hello!

Je souhaite savoir si il est possible avec Word d'autoriser des macros avec le fichier protégé.
J'ai créé une macro qui insère du texte à partir d'un formulaire dans une lettre, mais je souhaite que les utilisateurs ne puissent pas faire d'autre modif...

Merci d'avance pour vos contributions
gangsterus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2007, 18h55   #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
Oui, il faut déprotéger le fichier, faire tes modifs et reportéger.

Code :
ActiveDocument.Unprotect Password:=strPassword
Code :
ActiveDocument.Protect Type:=wdAllowOnlyComments Password:=stPassword
__________________
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 27/12/2007, 11h27   #3
Membre à l'essai
 
Inscription : octobre 2007
Messages : 121
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 121
Points : 23
Points : 23


Merci pour la réponse!

J'ai une autre question. J'arrive à insérer du texte grâce à des signets, mais je souhaite ensuite l'enlever, puis en remettre, et ainsi de suite...
J'ai inséré 2 signets et j'ai écrit le code suivant:

Code :
1
2
3
4
5
 
Pos1=ActiveDocument.Bookmarks("Texte1").Range.Start
Pos2=ActiveDocument.Bookmarks("Texte2").Range.Start
Set MyRange=ActiveDocument.Range(Start:=Pos1,End:=Pos2)
MyRange.Delete
Ca me supprime le texte inséré auparavant(plusieurs lignes) la première fois, mais si je réinsère du texte, les éléments sont supprimés lettre par lettre (à chaque fois que je lance la macro).

Est-il alors possible d'insérer du texte entre 2 signets?

Merci d'avance pour votre aide
gangsterus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2007, 15h55   #4
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
Après insertion, les signets sont détruits.
__________________
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/12/2007, 09h40   #5
Membre à l'essai
 
Inscription : octobre 2007
Messages : 121
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 121
Points : 23
Points : 23
Hello!

Quelle solution je peux avoir pour insérer du texte quand j'appuie sur un bouton, et l'effacer quand j'appuie sur un autre? Il faut que je puisse faire ça autant de fois que je le souhaite et que ce soit toujours au même endroit dans un document.

J'avoue bloquer sur ce point...
gangsterus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2007, 20h08   #6
Membre confirmé
 
Jacques Lesueur
Inscription : mai 2006
Messages : 180
Détails du profil
Informations personnelles :
Nom : Jacques Lesueur

Informations forums :
Inscription : mai 2006
Messages : 180
Points : 209
Points : 209
Par défaut insertion de champ

Voici un exemple de code de champs permettant de renseigner un signet sans ecrasement en Word 2007
Citation:
Exemple de champ dans Word
Dans l'exemple suivant, un document contient les signets SaisiPar, PrixUnitaire, Quantité, TaxeVentes et PrixTotal. Les champs SET établissent le contenu de chaque signet, et les champs REF ont été insérés dans le document pour afficher le contenu des signets. Un commutateur d'image numérique (commutateur numérique (\#) : indique comment Microsoft Word affiche le résultat numérique d'un champ. Ce commutateur est appelé « commutateur d'image », car vous utilisez des symboles pour montrer comment vous souhaitez que le résultat du champ apparaisse.) affiche les valeurs PrixUnitaire et PrixTotal avec un symbole monétaire et deux chiffres après la virgule.

{ SET SaisiPar "Yury Vronsky" }
{ SET PrixUnitaire 25 }
{ SET Quantité { FILLIN "Taper le nombre d'articles commandés :" } }
{ SET TaxeVentes 10% }
{ SET PrixTotal { = (PrixUnitaire * Quantité) + ((PrixUnitaire * Quantité) * TaxeVentes) } }
Nous confirmons votre commande. Vous avez commandé { REF Quantité } exemplaires à { REF PrixUnitaire \# "$#0.00" } pièce. Taxes comprises, votre commande s'élève à { REF PrixTotal \# "$#0.00" }
Nous vous remercions pour votre commande,
{ SaisiPar }

Si l'utilisateur tape 3 en réponse à l'invite affichée pour le champ FILLIN, le document généré se présentera comme suit :

Nous confirmons votre commande. Vous avez commandé 3 exemplaires à 25 € pièce. Taxes comprises, votre commande s'élève à 82,50 €.
Nous vous remercions pour votre commande,
Yury Vronsky
Jack78960 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2007, 21h46   #7
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
Citation:
Envoyé par gangsterus Voir le message
Hello!

Quelle solution je peux avoir pour insérer du texte quand j'appuie sur un bouton, et l'effacer quand j'appuie sur un autre? Il faut que je puisse faire ça autant de fois que je le souhaite et que ce soit toujours au même endroit dans un document.

J'avoue bloquer sur ce point...
Utilise un champ de formulaire, et tu lui affectes des valeurs autant de fois que tu le souhaites.
__________________
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 31/12/2007, 10h08   #8
Membre à l'essai
 
Inscription : octobre 2007
Messages : 121
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 121
Points : 23
Points : 23
Hello!

Merci pour ces infos, mais j'avais déjà essayé de passer par des formulaires.
Le problème, c'est que ça représente trop d'éléments et de choix différents, car ça doit s'insérer dans une lettre.
Le document est un courrier que l'on doit envoyer avec une liste d'éléments. Or si on doit insérer 2 ou 15 éléments, la présentation ne sera pas la même.
C'est pour cette raison que j'ai pensé passer par un formulaire qui insère la liste d'éléments déterminés dans le formulaire.
gangsterus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 11h08   #9
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
Alors, il faut créer un nouveau document à chaque fois et tu ne rencontrera plus ce problème.
Un seul signet devrait suffire.

Tu base ton document sur un modèle contenant ton signet.
__________________
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 02/01/2008, 14h29   #10
Membre à l'essai
 
Inscription : octobre 2007
Messages : 121
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 121
Points : 23
Points : 23
Hello!

Merci pour cette réponse.
J'ai créé un signet, et mon formulaire insère les infos. Mais je souhaite également insérer un bouton qui supprime les éléments déjà insérés. Mais là ça ne fonctionne pas, car ça supprime lettre par lettre.

Voici le code destiné à supprimer les éléments insérés auparavant:

Code :
1
2
3
4
5
6
7
8
9
 
Private Sub CommandButton2_Click()
 
Pos1=ActiveDocument.Bookmarks("TestePM").Range.Start
Pos2=ActiveDocument.Bookmarks("TextePM1").Range.Start
Set MyRange=ActiveDocument.Range(Start:=Pos1,End:=Pos2)
MyRange.Delete
 
End Sub
J'execute ce code après avoir inséré 2 signets entre 2 paragraphes qui ne doivent pas être modifiés. Quand je l'utilise la 1ère fois, ça fonctionne, mais la 2ème fois, ça me supprime lettre par lettre, alors que je voudrais que ça supprime la liste d'éléments entière.
gangsterus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 14h47   #11
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
Comme je l'ai expliqué, les signets sont des objets qui sont détruits lors de leur utilisation.
__________________
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
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h47.


 
 
 
 
Partenaires

Hébergement Web