remplir via un code vba un signet qui se situe dans le pied de page
5 réponses
bibi13
Bonjour,
Etant novice dans les codes VBA, je souhaiterais que l'on m'aide car je n'arrive pas à renseigner mon signet qui se trouve dans le pied de page de mon modèle Word.
Je m'explique:
Dans un modèle Word, j'ai inséré des signets dans le corps du document ainsi que dans le pied de page.
Via le visual Basic userform j'ai créé un formulaire afin de pouvoir remplir les signets lorsque l'on valide celui-ci.
Tous les signets se trouvant dans le corps du document sont renseignés sauf celui qui se situe dans le pied de page.
Afin que vous puissiez comprendre ce que j'ai fait, vous trouverez ci-dessous le code que j'ai fait::
Private Sub cmdValider_Click()
Application.ScreenUpdating = False
With ActiveDocument
.Bookmarks("NOM_CLIENT").Range.Text = txtNom_du_Client.Value
.Bookmarks("ADRESSE_CLIENT").Range.Text = txtAdresse_Client.Value
.Bookmarks("REPRESENTE_PAR").Range.Text = txtReprésenté_par.Value
.Bookmarks("AGISSANT_EN_QUALITE_DE").Range.Text = txtQualité_de.Value
.Bookmarks("NBRES_HEURES").Range.Text = cboTotal_Heure_forfait.Value
.Bookmarks("PRIX_HT_PAR_MOIS").Range.Text = txtPrix_Forfait.Value
.Bookmarks("NBRES_PC_BUREAU").Range.Text = txtPCBureau.Value
.Bookmarks("NBRES_PC_PORTABLE").Range.Text = txtPCPortable.Value
.Bookmarks("NBRES_IMPRIMANTES").Range.Text = txtImprimante.Value
.Bookmarks("NBRES_SERVEURS").Range.Text = txtServeur.Value
.Bookmarks("NBRES_ROUTEURS").Range.Text = txtRouteur.Value
.Bookmarks("NBRES_MODEMS").Range.Text = txtModem.Value
.Bookmarks("NBRES_FIREWALL").Range.Text = txtFirewall.Value
.Bookmarks("NBRES_SWITCHES_OU_HUBS").Range.Text = txtSwitche.Value
.Bookmarks("NBRES_NAS").Range.Text = txtNAS.Value
.Bookmarks("NBRES_PA_Wifi").Range.Text = txtWifi.Value
.Bookmarks("NBRES_IPBX_PABX").Range.Text = txtIPBX.Value
.Bookmarks("NBRES_TELEPHONES").Range.Text = txtTéléphone.Value
With activeheaterFooterProperty
.Bookmarks("ANNEE_NUM_PROJET").Range.Text = cboAnnée.Value And txtn°_Projet.Value
End With
Application.ScreenUpdating = True
Unload Me
End With
End Sub
Je vous vous remercie d'avance pour votre aide car vraiment je m'arrache les cheveux
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Geo
Bonjour
En fait je pense que votre problème vient de ce que votre pied de page n'est pas "actif", passez par Storyranges, par exemple : Private Sub cmdValider_Click() With ActiveDocument With .StoryRanges(wdPrimaryFooterStory) .Bookmarks("ANNEE_NUM_PROJET").Range.Text = "2014" End With End With End Sub
J'ai un peu simplifié le code pour l'essayer, à voir si vous avez un pied de page différent pour la première page ou les pages paires et impaires. Pour rendre le code plus universel, il faudrait vérifier que le signet existe dans : StoryRanges(wdPrimaryFooterStory) StoryRanges(wdEvenPagesFooterStory) StoryRanges(wdFirstPageFooterStory)
Peut-être un peu luxueux?
Bonjour
En fait je pense que votre problème vient de ce que votre pied de page
n'est pas "actif", passez par Storyranges, par exemple :
Private Sub cmdValider_Click()
With ActiveDocument
With .StoryRanges(wdPrimaryFooterStory)
.Bookmarks("ANNEE_NUM_PROJET").Range.Text = "2014"
End With
End With
End Sub
J'ai un peu simplifié le code pour l'essayer, à voir si vous avez un
pied de page différent pour la première page ou les pages paires et
impaires.
Pour rendre le code plus universel, il faudrait vérifier que le signet
existe dans :
StoryRanges(wdPrimaryFooterStory)
StoryRanges(wdEvenPagesFooterStory)
StoryRanges(wdFirstPageFooterStory)
En fait je pense que votre problème vient de ce que votre pied de page n'est pas "actif", passez par Storyranges, par exemple : Private Sub cmdValider_Click() With ActiveDocument With .StoryRanges(wdPrimaryFooterStory) .Bookmarks("ANNEE_NUM_PROJET").Range.Text = "2014" End With End With End Sub
J'ai un peu simplifié le code pour l'essayer, à voir si vous avez un pied de page différent pour la première page ou les pages paires et impaires. Pour rendre le code plus universel, il faudrait vérifier que le signet existe dans : StoryRanges(wdPrimaryFooterStory) StoryRanges(wdEvenPagesFooterStory) StoryRanges(wdFirstPageFooterStory)
Peut-être un peu luxueux?
bibi13
Le dimanche 05 Janvier 2014 à 21:47 par bibi13 :
Bonjour, Etant novice dans les codes VBA, je souhaiterais que l'on m'aide car je n'arrive pas à renseigner mon signet qui se trouve dans le pied de page de mon modèle Word. Je m'explique: Dans un modèle Word, j'ai inséré des signets dans le corps du document ainsi que dans le pied de page. Via le visual Basic userform j'ai créé un formulaire afin de pouvoir remplir les signets lorsque l'on valide celui-ci. Tous les signets se trouvant dans le corps du document sont renseignés sauf celui qui se situe dans le pied de page. Afin que vous puissiez comprendre ce que j'ai fait, vous trouverez ci-dessous le code que j'ai fait:: Private Sub cmdValider_Click() Application.ScreenUpdating = False With ActiveDocument .Bookmarks("NOM_CLIENT").Range.Text = txtNom_du_Client.Value .Bookmarks("ADRESSE_CLIENT").Range.Text = txtAdresse_Client.Value .Bookmarks("REPRESENTE_PAR").Range.Text = txtReprésenté_par.Value .Bookmarks("AGISSANT_EN_QUALITE_DE").Range.Text = txtQualité_de.Value .Bookmarks("NBRES_HEURES").Range.Text = cboTotal_Heure_forfait.Value .Bookmarks("PRIX_HT_PAR_MOIS").Range.Text = txtPrix_Forfait.Value .Bookmarks("NBRES_PC_BUREAU").Range.Text = txtPCBureau.Value .Bookmarks("NBRES_PC_PORTABLE").Range.Text = txtPCPortable.Value .Bookmarks("NBRES_IMPRIMANTES").Range.Text = txtImprimante.Value .Bookmarks("NBRES_SERVEURS").Range.Text = txtServeur.Value .Bookmarks("NBRES_ROUTEURS").Range.Text = txtRouteur.Value .Bookmarks("NBRES_MODEMS").Range.Text = txtModem.Value .Bookmarks("NBRES_FIREWALL").Range.Text = txtFirewall.Value .Bookmarks("NBRES_SWITCHES_OU_HUBS").Range.Text = txtSwitche.Value .Bookmarks("NBRES_NAS").Range.Text = txtNAS.Value .Bookmarks("NBRES_PA_Wifi").Range.Text = txtWifi.Value .Bookmarks("NBRES_IPBX_PABX").Range.Text = txtIPBX.Value .Bookmarks("NBRES_TELEPHONES").Range.Text = txtTéléphone.Value With activeheaterFooterProperty .Bookmarks("ANNEE_NUM_PROJET").Range.Text = cboAnnée.Value And txtn°_Projet.Value End With Application.ScreenUpdating = True Unload Me End With End Sub
Je vous vous remercie d'avance pour votre aide car vraiment je m'arrache les cheveux
Merci beaucoup pour votre réponse.
En corrigeant mon code avec votre exemple cela fonctionne que sur la 1ère page où se trouve mon signet. Comment puis je procéder pour qu'il s'effectue sur tous les pieds de page de mon document.
Encore merci d'avance
Le dimanche 05 Janvier 2014 à 21:47 par bibi13 :
Bonjour,
Etant novice dans les codes VBA, je souhaiterais que l'on m'aide car je
n'arrive pas à renseigner mon signet qui se trouve dans le pied de page
de mon modèle Word.
Je m'explique:
Dans un modèle Word, j'ai inséré des signets dans le corps
du document ainsi que dans le pied de page.
Via le visual Basic userform j'ai créé un formulaire afin de
pouvoir remplir les signets lorsque l'on valide celui-ci.
Tous les signets se trouvant dans le corps du document sont renseignés
sauf celui qui se situe dans le pied de page.
Afin que vous puissiez comprendre ce que j'ai fait, vous trouverez ci-dessous
le code que j'ai fait::
Private Sub cmdValider_Click()
Application.ScreenUpdating = False
With ActiveDocument
.Bookmarks("NOM_CLIENT").Range.Text = txtNom_du_Client.Value
.Bookmarks("ADRESSE_CLIENT").Range.Text =
txtAdresse_Client.Value
.Bookmarks("REPRESENTE_PAR").Range.Text =
txtReprésenté_par.Value
.Bookmarks("AGISSANT_EN_QUALITE_DE").Range.Text =
txtQualité_de.Value
.Bookmarks("NBRES_HEURES").Range.Text =
cboTotal_Heure_forfait.Value
.Bookmarks("PRIX_HT_PAR_MOIS").Range.Text =
txtPrix_Forfait.Value
.Bookmarks("NBRES_PC_BUREAU").Range.Text = txtPCBureau.Value
.Bookmarks("NBRES_PC_PORTABLE").Range.Text = txtPCPortable.Value
.Bookmarks("NBRES_IMPRIMANTES").Range.Text = txtImprimante.Value
.Bookmarks("NBRES_SERVEURS").Range.Text = txtServeur.Value
.Bookmarks("NBRES_ROUTEURS").Range.Text = txtRouteur.Value
.Bookmarks("NBRES_MODEMS").Range.Text = txtModem.Value
.Bookmarks("NBRES_FIREWALL").Range.Text = txtFirewall.Value
.Bookmarks("NBRES_SWITCHES_OU_HUBS").Range.Text =
txtSwitche.Value
.Bookmarks("NBRES_NAS").Range.Text = txtNAS.Value
.Bookmarks("NBRES_PA_Wifi").Range.Text = txtWifi.Value
.Bookmarks("NBRES_IPBX_PABX").Range.Text = txtIPBX.Value
.Bookmarks("NBRES_TELEPHONES").Range.Text =
txtTéléphone.Value
With activeheaterFooterProperty
.Bookmarks("ANNEE_NUM_PROJET").Range.Text = cboAnnée.Value
And txtn°_Projet.Value
End With
Application.ScreenUpdating = True
Unload Me
End With
End Sub
Je vous vous remercie d'avance pour votre aide car vraiment je m'arrache les
cheveux
Merci beaucoup pour votre réponse.
En corrigeant mon code avec votre exemple cela fonctionne que sur la 1ère page où se trouve mon signet.
Comment puis je procéder pour qu'il s'effectue sur tous les pieds de page de mon document.
Bonjour, Etant novice dans les codes VBA, je souhaiterais que l'on m'aide car je n'arrive pas à renseigner mon signet qui se trouve dans le pied de page de mon modèle Word. Je m'explique: Dans un modèle Word, j'ai inséré des signets dans le corps du document ainsi que dans le pied de page. Via le visual Basic userform j'ai créé un formulaire afin de pouvoir remplir les signets lorsque l'on valide celui-ci. Tous les signets se trouvant dans le corps du document sont renseignés sauf celui qui se situe dans le pied de page. Afin que vous puissiez comprendre ce que j'ai fait, vous trouverez ci-dessous le code que j'ai fait:: Private Sub cmdValider_Click() Application.ScreenUpdating = False With ActiveDocument .Bookmarks("NOM_CLIENT").Range.Text = txtNom_du_Client.Value .Bookmarks("ADRESSE_CLIENT").Range.Text = txtAdresse_Client.Value .Bookmarks("REPRESENTE_PAR").Range.Text = txtReprésenté_par.Value .Bookmarks("AGISSANT_EN_QUALITE_DE").Range.Text = txtQualité_de.Value .Bookmarks("NBRES_HEURES").Range.Text = cboTotal_Heure_forfait.Value .Bookmarks("PRIX_HT_PAR_MOIS").Range.Text = txtPrix_Forfait.Value .Bookmarks("NBRES_PC_BUREAU").Range.Text = txtPCBureau.Value .Bookmarks("NBRES_PC_PORTABLE").Range.Text = txtPCPortable.Value .Bookmarks("NBRES_IMPRIMANTES").Range.Text = txtImprimante.Value .Bookmarks("NBRES_SERVEURS").Range.Text = txtServeur.Value .Bookmarks("NBRES_ROUTEURS").Range.Text = txtRouteur.Value .Bookmarks("NBRES_MODEMS").Range.Text = txtModem.Value .Bookmarks("NBRES_FIREWALL").Range.Text = txtFirewall.Value .Bookmarks("NBRES_SWITCHES_OU_HUBS").Range.Text = txtSwitche.Value .Bookmarks("NBRES_NAS").Range.Text = txtNAS.Value .Bookmarks("NBRES_PA_Wifi").Range.Text = txtWifi.Value .Bookmarks("NBRES_IPBX_PABX").Range.Text = txtIPBX.Value .Bookmarks("NBRES_TELEPHONES").Range.Text = txtTéléphone.Value With activeheaterFooterProperty .Bookmarks("ANNEE_NUM_PROJET").Range.Text = cboAnnée.Value And txtn°_Projet.Value End With Application.ScreenUpdating = True Unload Me End With End Sub
Je vous vous remercie d'avance pour votre aide car vraiment je m'arrache les cheveux
Merci beaucoup pour votre réponse.
En corrigeant mon code avec votre exemple cela fonctionne que sur la 1ère page où se trouve mon signet. Comment puis je procéder pour qu'il s'effectue sur tous les pieds de page de mon document.
Encore merci d'avance
Geo
Bonsoir
En corrigeant mon code avec votre exemple cela fonctionne que sur la 1ère page où se trouve mon signet.
C'est sans doute que votre pied de page a été défini comme étant un pied de première page, c'est donc le code : StoryRanges(wdFirstPageFooterStory) qui a marché ? Il faudrait soit modifier le type de pied de page, soit ajouter un signet dans le pied de page commun et ajouter du code pour le renseigner aussi.
Bonsoir
En corrigeant mon code avec votre exemple cela fonctionne que sur la 1ère page
où se trouve mon signet.
C'est sans doute que votre pied de page a été défini comme étant un
pied de première page, c'est donc le code :
StoryRanges(wdFirstPageFooterStory)
qui a marché ?
Il faudrait soit modifier le type de pied de page, soit ajouter un
signet dans le pied de page commun et ajouter du code pour le
renseigner aussi.
En corrigeant mon code avec votre exemple cela fonctionne que sur la 1ère page où se trouve mon signet.
C'est sans doute que votre pied de page a été défini comme étant un pied de première page, c'est donc le code : StoryRanges(wdFirstPageFooterStory) qui a marché ? Il faudrait soit modifier le type de pied de page, soit ajouter un signet dans le pied de page commun et ajouter du code pour le renseigner aussi.
bibi13
Le dimanche 05 Janvier 2014 à 21:47 par bibi13 :
Bonjour, Etant novice dans les codes VBA, je souhaiterais que l'on m'aide car je n'arrive pas à renseigner mon signet qui se trouve dans le pied de page de mon modèle Word. Je m'explique: Dans un modèle Word, j'ai inséré des signets dans le corps du document ainsi que dans le pied de page. Via le visual Basic userform j'ai créé un formulaire afin de pouvoir remplir les signets lorsque l'on valide celui-ci. Tous les signets se trouvant dans le corps du document sont renseignés sauf celui qui se situe dans le pied de page. Afin que vous puissiez comprendre ce que j'ai fait, vous trouverez ci-dessous le code que j'ai fait:: Private Sub cmdValider_Click() Application.ScreenUpdating = False With ActiveDocument .Bookmarks("NOM_CLIENT").Range.Text = txtNom_du_Client.Value .Bookmarks("ADRESSE_CLIENT").Range.Text = txtAdresse_Client.Value .Bookmarks("REPRESENTE_PAR").Range.Text = txtReprésenté_par.Value .Bookmarks("AGISSANT_EN_QUALITE_DE").Range.Text = txtQualité_de.Value .Bookmarks("NBRES_HEURES").Range.Text = cboTotal_Heure_forfait.Value .Bookmarks("PRIX_HT_PAR_MOIS").Range.Text = txtPrix_Forfait.Value .Bookmarks("NBRES_PC_BUREAU").Range.Text = txtPCBureau.Value .Bookmarks("NBRES_PC_PORTABLE").Range.Text = txtPCPortable.Value .Bookmarks("NBRES_IMPRIMANTES").Range.Text = txtImprimante.Value .Bookmarks("NBRES_SERVEURS").Range.Text = txtServeur.Value .Bookmarks("NBRES_ROUTEURS").Range.Text = txtRouteur.Value .Bookmarks("NBRES_MODEMS").Range.Text = txtModem.Value .Bookmarks("NBRES_FIREWALL").Range.Text = txtFirewall.Value .Bookmarks("NBRES_SWITCHES_OU_HUBS").Range.Text = txtSwitche.Value .Bookmarks("NBRES_NAS").Range.Text = txtNAS.Value .Bookmarks("NBRES_PA_Wifi").Range.Text = txtWifi.Value .Bookmarks("NBRES_IPBX_PABX").Range.Text = txtIPBX.Value .Bookmarks("NBRES_TELEPHONES").Range.Text = txtTéléphone.Value With activeheaterFooterProperty .Bookmarks("ANNEE_NUM_PROJET").Range.Text = cboAnnée.Value And txtn°_Projet.Value End With Application.ScreenUpdating = True Unload Me End With End Sub
Je vous vous remercie d'avance pour votre aide car vraiment je m'arrache les cheveux
Je vous remercie beaucoup pour votre aide. Tout fonctionne correctement.
Le dimanche 05 Janvier 2014 à 21:47 par bibi13 :
Bonjour,
Etant novice dans les codes VBA, je souhaiterais que l'on m'aide car je
n'arrive pas à renseigner mon signet qui se trouve dans le pied de page
de mon modèle Word.
Je m'explique:
Dans un modèle Word, j'ai inséré des signets dans le corps
du document ainsi que dans le pied de page.
Via le visual Basic userform j'ai créé un formulaire afin de
pouvoir remplir les signets lorsque l'on valide celui-ci.
Tous les signets se trouvant dans le corps du document sont renseignés
sauf celui qui se situe dans le pied de page.
Afin que vous puissiez comprendre ce que j'ai fait, vous trouverez ci-dessous
le code que j'ai fait::
Private Sub cmdValider_Click()
Application.ScreenUpdating = False
With ActiveDocument
.Bookmarks("NOM_CLIENT").Range.Text = txtNom_du_Client.Value
.Bookmarks("ADRESSE_CLIENT").Range.Text =
txtAdresse_Client.Value
.Bookmarks("REPRESENTE_PAR").Range.Text =
txtReprésenté_par.Value
.Bookmarks("AGISSANT_EN_QUALITE_DE").Range.Text =
txtQualité_de.Value
.Bookmarks("NBRES_HEURES").Range.Text =
cboTotal_Heure_forfait.Value
.Bookmarks("PRIX_HT_PAR_MOIS").Range.Text =
txtPrix_Forfait.Value
.Bookmarks("NBRES_PC_BUREAU").Range.Text = txtPCBureau.Value
.Bookmarks("NBRES_PC_PORTABLE").Range.Text = txtPCPortable.Value
.Bookmarks("NBRES_IMPRIMANTES").Range.Text = txtImprimante.Value
.Bookmarks("NBRES_SERVEURS").Range.Text = txtServeur.Value
.Bookmarks("NBRES_ROUTEURS").Range.Text = txtRouteur.Value
.Bookmarks("NBRES_MODEMS").Range.Text = txtModem.Value
.Bookmarks("NBRES_FIREWALL").Range.Text = txtFirewall.Value
.Bookmarks("NBRES_SWITCHES_OU_HUBS").Range.Text =
txtSwitche.Value
.Bookmarks("NBRES_NAS").Range.Text = txtNAS.Value
.Bookmarks("NBRES_PA_Wifi").Range.Text = txtWifi.Value
.Bookmarks("NBRES_IPBX_PABX").Range.Text = txtIPBX.Value
.Bookmarks("NBRES_TELEPHONES").Range.Text =
txtTéléphone.Value
With activeheaterFooterProperty
.Bookmarks("ANNEE_NUM_PROJET").Range.Text = cboAnnée.Value
And txtn°_Projet.Value
End With
Application.ScreenUpdating = True
Unload Me
End With
End Sub
Je vous vous remercie d'avance pour votre aide car vraiment je m'arrache les
cheveux
Je vous remercie beaucoup pour votre aide.
Tout fonctionne correctement.
Bonjour, Etant novice dans les codes VBA, je souhaiterais que l'on m'aide car je n'arrive pas à renseigner mon signet qui se trouve dans le pied de page de mon modèle Word. Je m'explique: Dans un modèle Word, j'ai inséré des signets dans le corps du document ainsi que dans le pied de page. Via le visual Basic userform j'ai créé un formulaire afin de pouvoir remplir les signets lorsque l'on valide celui-ci. Tous les signets se trouvant dans le corps du document sont renseignés sauf celui qui se situe dans le pied de page. Afin que vous puissiez comprendre ce que j'ai fait, vous trouverez ci-dessous le code que j'ai fait:: Private Sub cmdValider_Click() Application.ScreenUpdating = False With ActiveDocument .Bookmarks("NOM_CLIENT").Range.Text = txtNom_du_Client.Value .Bookmarks("ADRESSE_CLIENT").Range.Text = txtAdresse_Client.Value .Bookmarks("REPRESENTE_PAR").Range.Text = txtReprésenté_par.Value .Bookmarks("AGISSANT_EN_QUALITE_DE").Range.Text = txtQualité_de.Value .Bookmarks("NBRES_HEURES").Range.Text = cboTotal_Heure_forfait.Value .Bookmarks("PRIX_HT_PAR_MOIS").Range.Text = txtPrix_Forfait.Value .Bookmarks("NBRES_PC_BUREAU").Range.Text = txtPCBureau.Value .Bookmarks("NBRES_PC_PORTABLE").Range.Text = txtPCPortable.Value .Bookmarks("NBRES_IMPRIMANTES").Range.Text = txtImprimante.Value .Bookmarks("NBRES_SERVEURS").Range.Text = txtServeur.Value .Bookmarks("NBRES_ROUTEURS").Range.Text = txtRouteur.Value .Bookmarks("NBRES_MODEMS").Range.Text = txtModem.Value .Bookmarks("NBRES_FIREWALL").Range.Text = txtFirewall.Value .Bookmarks("NBRES_SWITCHES_OU_HUBS").Range.Text = txtSwitche.Value .Bookmarks("NBRES_NAS").Range.Text = txtNAS.Value .Bookmarks("NBRES_PA_Wifi").Range.Text = txtWifi.Value .Bookmarks("NBRES_IPBX_PABX").Range.Text = txtIPBX.Value .Bookmarks("NBRES_TELEPHONES").Range.Text = txtTéléphone.Value With activeheaterFooterProperty .Bookmarks("ANNEE_NUM_PROJET").Range.Text = cboAnnée.Value And txtn°_Projet.Value End With Application.ScreenUpdating = True Unload Me End With End Sub
Je vous vous remercie d'avance pour votre aide car vraiment je m'arrache les cheveux
Je vous remercie beaucoup pour votre aide. Tout fonctionne correctement.