IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Remplir les signets sans les supprimer et sans qu'ils ne changent de place dans le pied de page


Sujet :

Contribuez

  1. #1
    Candidat au Club
    Homme Profil pro
    Concepteur Mécanique
    Inscrit en
    Février 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Concepteur Mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2018
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Remplir les signets sans les supprimer et sans qu'ils ne changent de place dans le pied de page
    Bonjour à tous,

    Je suis novice dans le VBA, je voudrais remplir des signets sans les détruire et sans qu'ils ne changent de position, à l'aide d'une UserForm. J'ai utilisé un code qui fonctionne bien (pour la partie remplir sans les détruire et sans les bouger à condition qu'ils soient dans le texte). Par contre, j'ai 3 signets dans un pied de page et lorsque je rempli ma UserForm, ils sont bien renseignés (à la bonne place). Si j'ai besoin à nouveau de les remplacer, ils ne se trouvent plus dans le pied de page. Comment pourrai-je les "verrouiller" pour ne plus qu'ils bougent de façon intempestive.

    Voici ci-dessous le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function RemplirSignet(A As String, B As String)
    ' Remplit le signet A avec le texte B sans détruire A
    On Error GoTo sortie
    Dim Place As Long
    Place = ActiveDocument.Bookmarks(A).Range.Start
    ActiveDocument.Bookmarks(A).Range.Text = B
    ActiveDocument.Bookmarks.Add Name:=A, Range:=ActiveDocument.Range(Place, Place + Len(B))
    sortie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    End Function
     
    Private Sub CommandButton1_Click()
    Dim B As String 'signet
    B = TextBox1.Value
    RemplirSignet "SIGNET_REF_DOC", B 'dans pied de page
     
    B = TextBox2.Value
    RemplirSignet "SIGNET_REF_CODEUR1", B 'dans pied de page
     
    B = TextBox2.Value
    RemplirSignet "SIGNET_REF_CODEUR2", B 'dans pied de page
     
    B = TextBox2.Value
    RemplirSignet "SIGNET_REF_CODEUR3", B 'dans texte
     
    B = TextBox2.Value
    RemplirSignet "SIGNET_REF_CODEUR4", B 'dans texte
     
    B = TextBox3.Value
    RemplirSignet "SIGNET_PLAN_STOCKAGE1", B 'dans texte
     
    B = TextBox3.Value
    RemplirSignet "SIGNET_PLAN_STOCKAGE2", B 'dans texte
     
    B = TextBox4.Value
    RemplirSignet "SIGNET_PLAN_EMBALLAGE1", B 'dans texte
     
    B = TextBox4.Value
    RemplirSignet "SIGNET_PLAN_EMBALLAGE2", B 'dans texte
     
    B = TextBox5.Value
    RemplirSignet "SIGNET_PLAN_TRANSPORT1", B 'dans texte
     
    B = TextBox5.Value
    RemplirSignet "SIGNET_PLAN_TRANSPORT2", B 'dans texte
     
     
    End Sub
    D'avance Merci pour votre aide
    PS : J'ai essayé les codes que vous avez proposez. Celui de ouskel'n'or fonctionne mais il écrase les signets (je ne peux donc plus relancer ma Userform pour le faire à nouveau) et je n'ai pas réussi à faire fonctionner celui de Heureux-oli.

    J'allai oublier de vous dire que je travaille sur Word2016.

  2. #2
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Bonjour Gaetan6,

    J'ai déjà codé une demande assez similaire et ton code me semble correct et je suis surpris de ce que tu indiques :
    Si j'ai besoin à nouveau de les remplacer, ils ne se trouvent plus dans le pied de page
    7
    J'ai dû loupé un truc. Pourrais-tu nous envoyer un exemple de ton Word (avant et après ou avec la macro que je vois mieux) ?

    @+

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/03/2018, 15h57
  2. Copier une feuille SANS les formules (justes les valeurs)
    Par yaya_la_rafale dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/09/2015, 17h12
  3. Réponses: 7
    Dernier message: 20/10/2010, 19h05
  4. [OpenOffice][Tableur] Export excel sans les formules (uniquement les valeurs)
    Par stacquet dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 03/04/2009, 21h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo