Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word
Word Forum d'entraide sur le traitement de texte Microsoft 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 10/01/2011, 17h16   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 29
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 29
Points : 3
Points : 3
Par défaut Technique pour supprimer cellule contenant un certain texte

Bonjour,

Dans mon doc Word, j'ai des cellules de tableau "vide" (et dont je n'ai pas besoin) qui contiennent le texte suivant:

Erreur ! Nom du fichier non spécifié.

J'en ai un paquet disséminé un peu partout ds mon doc Word qui fait 150 pages.

Comment supprimer d'un seul coup toutes ces cellules contenant ce texte?

merci
ruliann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 17h24   #2
Expert Confirmé
 
Avatar de JML19
 
Homme Jean Michel
Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
Inscription : décembre 2010
Messages : 2 166
Détails du profil
Informations personnelles :
Nom : Homme Jean Michel
Localisation : France, Corrèze (Limousin)

Informations professionnelles :
Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
Secteur : Transports

Informations forums :
Inscription : décembre 2010
Messages : 2 166
Points : 3 221
Points : 3 221
Bonjour

Regarde (ICI).
JML19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 17h42   #3
Invité de passage
 
Inscription : décembre 2010
Messages : 29
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 29
Points : 3
Points : 3
salut,

merci pour ta réponse.

Je cherche comment je pourrais adapter ce code à mon pblm.

"Elle", voulait supprimer des lignes, moi je veux éliminer des cellules de tableaux qui contiennent un texte précis

@ +
ruliann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 20h12   #4
Expert Confirmé
 
Avatar de JML19
 
Homme Jean Michel
Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
Inscription : décembre 2010
Messages : 2 166
Détails du profil
Informations personnelles :
Nom : Homme Jean Michel
Localisation : France, Corrèze (Limousin)

Informations professionnelles :
Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
Secteur : Transports

Informations forums :
Inscription : décembre 2010
Messages : 2 166
Points : 3 221
Points : 3 221
Ce n'est pas du texte la cellule est vide puisqu'elle affiche un texte système et pas un texte écrit par l'utilisateur.

Code :
1
2
3
4
5
6
For nblignes = 1 To 200
        Selection.HomeKey Unit:=wdLine
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        If Selection = Chr(13) Then
            Selection.Delete Unit:=wdCharacter, Count:=1
        Else
Dans cette boucle il y a détection du caractère vide chr(13) mais tu peux mettre une chaine de caractères.
JML19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 09h55   #5
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 317
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 317
Points : 29 214
Points : 29 214
Salut,

Ces cellules sont-elles toutes dans la même table ou dans des tables différentes ?

La tables contiennent-elles plusieurs colonnes ?

Le plus simple est de faire une boucle sur les tables et ensuite sur les cellules de la table.

Mais pour supprimer une cellule, il faut qu'il n'y ait d'une seule colonne ou alors supprimer une ligne.
__________________
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 11/01/2011, 10h37   #6
Invité de passage
 
Inscription : décembre 2010
Messages : 29
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 29
Points : 3
Points : 3
salut à ts les 2

mouais...je crois que j'en demande trop à mon publipostage là..

Dans mon doc Word de base (celui à partir duquel je lance mon publipostage), j'ai inséré 6 cellules individuelles (des cellules indépendantes les unes des autres, pas un tableau avec 6 lignes par exemple).

Des fois, les 6 cellules contiendront chacune leur photos, des fois il n y aura que 4 d'entre elles, etc... A l'interieur de chacune de ces cellules, j'ai donc inséré le champ INCLUDEPICTURE pour appeler mes photos quand cela est nécessaire.

Parmi ces 6 cellules, l'une fait référence à la colonne A, l'autre fait référence à la colonne B, une autre fait référence à la colonne C...D, E, F de ma BDD excel.


Mon problème est que, après avoir lancé le publipostage et créé mes fiches, certaines de mes fiches contiennent 6 photos et ont donc les 6 cellules de remplies, OK super. Mais.... d'autres fiches ne comportent que 4 photos, et n'ont donc que 4 cellules de remplies, il reste donc sur la fiche 2 cellules de tableau vides où seul le texte "Erreur fichier non spécifié" est inscrit.

je dois donc supprimer à la main toutes les cellules vides, celles qui ne comportent pas de JPG et qui ont ce fameux texte inscrit dedans.

Et je ne peux pas faire de boucle qui rechercherait toutes les cellules ne contenant pas de JPG, car sur les fiches, j'ai d'autres cellules de tableau qui ne contiennent que du texte. j'ai choisi d'insérer du texte dans des cellules de tableau par souci esthétique...
ruliann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 10h54   #7
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 317
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 317
Points : 29 214
Points : 29 214
Salut,

Petit problème, ce texte est affiché, mais pas contenu, c'est un message d'erreur.
Je pense que la solution est de traiter le problème à la source et de mettre une image générique pour les images que tu ne possèdes pas.
__________________
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 11/01/2011, 11h01   #8
Invité de passage
 
Inscription : décembre 2010
Messages : 29
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 29
Points : 3
Points : 3
et je demande à effacer toutes les cellules contenant l'image générique en question?
ruliann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 11h09   #9
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 317
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 317
Points : 29 214
Points : 29 214
Salut,

Effacer les cellules ce sera difficile.
__________________
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 11/01/2011, 13h23   #10
Invité de passage
 
Inscription : décembre 2010
Messages : 29
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 29
Points : 3
Points : 3
ah... bon bah si tu le dis, je te fais confiance!
ruliann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 21h39   #11
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 317
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 317
Points : 29 214
Points : 29 214
Salut,

En y réfléchissant, il y a peut-être moyen.
On peut toujours travailler sur le contenu du champ et en fonction de son contenu, supprimer ou non la cellule.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub TravailSurCellule()
On Error GoTo moi
Dim otbl As Table
 
For Each otbl In ActiveDocument.Tables
 
Debug.Print otbl.Cell(1, 1).Range.Fields(1).Code & " -- " & Len(otbl.Cell(1, 1).Range.Fields(1).Code)
 
Next otbl
 
moi:
If Err.Number = 5941 Then
    Resume Next
ElseIf Err.Number = 0 Then
    Debug.Print Err.Number
Else
    MsgBox Err.Description
End If
 
 
 
End Sub
__________________
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/01/2011, 10h28   #12
Invité de passage
 
Inscription : décembre 2010
Messages : 29
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 29
Points : 3
Points : 3
salut,

Soit ca ne fonctionne pas, soit je m'y prends mal. J'ai rentré ton code ainsi:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub TravailSurCellule()
On Error GoTo moi
Dim otbl As Table
 
For Each otbl In ActiveDocument.Tables
 
Debug.Print otbl.Cell(1, 1).Range.Fields(1).Code & "Erreur ! Nom du fichier non spécifié." & Len(otbl.Cell(1, 1).Range.Fields(1).Code)
 
Next otbl
 
moi:
If Err.Number = 5941 Then
    Resume Next
ElseIf Err.Number = 0 Then
    Debug.Print Err.Number
Else
    MsgBox Err.Description
End If
 
End Sub

Mais rien ne se passe.

merci d'y avoir réfléchi mais ne te casse pas la tête non plus, tu m'as déjà bcp aider!
ruliann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 10h32   #13
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 317
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 317
Points : 29 214
Points : 29 214
Salut,

pourrais-tu mettre un document 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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 10h34   #14
Invité de passage
 
Inscription : décembre 2010
Messages : 29
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 29
Points : 3
Points : 3
attends hé, Heureux-Oli

Grand moment, je viens de résoudre un de mes problèmes tout seul

grâce à l'enregistreur de macro, je peux désormais redimensionner une image en faisant Ctrl1 ! c'est ce que je voulais

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub redim_1seule_image()
'
' redim_1_image Macro
'
    Selection.InlineShapes(1).Fill.Visible = msoFalse
    Selection.InlineShapes(1).Fill.Solid
    Selection.InlineShapes(1).Fill.Transparency = 0#
    Selection.InlineShapes(1).Line.Weight = 0.75
    Selection.InlineShapes(1).Line.Transparency = 0#
    Selection.InlineShapes(1).Line.Visible = msoFalse
    Selection.InlineShapes(1).LockAspectRatio = msoTrue
    Selection.InlineShapes(1).Height = 211.45
    Selection.InlineShapes(1).Width = 230.75
    Selection.InlineShapes(1).PictureFormat.Brightness = 0.5
    Selection.InlineShapes(1).PictureFormat.Contrast = 0.5
    Selection.InlineShapes(1).PictureFormat.ColorType = msoPictureAutomatic
    Selection.InlineShapes(1).PictureFormat.CropLeft = 0#
    Selection.InlineShapes(1).PictureFormat.CropRight = 0#
    Selection.InlineShapes(1).PictureFormat.CropTop = 0#
    Selection.InlineShapes(1).PictureFormat.CropBottom = 0#
 
End Sub


je progresse tu vois! champagne!


PS: ce message n'a rien à voir avec la problématique ci-dessus hein
ruliann est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h05.


 
 
 
 
Partenaires

Hébergement Web