Bonjour!
Dans les lignes suivantes, mon programme plante et je n'ai aucune idée
pourquoi. Peut-être que la méthode 'paragraphFromat' doit exister a la fois
dans Word et Excel? Est-ce que quelqu'un a une idée?
Merci!
Alex
erreur lorsque je veux mettre le tableau solidaire.
La méthode 'KeepWithNext' de l'objet ParagraphFormat a échoué
tbl.Range.ParagraphFormat.KeepTogether = True 'bug
tbl.Range.ParagraphFormat.KeepWithNext = True 'bug
erreur..
La méthode 'alignment' de l'objet ParagraphFormat a échoué
docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment =
wdAlignParagraphRight
Si tbl est un objet Word aligné sur le texte c'est bon :-) Si tbl est un objet Excel ça ne veut rien dire :-(
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE
Alex St-Pierre
tbl est un tableau word. Set tbl = docWord.Tables(1). Je sais pourquoi ca plante..
Quand j'applique un header style, ce matin, le texte n'était plus aligné a droite. Donc, j'ai ajouté ceci comme sécurité: docWord.Sections(2).Headers(1).Range.Select docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight 'Cette ligne plante de temps en temps?? On Error Resume Next docWord.ActiveWindow.ActivePane.Close On Error GoTo 0 -- Alex St-Pierre
Si tbl est un objet Word aligné sur le texte c'est bon :-) Si tbl est un objet Excel ça ne veut rien dire :-(
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE
tbl est un tableau word.
Set tbl = docWord.Tables(1).
Je sais pourquoi ca plante..
Quand j'applique un header style, ce matin, le texte n'était plus aligné a
droite. Donc, j'ai ajouté ceci comme sécurité:
docWord.Sections(2).Headers(1).Range.Select
docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment =
wdAlignParagraphRight 'Cette ligne plante de temps en temps??
On Error Resume Next
docWord.ActiveWindow.ActivePane.Close
On Error GoTo 0
--
Alex St-Pierre
tbl est un tableau word. Set tbl = docWord.Tables(1). Je sais pourquoi ca plante..
Quand j'applique un header style, ce matin, le texte n'était plus aligné a droite. Donc, j'ai ajouté ceci comme sécurité: docWord.Sections(2).Headers(1).Range.Select docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight 'Cette ligne plante de temps en temps?? On Error Resume Next docWord.ActiveWindow.ActivePane.Close On Error GoTo 0 -- Alex St-Pierre
Si tbl est un objet Word aligné sur le texte c'est bon :-) Si tbl est un objet Excel ça ne veut rien dire :-(
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE
Jean-Guy Marcil
Alex St-Pierre was telling us: Alex St-Pierre nous racontait que :
tbl est un tableau word. Set tbl = docWord.Tables(1). Je sais pourquoi ca plante..
Quand j'applique un header style, ce matin, le texte n'était plus aligné a droite. Donc, j'ai ajouté ceci comme sécurité: docWord.Sections(2).Headers(1).Range.Select docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment > wdAlignParagraphRight 'Cette ligne plante de temps en temps?? On Error Resume Next docWord.ActiveWindow.ActivePane.Close On Error GoTo 0
Pourquoi sélectionner le Header quand ce n'est pas nécessaire? Tout ton code peut être remplacé par:
Salut! _______________________________________ Jean-Guy Marcil - Word MVP
Word MVP site: http://www.word.mvps.org
Alex St-Pierre was telling us:
Alex St-Pierre nous racontait que :
tbl est un tableau word.
Set tbl = docWord.Tables(1).
Je sais pourquoi ca plante..
Quand j'applique un header style, ce matin, le texte n'était plus
aligné a droite. Donc, j'ai ajouté ceci comme sécurité:
docWord.Sections(2).Headers(1).Range.Select
docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment > wdAlignParagraphRight 'Cette ligne plante de temps en temps??
On Error Resume Next
docWord.ActiveWindow.ActivePane.Close
On Error GoTo 0
Pourquoi sélectionner le Header quand ce n'est pas nécessaire?
Tout ton code peut être remplacé par:
Alex St-Pierre was telling us: Alex St-Pierre nous racontait que :
tbl est un tableau word. Set tbl = docWord.Tables(1). Je sais pourquoi ca plante..
Quand j'applique un header style, ce matin, le texte n'était plus aligné a droite. Donc, j'ai ajouté ceci comme sécurité: docWord.Sections(2).Headers(1).Range.Select docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment > wdAlignParagraphRight 'Cette ligne plante de temps en temps?? On Error Resume Next docWord.ActiveWindow.ActivePane.Close On Error GoTo 0
Pourquoi sélectionner le Header quand ce n'est pas nécessaire? Tout ton code peut être remplacé par:
Salut! _______________________________________ Jean-Guy Marcil - Word MVP
Word MVP site: http://www.word.mvps.org
Alex St-Pierre
Merci bcp! Mon style est définit comme: Set NewStyle = MyDocWord.Styles.Add("MS_Header") NewStyle.BaseStyle = "MS_Footer" NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight
Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que l'entête est resté aligné à gauche. C'est pour cela que je veux ajouter une ligne après: Set oRange = docWord.Sections(2).Headers(1).Range Call InsertAfter("Page i") 'oRange.InsertAfter .. Call ParagraphStyle("MS_Header") 'oRange.ParagraphStyle = ... docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight 'Ajout au cas ou.. ça me semble inutile mais je veux juste m'assurer que l'entête s'aligne à droite en tout temps. Merci! de même pour section 3 (est-ce que ça peut être en ajoutant le numéro de page que l'alignement s'est perdu?): Set oRange = docWord.Sections(3).Headers(1).Range oRange.Fields.Add Range:=oRange, Type:=wdFieldPage Call InsertBefore("Page ") Call ParagraphStyle("MS_Header") docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight -- Alex St-Pierre
"Jean-Guy Marcil" wrote:
Alex St-Pierre was telling us: Alex St-Pierre nous racontait que :
tbl est un tableau word. Set tbl = docWord.Tables(1). Je sais pourquoi ca plante..
Quand j'applique un header style, ce matin, le texte n'était plus aligné a droite. Donc, j'ai ajouté ceci comme sécurité: docWord.Sections(2).Headers(1).Range.Select docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment > > wdAlignParagraphRight 'Cette ligne plante de temps en temps?? On Error Resume Next docWord.ActiveWindow.ActivePane.Close On Error GoTo 0
Pourquoi sélectionner le Header quand ce n'est pas nécessaire? Tout ton code peut être remplacé par:
Salut! _______________________________________ Jean-Guy Marcil - Word MVP
Word MVP site: http://www.word.mvps.org
Merci bcp!
Mon style est définit comme:
Set NewStyle = MyDocWord.Styles.Add("MS_Header")
NewStyle.BaseStyle = "MS_Footer"
NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight
Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que
l'entête est resté aligné à gauche. C'est pour cela que je veux ajouter une
ligne après:
Set oRange = docWord.Sections(2).Headers(1).Range
Call InsertAfter("Page i") 'oRange.InsertAfter ..
Call ParagraphStyle("MS_Header") 'oRange.ParagraphStyle = ...
docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment =
wdAlignParagraphRight 'Ajout au cas ou..
ça me semble inutile mais je veux juste m'assurer que l'entête s'aligne à
droite en tout temps.
Merci!
de même pour section 3 (est-ce que ça peut être en ajoutant le numéro de
page que l'alignement s'est perdu?):
Set oRange = docWord.Sections(3).Headers(1).Range
oRange.Fields.Add Range:=oRange, Type:=wdFieldPage
Call InsertBefore("Page ")
Call ParagraphStyle("MS_Header")
docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment =
wdAlignParagraphRight
--
Alex St-Pierre
"Jean-Guy Marcil" wrote:
Alex St-Pierre was telling us:
Alex St-Pierre nous racontait que :
tbl est un tableau word.
Set tbl = docWord.Tables(1).
Je sais pourquoi ca plante..
Quand j'applique un header style, ce matin, le texte n'était plus
aligné a droite. Donc, j'ai ajouté ceci comme sécurité:
docWord.Sections(2).Headers(1).Range.Select
docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment > > wdAlignParagraphRight 'Cette ligne plante de temps en temps??
On Error Resume Next
docWord.ActiveWindow.ActivePane.Close
On Error GoTo 0
Pourquoi sélectionner le Header quand ce n'est pas nécessaire?
Tout ton code peut être remplacé par:
Merci bcp! Mon style est définit comme: Set NewStyle = MyDocWord.Styles.Add("MS_Header") NewStyle.BaseStyle = "MS_Footer" NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight
Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que l'entête est resté aligné à gauche. C'est pour cela que je veux ajouter une ligne après: Set oRange = docWord.Sections(2).Headers(1).Range Call InsertAfter("Page i") 'oRange.InsertAfter .. Call ParagraphStyle("MS_Header") 'oRange.ParagraphStyle = ... docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight 'Ajout au cas ou.. ça me semble inutile mais je veux juste m'assurer que l'entête s'aligne à droite en tout temps. Merci! de même pour section 3 (est-ce que ça peut être en ajoutant le numéro de page que l'alignement s'est perdu?): Set oRange = docWord.Sections(3).Headers(1).Range oRange.Fields.Add Range:=oRange, Type:=wdFieldPage Call InsertBefore("Page ") Call ParagraphStyle("MS_Header") docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment = wdAlignParagraphRight -- Alex St-Pierre
"Jean-Guy Marcil" wrote:
Alex St-Pierre was telling us: Alex St-Pierre nous racontait que :
tbl est un tableau word. Set tbl = docWord.Tables(1). Je sais pourquoi ca plante..
Quand j'applique un header style, ce matin, le texte n'était plus aligné a droite. Donc, j'ai ajouté ceci comme sécurité: docWord.Sections(2).Headers(1).Range.Select docWord.Sections(2).Headers(1).Range.ParagraphFormat.Alignment > > wdAlignParagraphRight 'Cette ligne plante de temps en temps?? On Error Resume Next docWord.ActiveWindow.ActivePane.Close On Error GoTo 0
Pourquoi sélectionner le Header quand ce n'est pas nécessaire? Tout ton code peut être remplacé par:
Salut! _______________________________________ Jean-Guy Marcil - Word MVP
Word MVP site: http://www.word.mvps.org
Anacoluthe
Bonjour !
'Alex St-Pierre' nous a écrit ...
NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que l'entête est resté aligné à gauche.
Votre titre de ficelle de discussion parle de /Excel/ Je suppose que votre code tourne dans Excel et pilote Word en Automation Si wdAlignParagraphRight n'est pas référencé et que vous n'êtes pas en option Explicit (déconseillé en Automation) VBA va prendre wdAlignParagraphRight pour une nouvelle variable et va lui donner la valeur zéro ce qui est justement la valeur de wdAlignParagraphLEFT ! donc votre paragraphe sera aligné à gauche et non à droite
Je dis ça comme ça... au hasard ... on en sait si peu de votre code
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE
Bonjour !
'Alex St-Pierre' nous a écrit ...
NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight
Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que
l'entête est resté aligné à gauche.
Votre titre de ficelle de discussion parle de /Excel/
Je suppose que votre code tourne dans Excel et pilote Word en Automation
Si wdAlignParagraphRight n'est pas référencé
et que vous n'êtes pas en option Explicit (déconseillé en Automation)
VBA va prendre wdAlignParagraphRight pour une nouvelle variable
et va lui donner la valeur zéro
ce qui est justement la valeur de wdAlignParagraphLEFT !
donc votre paragraphe sera aligné à gauche et non à droite
Je dis ça comme ça... au hasard ... on en sait si peu de votre code
Anacoluthe
« Les erreurs sont les portes de la découverte. »
- James JOYCE
NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que l'entête est resté aligné à gauche.
Votre titre de ficelle de discussion parle de /Excel/ Je suppose que votre code tourne dans Excel et pilote Word en Automation Si wdAlignParagraphRight n'est pas référencé et que vous n'êtes pas en option Explicit (déconseillé en Automation) VBA va prendre wdAlignParagraphRight pour une nouvelle variable et va lui donner la valeur zéro ce qui est justement la valeur de wdAlignParagraphLEFT ! donc votre paragraphe sera aligné à gauche et non à droite
Je dis ça comme ça... au hasard ... on en sait si peu de votre code
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE
Alex St-Pierre
Merci Anacoluthe!!! Je crois que tu as trouvé le problème. Je roule toujours en Option Explicit dans tous les modules mais NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight n'est pas référencé. Est-ce que tu sais comment je peux référencer wdAlignParagrahRight ? Merci! Alex Dans le même module de style, je référence avec appWord, sinon, ça plante avec le même message d'erreur 'ParagraphFormat' exemple: NewStyle.ParagraphFormat.LeftIndent = appWord.InchesToPoints(0.25) -- Alex St-Pierre
"Anacoluthe" wrote:
Bonjour !
'Alex St-Pierre' nous a écrit ...
NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que l'entête est resté aligné à gauche.
Votre titre de ficelle de discussion parle de /Excel/ Je suppose que votre code tourne dans Excel et pilote Word en Automation Si wdAlignParagraphRight n'est pas référencé et que vous n'êtes pas en option Explicit (déconseillé en Automation) VBA va prendre wdAlignParagraphRight pour une nouvelle variable et va lui donner la valeur zéro ce qui est justement la valeur de wdAlignParagraphLEFT ! donc votre paragraphe sera aligné à gauche et non à droite
Je dis ça comme ça... au hasard ... on en sait si peu de votre code
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE
Merci Anacoluthe!!!
Je crois que tu as trouvé le problème. Je roule toujours en Option Explicit
dans tous les modules mais NewStyle.ParagraphFormat.Alignment =
wdAlignParagraphRight n'est pas référencé. Est-ce que tu sais comment je peux
référencer wdAlignParagrahRight ?
Merci!
Alex
Dans le même module de style, je référence avec appWord, sinon, ça plante
avec le même message d'erreur 'ParagraphFormat' exemple:
NewStyle.ParagraphFormat.LeftIndent = appWord.InchesToPoints(0.25)
--
Alex St-Pierre
"Anacoluthe" wrote:
Bonjour !
'Alex St-Pierre' nous a écrit ...
NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight
Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que
l'entête est resté aligné à gauche.
Votre titre de ficelle de discussion parle de /Excel/
Je suppose que votre code tourne dans Excel et pilote Word en Automation
Si wdAlignParagraphRight n'est pas référencé
et que vous n'êtes pas en option Explicit (déconseillé en Automation)
VBA va prendre wdAlignParagraphRight pour une nouvelle variable
et va lui donner la valeur zéro
ce qui est justement la valeur de wdAlignParagraphLEFT !
donc votre paragraphe sera aligné à gauche et non à droite
Je dis ça comme ça... au hasard ... on en sait si peu de votre code
Anacoluthe
« Les erreurs sont les portes de la découverte. »
- James JOYCE
Merci Anacoluthe!!! Je crois que tu as trouvé le problème. Je roule toujours en Option Explicit dans tous les modules mais NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight n'est pas référencé. Est-ce que tu sais comment je peux référencer wdAlignParagrahRight ? Merci! Alex Dans le même module de style, je référence avec appWord, sinon, ça plante avec le même message d'erreur 'ParagraphFormat' exemple: NewStyle.ParagraphFormat.LeftIndent = appWord.InchesToPoints(0.25) -- Alex St-Pierre
"Anacoluthe" wrote:
Bonjour !
'Alex St-Pierre' nous a écrit ...
NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que l'entête est resté aligné à gauche.
Votre titre de ficelle de discussion parle de /Excel/ Je suppose que votre code tourne dans Excel et pilote Word en Automation Si wdAlignParagraphRight n'est pas référencé et que vous n'êtes pas en option Explicit (déconseillé en Automation) VBA va prendre wdAlignParagraphRight pour une nouvelle variable et va lui donner la valeur zéro ce qui est justement la valeur de wdAlignParagraphLEFT ! donc votre paragraphe sera aligné à gauche et non à droite
Je dis ça comme ça... au hasard ... on en sait si peu de votre code
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE
Alex St-Pierre
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que le tableau est trop long et que ça tombe sur une 2e page. Le pire, j'ai insérer un saut de page sur le tableau et après, j'ai remis le curseur jaune a la ligne A) et tout fonctionne!! Je me demande s'il y moyen d'améliorer la référence à wdLineWidth025pt? Merci! Alex tbl.Cell(i, j).Borders(wdBorderBottom).LineStyle = wdLineStyleSingle 'A) If .Weight = xlThin Then tbl.Cell(i, j).Borders(wdBorderBottom).LineWidth = wdLineWidth025pt 'B) ElseIf .Weight = xlMedium Then tbl.Cell(i, j).Borders(wdBorderBottom).LineWidth = wdLineWidth150pt End If -- Alex St-Pierre
"Anacoluthe" wrote:
Bonjour !
'Alex St-Pierre' nous a écrit ...
NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que l'entête est resté aligné à gauche.
Votre titre de ficelle de discussion parle de /Excel/ Je suppose que votre code tourne dans Excel et pilote Word en Automation Si wdAlignParagraphRight n'est pas référencé et que vous n'êtes pas en option Explicit (déconseillé en Automation) VBA va prendre wdAlignParagraphRight pour une nouvelle variable et va lui donner la valeur zéro ce qui est justement la valeur de wdAlignParagraphLEFT ! donc votre paragraphe sera aligné à gauche et non à droite
Je dis ça comme ça... au hasard ... on en sait si peu de votre code
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de
temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que le
tableau est trop long et que ça tombe sur une 2e page. Le pire, j'ai insérer
un saut de page sur le tableau et après, j'ai remis le curseur jaune a la
ligne A) et tout fonctionne!! Je me demande s'il y moyen d'améliorer la
référence à wdLineWidth025pt?
Merci!
Alex
tbl.Cell(i, j).Borders(wdBorderBottom).LineStyle = wdLineStyleSingle 'A)
If .Weight = xlThin Then
tbl.Cell(i, j).Borders(wdBorderBottom).LineWidth = wdLineWidth025pt 'B)
ElseIf .Weight = xlMedium Then
tbl.Cell(i, j).Borders(wdBorderBottom).LineWidth = wdLineWidth150pt
End If
--
Alex St-Pierre
"Anacoluthe" wrote:
Bonjour !
'Alex St-Pierre' nous a écrit ...
NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight
Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que
l'entête est resté aligné à gauche.
Votre titre de ficelle de discussion parle de /Excel/
Je suppose que votre code tourne dans Excel et pilote Word en Automation
Si wdAlignParagraphRight n'est pas référencé
et que vous n'êtes pas en option Explicit (déconseillé en Automation)
VBA va prendre wdAlignParagraphRight pour une nouvelle variable
et va lui donner la valeur zéro
ce qui est justement la valeur de wdAlignParagraphLEFT !
donc votre paragraphe sera aligné à gauche et non à droite
Je dis ça comme ça... au hasard ... on en sait si peu de votre code
Anacoluthe
« Les erreurs sont les portes de la découverte. »
- James JOYCE
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que le tableau est trop long et que ça tombe sur une 2e page. Le pire, j'ai insérer un saut de page sur le tableau et après, j'ai remis le curseur jaune a la ligne A) et tout fonctionne!! Je me demande s'il y moyen d'améliorer la référence à wdLineWidth025pt? Merci! Alex tbl.Cell(i, j).Borders(wdBorderBottom).LineStyle = wdLineStyleSingle 'A) If .Weight = xlThin Then tbl.Cell(i, j).Borders(wdBorderBottom).LineWidth = wdLineWidth025pt 'B) ElseIf .Weight = xlMedium Then tbl.Cell(i, j).Borders(wdBorderBottom).LineWidth = wdLineWidth150pt End If -- Alex St-Pierre
"Anacoluthe" wrote:
Bonjour !
'Alex St-Pierre' nous a écrit ...
NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight Quand j'applique mon style sur mon paragraphe, 2 fois, ça m'est arrivé que l'entête est resté aligné à gauche.
Votre titre de ficelle de discussion parle de /Excel/ Je suppose que votre code tourne dans Excel et pilote Word en Automation Si wdAlignParagraphRight n'est pas référencé et que vous n'êtes pas en option Explicit (déconseillé en Automation) VBA va prendre wdAlignParagraphRight pour une nouvelle variable et va lui donner la valeur zéro ce qui est justement la valeur de wdAlignParagraphLEFT ! donc votre paragraphe sera aligné à gauche et non à droite
Je dis ça comme ça... au hasard ... on en sait si peu de votre code
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE
Geo
Merci Anacoluthe!!! Je crois que tu as trouvé le problème. Je roule toujours en Option Explicit dans tous les modules mais NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight n'est pas référencé. Est-ce que tu sais comment je peux référencer wdAlignParagrahRight ?
Avez-vous essayez Outils / références / microsoft Word xx Object Library ?
-- A+
Merci Anacoluthe!!!
Je crois que tu as trouvé le problème. Je roule toujours en Option Explicit
dans tous les modules mais NewStyle.ParagraphFormat.Alignment =
wdAlignParagraphRight n'est pas référencé. Est-ce que tu sais comment je peux
référencer wdAlignParagrahRight ?
Avez-vous essayez
Outils / références / microsoft Word xx Object Library ?
Merci Anacoluthe!!! Je crois que tu as trouvé le problème. Je roule toujours en Option Explicit dans tous les modules mais NewStyle.ParagraphFormat.Alignment = wdAlignParagraphRight n'est pas référencé. Est-ce que tu sais comment je peux référencer wdAlignParagrahRight ?
Avez-vous essayez Outils / références / microsoft Word xx Object Library ?
-- A+
Geo
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que le tableau est trop long et que ça tombe sur une 2e page.
en théorie non, mais c'est une hypothèse intéressante à vérifier. Quand votre programme fait cette erreur cliquez sur débogage, ce qui interrompt l'exécution et regardez ce qu'il y a dans i et j.
Je me demande s'il y moyen d'améliorer la référence à wdLineWidth025pt?
Vous pouvez toujours remplacer une constante énumérée par sa valeur, il suffit de regarder dans l'explorateur d'objets: Const wdLineWidth025pt = 2
Mais : ça rend le code moins lisible et MS dit que ça les constantes peuvent changer de valeur. On l'a effectivement vu avec Visual Studio 2005, mais amha dans VBA il y a peu de chances et vous serez peut-être déjà à la retraite ce jour-là.
-- A+
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de
temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que le
tableau est trop long et que ça tombe sur une 2e page.
en théorie non, mais c'est une hypothèse intéressante à vérifier.
Quand votre programme fait cette erreur cliquez sur débogage, ce qui
interrompt l'exécution et regardez ce qu'il y a dans i et j.
Je me demande s'il y moyen d'améliorer la
référence à wdLineWidth025pt?
Vous pouvez toujours remplacer une constante énumérée par sa valeur, il
suffit de regarder dans l'explorateur d'objets:
Const wdLineWidth025pt = 2
Mais : ça rend le code moins lisible et MS dit que ça les constantes
peuvent changer de valeur. On l'a effectivement vu avec Visual Studio
2005, mais amha dans VBA il y a peu de chances et vous serez peut-être
déjà à la retraite ce jour-là.
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que le tableau est trop long et que ça tombe sur une 2e page.
en théorie non, mais c'est une hypothèse intéressante à vérifier. Quand votre programme fait cette erreur cliquez sur débogage, ce qui interrompt l'exécution et regardez ce qu'il y a dans i et j.
Je me demande s'il y moyen d'améliorer la référence à wdLineWidth025pt?
Vous pouvez toujours remplacer une constante énumérée par sa valeur, il suffit de regarder dans l'explorateur d'objets: Const wdLineWidth025pt = 2
Mais : ça rend le code moins lisible et MS dit que ça les constantes peuvent changer de valeur. On l'a effectivement vu avec Visual Studio 2005, mais amha dans VBA il y a peu de chances et vous serez peut-être déjà à la retraite ce jour-là.
-- A+
Alex St-Pierre
Merci!
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que tableau est trop long et que ça tombe sur une 2e page. en théorie non, mais c'est une hypothèse intéressante à vérifier.
Quand votre programme fait cette erreur cliquez sur débogage, ce qui interrompt l'exécution et regardez ce qu'il y a dans i et j. J'ai regardé et à chaque fois que ça plante, le tableau coupe à i = 32 et ça
plante à i = 35. C'est toujours au début du tableau de la 2e page. Le tableau contient des cellules fusionnés. J'ai 4 tableaux du même style et c'est le seul qui plante. C'est un problème vraiment intermitent mais qui survient toujours avec le dernier tableau du document. Probablement qu'un saut de page avant le tableau améliorera un peu mais je comprends pas le problème. Quand il y a des fusions de cellules dans Word, certains fois, il y a des éléments de 'ParagraphFormat' qui prennnent des valeurs du style 99999999. Dans ce temps là, je ne peux modifier la valeur.
Je me demande s'il y moyen d'améliorer la référence à wdLineWidth025pt? Vous pouvez toujours remplacer une constante énumérée par sa valeur, il
suffit de regarder dans l'explorateur d'objets: Const wdLineWidth025pt = 2 S'il y a des chances que le programme fonctionne mieux en utilisant les
constantes (aucun risque de bug), je vais utiliser cet approche et voir si ça règle certains problèmes.
Si wdAlignParagraphRight n'est pas référencé et que vous n'êtes pas en option Explicit (déconseillé en Automation) VBA va prendre wdAlignParagraphRight pour une nouvelle variable et va lui donner la valeur zéro ce qui est justement la valeur de wdAlignParagraphLEFT ! Si je suis en Option Explicit, est-ce que ça vaut la peine de référencer les
variables avec Const wdAlignParagraphRight = ...
Merci! Alex -- Alex St-Pierre
"Geo" wrote:
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que le tableau est trop long et que ça tombe sur une 2e page.
en théorie non, mais c'est une hypothèse intéressante à vérifier. Quand votre programme fait cette erreur cliquez sur débogage, ce qui interrompt l'exécution et regardez ce qu'il y a dans i et j.
Je me demande s'il y moyen d'améliorer la référence à wdLineWidth025pt?
Vous pouvez toujours remplacer une constante énumérée par sa valeur, il suffit de regarder dans l'explorateur d'objets: Const wdLineWidth025pt = 2
Mais : ça rend le code moins lisible et MS dit que ça les constantes peuvent changer de valeur. On l'a effectivement vu avec Visual Studio 2005, mais amha dans VBA il y a peu de chances et vous serez peut-être déjà à la retraite ce jour-là.
-- A+
Merci!
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de
temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que
tableau est trop long et que ça tombe sur une 2e page.
en théorie non, mais c'est une hypothèse intéressante à vérifier.
Quand votre programme fait cette erreur cliquez sur débogage, ce qui
interrompt l'exécution et regardez ce qu'il y a dans i et j.
J'ai regardé et à chaque fois que ça plante, le tableau coupe à i = 32 et ça
plante à i = 35. C'est toujours au début du tableau de la 2e page. Le tableau
contient des cellules fusionnés. J'ai 4 tableaux du même style et c'est le
seul qui plante. C'est un problème vraiment intermitent mais qui survient
toujours avec le dernier tableau du document. Probablement qu'un saut de page
avant le tableau améliorera un peu mais je comprends pas le problème. Quand
il y a des fusions de cellules dans Word, certains fois, il y a des éléments
de 'ParagraphFormat' qui prennnent des valeurs du style 99999999. Dans ce
temps là, je ne peux modifier la valeur.
Je me demande s'il y moyen d'améliorer la
référence à wdLineWidth025pt?
Vous pouvez toujours remplacer une constante énumérée par sa valeur, il
suffit de regarder dans l'explorateur d'objets:
Const wdLineWidth025pt = 2
S'il y a des chances que le programme fonctionne mieux en utilisant les
constantes (aucun risque de bug), je vais utiliser cet approche et voir si ça
règle certains problèmes.
Si wdAlignParagraphRight n'est pas référencé
et que vous n'êtes pas en option Explicit (déconseillé en Automation)
VBA va prendre wdAlignParagraphRight pour une nouvelle variable
et va lui donner la valeur zéro
ce qui est justement la valeur de wdAlignParagraphLEFT !
Si je suis en Option Explicit, est-ce que ça vaut la peine de référencer les
variables avec Const wdAlignParagraphRight = ...
Merci!
Alex
--
Alex St-Pierre
"Geo" wrote:
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de
temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que le
tableau est trop long et que ça tombe sur une 2e page.
en théorie non, mais c'est une hypothèse intéressante à vérifier.
Quand votre programme fait cette erreur cliquez sur débogage, ce qui
interrompt l'exécution et regardez ce qu'il y a dans i et j.
Je me demande s'il y moyen d'améliorer la
référence à wdLineWidth025pt?
Vous pouvez toujours remplacer une constante énumérée par sa valeur, il
suffit de regarder dans l'explorateur d'objets:
Const wdLineWidth025pt = 2
Mais : ça rend le code moins lisible et MS dit que ça les constantes
peuvent changer de valeur. On l'a effectivement vu avec Visual Studio
2005, mais amha dans VBA il y a peu de chances et vous serez peut-être
déjà à la retraite ce jour-là.
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que tableau est trop long et que ça tombe sur une 2e page. en théorie non, mais c'est une hypothèse intéressante à vérifier.
Quand votre programme fait cette erreur cliquez sur débogage, ce qui interrompt l'exécution et regardez ce qu'il y a dans i et j. J'ai regardé et à chaque fois que ça plante, le tableau coupe à i = 32 et ça
plante à i = 35. C'est toujours au début du tableau de la 2e page. Le tableau contient des cellules fusionnés. J'ai 4 tableaux du même style et c'est le seul qui plante. C'est un problème vraiment intermitent mais qui survient toujours avec le dernier tableau du document. Probablement qu'un saut de page avant le tableau améliorera un peu mais je comprends pas le problème. Quand il y a des fusions de cellules dans Word, certains fois, il y a des éléments de 'ParagraphFormat' qui prennnent des valeurs du style 99999999. Dans ce temps là, je ne peux modifier la valeur.
Je me demande s'il y moyen d'améliorer la référence à wdLineWidth025pt? Vous pouvez toujours remplacer une constante énumérée par sa valeur, il
suffit de regarder dans l'explorateur d'objets: Const wdLineWidth025pt = 2 S'il y a des chances que le programme fonctionne mieux en utilisant les
constantes (aucun risque de bug), je vais utiliser cet approche et voir si ça règle certains problèmes.
Si wdAlignParagraphRight n'est pas référencé et que vous n'êtes pas en option Explicit (déconseillé en Automation) VBA va prendre wdAlignParagraphRight pour une nouvelle variable et va lui donner la valeur zéro ce qui est justement la valeur de wdAlignParagraphLEFT ! Si je suis en Option Explicit, est-ce que ça vaut la peine de référencer les
variables avec Const wdAlignParagraphRight = ...
Merci! Alex -- Alex St-Pierre
"Geo" wrote:
J'ai aussi un message d'erreur "élément hors limite" avec la ligne B) de temps en temps et je ne comprends pas pourquoi, est-ce que c'est parce que le tableau est trop long et que ça tombe sur une 2e page.
en théorie non, mais c'est une hypothèse intéressante à vérifier. Quand votre programme fait cette erreur cliquez sur débogage, ce qui interrompt l'exécution et regardez ce qu'il y a dans i et j.
Je me demande s'il y moyen d'améliorer la référence à wdLineWidth025pt?
Vous pouvez toujours remplacer une constante énumérée par sa valeur, il suffit de regarder dans l'explorateur d'objets: Const wdLineWidth025pt = 2
Mais : ça rend le code moins lisible et MS dit que ça les constantes peuvent changer de valeur. On l'a effectivement vu avec Visual Studio 2005, mais amha dans VBA il y a peu de chances et vous serez peut-être déjà à la retraite ce jour-là.