Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/08/2011, 10h26   #1
Candidat au titre de Membre du Club
 
Développeur Web
Inscription : octobre 2007
Messages : 30
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2007
Messages : 30
Points : 10
Points : 10
Envoyer un message via MSN à opacho
Par défaut Suppression Drawing object impossible :(

Bonjour,

je sollicite votre aide car j'ai des images redondantes dans un fichier word et je voudrais toutes les supprimer avec une macro. J'ai essayé avec le code qui suit :

Code :
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
 
Sub DeletePictures()
 
' supprime tous les dessins hors texte
    For Each oShape In ActiveDocument.Shapes
        oShape.Delete
    Next
 
' supprime les objets de la couche texte
    For Each oShape In ActiveDocument.InlineShapes
        oShape.Delete
    Next
' supprime les objets graphiques
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^g"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
End Sub
Mais certaines images persistent et je n'arrive pas à m'en débarrasser, le fichier word avec les images restantes est en pièce jointe si quelqu'un ç une solution je suis preneur

Merci
Fichiers attachés
Type de fichier : docx Drawing_object.docx (15,0 Ko, 1 affichages)
opacho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 20h04   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 324
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 324
Points : 29 225
Points : 29 225
Salut,

Ce n'est pas de la persistance, on dirait que la boucle ne peut pas les supprimer toutes en une seule fois, il faut plusieurs passages.

Code :
1
2
3
4
5
6
7
8
9
10
 
Sub oliii()
Dim oS As Shape
Do
For Each oS In ActiveDocument.Shapes
    oS.Delete
Next oS
Debug.Print ActiveDocument.Shapes.Count
Loop Until ActiveDocument.Shapes.Count = 0
End Sub
Essaie avec une boucle.
__________________
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 07h09   #3
Candidat au titre de Membre du Club
 
Développeur Web
Inscription : octobre 2007
Messages : 30
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2007
Messages : 30
Points : 10
Points : 10
Envoyer un message via MSN à opacho
La solution marche parfaitement, merci
opacho est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h51.


 
 
 
 
Partenaires

Hébergement Web