Mise en forme d'une plage de cellules

Le
Jocelyne
Bonjour à tous,

Je voudrais appliquer un format à une plage de cellules dans un tableau.
Voici les instructions.

Sub FmtPlgTbl()

Dim monTableau As table
Dim maCellule As Cell
Dim maPlage As Range

Set monTableau = ActiveDocument.Tables(1)

Set maPlage = ActiveDocument.Range(monTableau.Cell(2, 2) _
.Range.Start, monTableau.Cell(5, 3).Range.End)

For Each maCellule In maPlage.Cells
maCellule.Shading.BackgroundPatternColor = wdColorRed
Next maCellule

End Sub

Si j’ajoute l’instruction maPlage.Cells.Merge pour fusionner les cellules,
ça fonctionne sur les cellules de la plage uniquement. Quant au formatage,
les cellules de la plage sont formatées mais aussi celles restantes de la
première colonne.

Si quelqu’un pouvait m’aider à y voir clair, j’apprécierais grandement. Merci.

En passant, est-ce que l’on peut nommer un tableau et utiliser son nom
plutôt que son index advenant l’ajout d’un tableau dans le document la macro
ne travaillerait pas sur le bon tableau?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
heureux-oli
Le #20723521
Salut,

Non, on ne peut nommer un tableau.
Peut-être un jour ?


curieusement, le même code mais avec une sélection au lieu d'une plage donne
le résultat escompté.

Sub FmtPlgTbl()

Dim monTableau As Table
Dim maCellule As Cell
Dim maPlage As Range

Set monTableau = ActiveDocument.Tables(1)

'Set maPlage ActiveDocument.Range(monTableau.Cell(2, 2) _
.Range.Start, monTableau.Cell(5, 3).Range.End).Select

For Each maCellule In Selection.Cells
maCellule.Shading.BackgroundPatternColor = wdColorRed
Next maCellule

End Sub




--
--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
http://marie-lebeau.heaj.be/


"Jocelyne" news:
Bonjour à tous,

Je voudrais appliquer un format à une plage de cellules dans un tableau.
Voici les instructions.

Sub FmtPlgTbl()

Dim monTableau As table
Dim maCellule As Cell
Dim maPlage As Range

Set monTableau = ActiveDocument.Tables(1)

Set maPlage = ActiveDocument.Range(monTableau.Cell(2, 2) _
.Range.Start, monTableau.Cell(5, 3).Range.End)

For Each maCellule In maPlage.Cells
maCellule.Shading.BackgroundPatternColor = wdColorRed
Next maCellule

End Sub

Si j'ajoute l'instruction maPlage.Cells.Merge pour fusionner les cellules,
ça fonctionne sur les cellules de la plage uniquement. Quant au formatage,
les cellules de la plage sont formatées mais aussi celles restantes de la
première colonne.

Si quelqu'un pouvait m'aider à y voir clair, j'apprécierais grandement.
Merci.

En passant, est-ce que l'on peut nommer un tableau et utiliser son nom
plutôt que son index advenant l'ajout d'un tableau dans le document la
macro
ne travaillerait pas sur le bon tableau?




Jocelyne
Le #20725071
Bonjour,

J'ai fait le test et ça marche. Un gros merci.

Un seul petit détail; les cellules restent sélectionnées et je ne trouve pas
l'instruction qui permet de désélectionner cette plage. C'est sûr que je
pourrais ajouter une instruction de déplacement du point d'insertion mais
s'il y avait une instruction de désélection, ce serait mieux.

Merci de votre aide.

"heureux-oli" news:
Salut,

Non, on ne peut nommer un tableau.
Peut-être un jour ?


curieusement, le même code mais avec une sélection au lieu d'une plage
donne le résultat escompté.

Sub FmtPlgTbl()

Dim monTableau As Table
Dim maCellule As Cell
Dim maPlage As Range

Set monTableau = ActiveDocument.Tables(1)

'Set maPlage > ActiveDocument.Range(monTableau.Cell(2, 2) _
.Range.Start, monTableau.Cell(5, 3).Range.End).Select

For Each maCellule In Selection.Cells
maCellule.Shading.BackgroundPatternColor = wdColorRed
Next maCellule

End Sub




--
--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
http://marie-lebeau.heaj.be/


"Jocelyne" news:
Bonjour à tous,

Je voudrais appliquer un format à une plage de cellules dans un tableau.
Voici les instructions.

Sub FmtPlgTbl()

Dim monTableau As table
Dim maCellule As Cell
Dim maPlage As Range

Set monTableau = ActiveDocument.Tables(1)

Set maPlage = ActiveDocument.Range(monTableau.Cell(2, 2) _
.Range.Start, monTableau.Cell(5, 3).Range.End)

For Each maCellule In maPlage.Cells
maCellule.Shading.BackgroundPatternColor = wdColorRed
Next maCellule

End Sub

Si j'ajoute l'instruction maPlage.Cells.Merge pour fusionner les
cellules,
ça fonctionne sur les cellules de la plage uniquement. Quant au
formatage,
les cellules de la plage sont formatées mais aussi celles restantes de la
première colonne.

Si quelqu'un pouvait m'aider à y voir clair, j'apprécierais grandement.
Merci.

En passant, est-ce que l'on peut nommer un tableau et utiliser son nom
plutôt que son index advenant l'ajout d'un tableau dans le document la
macro
ne travaillerait pas sur le bon tableau?








Jocelyne
Le #20725161
Ok tout est beau. J'ai trouvé l'instruction collapse.
Merci encore pour tout

"Jocelyne" news:
Bonjour,

J'ai fait le test et ça marche. Un gros merci.

Un seul petit détail; les cellules restent sélectionnées et je ne trouve
pas l'instruction qui permet de désélectionner cette plage. C'est sûr que
je pourrais ajouter une instruction de déplacement du point d'insertion
mais s'il y avait une instruction de désélection, ce serait mieux.

Merci de votre aide.

"heureux-oli" news:
Salut,

Non, on ne peut nommer un tableau.
Peut-être un jour ?


curieusement, le même code mais avec une sélection au lieu d'une plage
donne le résultat escompté.

Sub FmtPlgTbl()

Dim monTableau As Table
Dim maCellule As Cell
Dim maPlage As Range

Set monTableau = ActiveDocument.Tables(1)

'Set maPlage >> ActiveDocument.Range(monTableau.Cell(2, 2) _
.Range.Start, monTableau.Cell(5, 3).Range.End).Select

For Each maCellule In Selection.Cells
maCellule.Shading.BackgroundPatternColor = wdColorRed
Next maCellule

End Sub




--
--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
http://marie-lebeau.heaj.be/


"Jocelyne" de news:
Bonjour à tous,

Je voudrais appliquer un format à une plage de cellules dans un tableau.
Voici les instructions.

Sub FmtPlgTbl()

Dim monTableau As table
Dim maCellule As Cell
Dim maPlage As Range

Set monTableau = ActiveDocument.Tables(1)

Set maPlage = ActiveDocument.Range(monTableau.Cell(2, 2) _
.Range.Start, monTableau.Cell(5, 3).Range.End)

For Each maCellule In maPlage.Cells
maCellule.Shading.BackgroundPatternColor = wdColorRed
Next maCellule

End Sub

Si j'ajoute l'instruction maPlage.Cells.Merge pour fusionner les
cellules,
ça fonctionne sur les cellules de la plage uniquement. Quant au
formatage,
les cellules de la plage sont formatées mais aussi celles restantes de
la
première colonne.

Si quelqu'un pouvait m'aider à y voir clair, j'apprécierais grandement.
Merci.

En passant, est-ce que l'on peut nommer un tableau et utiliser son nom
plutôt que son index advenant l'ajout d'un tableau dans le document la
macro
ne travaillerait pas sur le bon tableau?











Publicité
Poster une réponse
Anonyme