Suppression automatique de graphique

schpop12 Messages postés 51 Statut Membre -  
amjahed Messages postés 350 Statut Membre -
Bonjour,

Pour mon travail je doit supprimer des graphique qui sont inserré dans des documents Word.
Il y'a environ 10 graphique par rapport et 92 rapport en tout.
D'ou ma question existe-il un moyen de supprimer automatiquement des graphique ou bien un
programme ou une macro (je sais pas si ca marche sous excel) pour le faire.

Merci d'avance si vous avez une solution a me proposer.

8 réponses

amjahed Messages postés 350 Statut Membre 123
 
Salut,
Il y'a surrement une méthode pour le faire :
La macro dans la page suivante supprime les graphiques des entêtes dans tous les fichiers word qui se trouvent dans un dossier donné : http://wordtips.vitalnews.com/Pages/T000311_Removing_Pictures_from_Multiple_Files.html
0
schpop12 Messages postés 51 Statut Membre 6
 
Salut

Merci pour cette réponse mais la j'avoue que cette macro est trop complexe pour moi.

Comment la modifier pour lui faire enlever les graphiques dans le texte?
0
amjahed Messages postés 350 Statut Membre 123 > schpop12 Messages postés 51 Statut Membre
 
J'utilise OpenOffice pour mes travaux de bureautique.
Ca n'empêche que je garde encore des souvenirs de MS Office :)
Je vous propose de bâtir la solution par étapes, alors si vous êtes familier avec les macros, essai la macro suivante :
ActiveDocument.inlineShapes.selectall
selection.delete


Apparemment, ça sélectionne toutes les images du document courant et les supprime ensuite. Je dit 'apparemment' pour vous passer la responsabilité de la vérification.
A suivre ...
0
schpop12 Messages postés 51 Statut Membre 6
 
Bonjour

j'ai essayé la macro mais la commande .selectall pose problème.

une idée pour que ca marche?
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
essaye avec
    ActiveDocument.Content.ShapeRange.Select
    selection.delete


A+
0
schpop12 Messages postés 51 Statut Membre 6
 
Salut

Désolé mais ça marche pas non plus.
ça marque erreur 5282 l'objet n'est pas trouvé ou quelque chose dans se style.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Tes graphiques, y viendraient pas d'excel par hazard ?
0
schpop12 Messages postés 51 Statut Membre 6
 
Si désolé j'ai oublié de le précisé. ça change la macro?
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Beh évidemment, ce n'est plus un objet Word que tu doit supprimé...
Mais tu peu avoir la solution par toi-même
>> Outils >> Macro >> Nouvelle macro
ensuite tu sélectionne un graph et tu le supprime manuellement.
Arrèter la macro et voir dans le module les commande qui ont étés faite et les adapter pour que tout soit sélectionner
Tu dit...
0
amjahed Messages postés 350 Statut Membre 123
 
J'ai modifié le code de la page que j'ai cité avec la traduction des commentaires.
J'ai ôté la partie du code que vous devez remplacer avec le code qui supprime les objets en question (ou toute autre tâche), à noter que les deux variables dans l'entête de la macro sont à vérifier/modifier :

Sub StripGraphics()
    Dim oShape As Shape         '>>> A vérifier/modifier
    Dim oIShape As InlineShape  '>>> A vérifier/modifier
    Dim I As Integer
    Dim J As Integer

    With Application.FileSearch
        .LookIn = "C:\Le_dossier_ou_se_trouve_les_documents\"
        .SearchSubFolders = True    ' Chercher dans les sous-dossiers
        .FileName = "*.doc"         ' Pour chercher les .doc

        ' Si la recherche retourne au moins un fichier,alors éxecuter le code suivant
        If .Execute() > 0 Then
            MsgBox "Found " & .FoundFiles.Count & " file(s)."

            ' Pour chaque fichier trouvé, éxecuter cette boucle
            For I = 1 To .FoundFiles.Count
                ' Ouvrir le fichier selon son index de position
                Documents.Open FileName:=.FoundFiles(I)

		********** Le code à executer sur le document **********
		********** Le code à executer sur le document **********

                ' Sauver et fermer le document courant
                ActiveDocument.Close wdSaveChanges
            Next I
        Else
            MsgBox "Aucun document trouvé."
        End If
    End With
End Sub
0