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

VBA Word Discussion :

Sauts de section et Macro VBA [WD-2007]


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Sauts de section et Macro VBA
    Bonjour,

    Je travaille actuellement sous Word 2007 et aurais besoin de l'aide de personnes éclairées en la matiére. En effet, je dispose d'un document Word déjà mis en page etc. comportant plus de 200 pages. Ces 200 pages correspondent chacune à une fiche produit, je souhaiterai enregistrer séparément chacune de ces fiches produits tel que j'obtienne 200 .doc au lieu d'un seul rassemblant ces 200 fiches.

    J'ai lu sur certains forums qu'il convenait d'ajouter en amont d'une quelconque Macro des sauts de sections entre chaque page ; Or, je n'arrive pas à en ajouter (puis cela est trés long) entre les pages sans que cela ajoute une page blanche ou des sauts de lignes dans la partie haute de mes fiches.

    Pourriez-vous m'aider à ce sujet ?

    J'ai quelques connaissances en VBA mais assez éloignées pour être honnête :/

    Merci !!

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 596
    Points : 34 282
    Points
    34 282
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre suggestion ! La macro fait le job mais malheureusement me décale toutes les marges et bordures vers la droite. En fait elle restandardise des marges qui sont quant à ells modifiées sur mon document source.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 596
    Points : 34 282
    Points
    34 282
    Par défaut
    Ca reste quelque chose qu'on doit pouvoir rectifier =]

    Peux-tu nous montrer le code que tu as adapter et sur quelle etape tu penses avoir le probleme auquel tu fais reference ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    Ca reste quelque chose qu'on doit pouvoir rectifier =]

    Peux-tu nous montrer le code que tu as adapter et sur quelle étape tu penses avoir le problème auquel tu fais référence ?
    Je te remercie !!! Voici le code que j'utilise (en modifiant le chemin de destination, ici en rouge) :

    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
    Sub SeparerPages()
    Dim intPage As Integer  'pour la page en cours
    Dim intDoc As Integer   'pour le document
     
    intDoc = 0
     
    Do
    intDoc = intDoc + 1
    Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2
    Selection.MoveLeft Unit:=wdCharacter, Count:=1
    Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
    Selection.Cut
    Application.Documents.Add
    Selection.Paste
    ActiveDocument.SaveAs "c:\temp\document" & intDoc
    ActiveDocument.Close
    Debug.Print Selection.Information(wdNumberOfPagesInDocument)
    Loop While Selection.Information(wdNumberOfPagesInDocument) > 1
    ActiveDocument.SaveAs "c:\temp\document" & intDoc + 1
     
     
    End Sub
    En fait, tout au bord des pages de mes fiches catalogues se trouve un liseré établi selon une marge bien précise (modifiée). Or, quand les .doc unique à chaque page se créent ils repartent sur un émargement standard ce qui décale l'ensemble de mes colonnes, bordures, liserés.

    Merci d'avance pour cette aide précieuse !

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 596
    Points : 34 282
    Points
    34 282
    Par défaut
    L'idee serait alors qu'une fois le document cree, on lui remet les marges qui vont bien, essaie de voir avec l'enregistreur de macro le code qui est derriere, on trouvera une solution a partir de la.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    C'est à dire ? Désolée, mes cours de VBA sont bien loin. Je connais la fonction "enregistrement macro" par contre mais qu'en faire ?

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 596
    Points : 34 282
    Points
    34 282
    Par défaut
    Tu peux te servir du tutoriel Excel qui marche egalement pour Word
    http://fauconnier.developpez.com/tut...istreur-macro/

    1 - Tu declenches l'enregistreur
    2 - tu effectues les modifications de marge dans ton interface
    3 - tu arretes l'enregistreur
    4- tu regardes et tu nous colles le code genere par l'outil.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  9. #9
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Ok ! J'ai compris, ça se dépoussière petit à petit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro5()
    '
    ' Macro5 Macro
    '
    '
        Selection.PageSetup.TopMargin = CentimetersToPoints(0.25)
        Selection.PageSetup.LeftMargin = CentimetersToPoints(1)
        Selection.PageSetup.RightMargin = CentimetersToPoints(1.25)
    End Sub
    Merci c'est génial l'Internet !

  10. #10
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 596
    Points : 34 282
    Points
    34 282
    Par défaut
    Cool, donc en mettant "bout a bout" les deux codes (donc tes 3 lignes a inserer dans la boucle)

    et on arrive au bout !
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  11. #11
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Génial !!!!!!! Ca fonctionne ! Merci beaucoup vous êtes au top !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2010] Macro Word et coupure saut de section
    Par Mokia34 dans le forum VBA Word
    Réponses: 1
    Dernier message: 06/07/2016, 22h39
  2. Réponses: 2
    Dernier message: 16/10/2013, 08h24
  3. Macro VBA sur Access
    Par beurnoir dans le forum Access
    Réponses: 3
    Dernier message: 12/10/2005, 16h46
  4. [SQL][MACRO VBA]Pb de syntaxe
    Par Stef.proxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/08/2004, 09h11

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