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 16/11/2010, 14h18   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 28
Points : 1
Points : 1
Par défaut Détecter un paragraphe sans style appliqué

Bonjour,

J'ai une macro qui détecte certains styles dans un document Word. Elle passe à travers le fichier dans une boucle de type For each para... à l'intérieur de laquelle j'ai une condition If para.style...

Un de mes fichiers contient un paragraphe auquel aucun style n'a été appliqué (para.style = Nothing dans la fenêtre d'exécution), ce qui génère l'erreur Variable objet ou variable de bloc With non définie.

Quel test dois-je faire pour détecter si un style a été appliqué à un paragraphe ?

Merci.
Liz99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 15h06   #2
Responsable Word

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

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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 17h43   #3
Invité de passage
 
Inscription : juillet 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 28
Points : 1
Points : 1
Voici un exemple de boucle qui génère l'erreur :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub test_styles2()
 
    Dim para As Paragraph
 
    For Each para In ActiveDocument.Paragraphs
 
        'sélection pour faciliter le débogage
        para.Range.Select
 
        ' le bogue se produit ici
        If para.Style = "Titre 1" Then
            para.Style = ActiveDocument.Styles("Normal")
        End If
    Next para
 
End Sub
Le problème survient dans une cellule vide d'un tableau. J'ai contourné le problème en faisant éviter le traitement si la cellule est vide mais je préférerais détecter l'absence de style.

Merci!
Liz99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 20h55   #4
Responsable Word

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

Pour le code, je n'avais pas de problème, c'était un morceau de document avec le problème que j'espérais avoir.

Avec les infos que tu nous donnes, j'ai fais un test et je n'ai pas de problème de paragraphes sans style pour des cellules vides.
__________________
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 17/11/2010, 09h40   #5
Invité de passage
 
Inscription : juillet 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 28
Points : 1
Points : 1
Je ne peux rien joindre à partir du bureau, j'arrangerai un fichier pour la maison dès que j'aurai deux minutes (du temps libre???!!!). Il est possible que les fichiers traités par cette macro soient des documents numérisés alors je présume qu'il y a plus de chance d'y trouver des situations disons... inhabituelles.

Mais fichier ou non, ma question demeure, est-il possible de détecter un paragraphe sans style ? J'ai fait deux procédures basées sur le traitement de styles mais c'est le premier problème que je rencontre et je ne suis pas encore très familière avec cette collection.

Merci encore.

Et merci au modérateur. C'est noté.
Liz99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2010, 11h40   #6
Responsable Word

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

Qu'un paragraphe n'ait pas de style, je n'ai jamais vu ?
C'est pour cette raison que je demande s'il est possible d'avoir un exemple.
__________________
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 17/11/2010, 21h52   #7
Invité de passage
 
Inscription : juillet 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 28
Points : 1
Points : 1
Je joins un exemple qui génère une erreur.
Liz99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2010, 23h15   #8
Responsable Word

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

Je n'avais pas encore vu un paragraphe sans style, mais dans le code, il est détecté avec le style normal.

L'erreur ne vient pas du fait qu'il n'ait pas de style. Mais d'un objet qui n'est pas défini.

Si je met un style normal l'erreur disparaît.

Je pense donc que que tu dois travailler la gestion de l'erreur.
Si tu as une erreur 91, c'est que tu as rencontré le souci.
__________________
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 18/11/2010, 03h03   #9
Invité de passage
 
Inscription : juillet 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 28
Points : 1
Points : 1
Je voulais m'éviter ça mais finalement, je n'aurai pas le choix.

Merci beaucoup!
Liz99 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 15h04.


 
 
 
 
Partenaires

Hébergement Web