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 :

Supprimer une page donnée de plusieurs document words avec des noms diffèrents


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut Supprimer une page donnée de plusieurs document words avec des noms diffèrents
    Tout d'abord bonjour à tous ^^

    Je suis nouveau sur ce forum (coucou François ) et j'aurais un problème à vous soumettre.

    J'ai 2600 rapports dont le nombre de pages est identique et j'aurais souhaité trouver une solution me permettant de supprimer la huitième pas de chacun de ces documents sans avoir à les ouvrir un par un .

    Merci d'avance pour les conseils eventuels que vous seriez à même de me donner.

    Alahsan

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Bonjour et bienvenue sur les forums Office de DVP.

    Moi c'est pas François.

    Le problème majeur de Word est que la numérotation des pages est dynamique.
    On peut par exemple récupérer un numéro de page contenant un mot précis, mais supprimer une page est pas possible.

    Pour preuve, si tu imprimes ton document sur deux imprimantes différentes, le nombre de page va changer.


    Par contre, si tu connais les délimiteurs de la partie à supprimer, on peut la sélectionner et la supprimer.
    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 !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut
    Tout d'abord merci de ta réponse rapide .

    Mon problème c'est que justement sur cette page en question il y a une image particulièrement lourde dont je n'ai pas l'utilité, d'où l'utilité de supprimer cette page sur chaque rapport afin d'avoir un stockage plus "léger".

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    On peut supprimer l'image.

    cette image est-elle la première ?

    Peut-on la repérer facilement ?
    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 !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut
    Disons que l'image se situe à la toute fin du document, c'est donc aussi la dernière page qui est à supprimer.

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Alors c'est assez facile, il suffit de compter les figures, c'est soit les Shapes soit les InlineShapes, et supprimer la dernière.

    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub CountShape()
    Debug.print "InLinesShape "  = ActiveDocument.InlineShapes.count
    Debug.print "Shapes " = ActiveDocument.Shapes.count
     
    End Sub
    Dis moi ce que ça donne.
    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 !

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut
    Quand je mets le code que tu m'a donné dans une macro VBA je me retrouve avec un message d'erreur me disant : erreur d'execution '13' : incompatibilité de type.

    Ce sont 7 images qui composent ma dernière page en fait.

  8. #8
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Pourrais-tu mettre un exemple sur le forum.
    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 !

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut
    J'ai mis une impression écran de la page en question en pièce jointe.

    Bon par contre l'impression écran a été prise sur writer parce qu'à cette heure ci je suis chez moi et qu eje n'ai pas la licence office ^^.

    donc quand vous allez voir la gueule de la bavure ça va en faire rigoler plus d'une je pense ^^.
    Images attachées Images attachées  

  10. #10
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Avec un image, je ne peux rien faire, j'aurais besoin d'un fichier Word, pour chercher les objets à supprimer.
    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 !

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut
    Ah ok !!! Mais le noeud du problème justement c'est que ce fichier word est devenu super lourd à cause de cette dernière page (un peu moins de 4 Mos en fait :/)

    Je vais voir si la version compressée rentre comme pièce attachée.

  12. #12
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    A la rigueur, ne laisse qu'une image on verra comment elle est dans le document.
    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 !

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut
    Une image de?

    J'avoue ne pas avoir bien saisi le sens de ta dernière réponse.

    Et j'ai vérifié la version compressé du document word fait tout de même 800 Ko donc ça dépasse largement la limite autorisée.

  14. #14
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Tu me dis que la dernière page comporte plusieurs images.
    Si tu enlèves toutes les images sauf une, je pourrrais voir comment elle est insérée dans le document pour l'enlever.
    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 !

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut
    Pour te dire même si je supprime quasi tout le document en ne laissant qu'une image sur les 7 je me retrouve quand même avec un fichier de 650 Ko :/.

    Je continue à chercher une solution pour lier le fichier.

  16. #16
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Bonsoir Oli, Alahsan,
    Peut-être ne sont-ce pas des shapes, ni des inlineShapes, ni des Oleobjects mais tu peux toujours tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub KillShapeRange()
        Set LeDoc = ActiveDocument.Range
        MsgBox LeDoc.ShapeRange.Count
        LeDoc.ShapeRange.Delete
    End Sub
    et si tu as une erreur, ce n'est pas des "shaperange" non plus
    Tu dis
    A+

    Pour avoir le N° de la dernière page, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Selection.EndKey Unit:=wdStory
        NumPage = Selection.Information(wdActiveEndPageNumber)
        MsgBox NumPage
    On peut l'avoir directement mais je ne sais plus comment sélectionner la page, le code m'échappe
    A+

    PS - Tu as testé ma réponse ?

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut
    Etant donné que chez moi je n'ai que Open Office je n'ai pas encore pu tester ta réponse , mais je te dis ça demain dès que je peux ^^

    Merci de votre aide en tous cas ^^

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Bonsoir Oli, Alahsan,
    Peut-être ne sont-ce pas des shapes, ni des inlineShapes, ni des Oleobjects mais tu peux toujours tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub KillShapeRange()
        Set LeDoc = ActiveDocument.Range
        MsgBox LeDoc.ShapeRange.Count
        LeDoc.ShapeRange.Delete
    End Sub
    et si tu as une erreur, ce n'est pas des "shaperange" non plus
    Tu dis
    A+

    Pour avoir le N° de la dernière page, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Selection.EndKey Unit:=wdStory
        NumPage = Selection.Information(wdActiveEndPageNumber)
        MsgBox NumPage
    On peut l'avoir directement mais je ne sais plus comment sélectionner la page, le code m'échappe
    A+

    PS - Tu as testé ma réponse ?
    Donc , après test des codes que tu m'a donné j'obtiens 19 pour le premier et 8 pour le second ^^

    Et après coup je me suis aperçu que ta macro m'a effectivement éffacé une des 7 images contenues dans ma dernière page (donc en théorie l'image en question serait du format concerné mais pas les autres.)

    Et effectivement j'ai bien 8 pages sur mon document.

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 26
    Points : 7
    Points
    7
    Par défaut
    A partir des éléments que vous m'avez donné j'ai pu établir un petit code qui me permets de compter le nombre d'éléments.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Sub CountShape()
     
        Set LeDoc = ActiveDocument.Range
        MsgBox ("InlinesShapes = " & LeDoc.InlineShapes.Count)
        MsgBox ("ShapeRange = " & LeDoc.ShapeRange.Count)
     
    End Sub
    ça me retourne les valeurs respectives suivantes :
    6
    19

  20. #20
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Le principe devra être la suppression des derniers éléments. Et il vaut mieux commencer par la fin.
    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 !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [XL-2003] Macro Copier/Coller données Excel vers document Word avec Signets
    Par Julien91080 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/05/2013, 12h28
  2. Base de données gérant plusieurs documents word
    Par Jadoule dans le forum Word
    Réponses: 9
    Dernier message: 02/04/2013, 15h07
  3. Réponses: 5
    Dernier message: 27/02/2013, 23h31
  4. Réponses: 0
    Dernier message: 29/09/2009, 11h42
  5. Réponses: 6
    Dernier message: 11/07/2006, 10h56

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