Je lance une recherche basée sur le style "Liste à puces".
Pas de problème, j'arrive sur un paragraphe avec le style "Liste à puces".
Au bout de six ou sept fois, recherche suivante, j'arrive sur la cellule
de tableau qui contient l'occurrence que je viens de quitter
(provisoirement donc).
Cette cellule contient effectivement un paragraphe "Liste à puces" comme
je viens de le dire, et puis aussi deux paragraphes en style "Normal".
J'ai bien remis toute la définition de la recherche des fois qu'une
interférence soit intervenue, nenni, même à la main le résultat est le même.
C'est bien ça qui se passe : je cherche la prochaine mise en forme de
style "Liste à puces", il s'avère que c'est la cellule de tableau où je
me trouve. Et là, pour demander le code ASCII du texte sélectionné, ça
grince, normal.
Est-ce que je me trompe ou c'est bizarre ?
Je n'ai jamais entendu dire qu'on pouvait affecter un style de
paragraphe à une cellule de tableau, surtout quand cette cellule de
tableau contient des paragraphes de styles différents.
Je ne suis pas certain que ça aide à comprendre, j'ai pu lancer une fois
le traitement suivant sans qu'il s'arrête en route (et j'essaie de
réitérer en changeant le style plutôt qu'en ajoutant ou enlevant la puce) :
Sub MAIN
EditionRechercherStyle .Style = "Liste à puces"
EditionRechercher .Rechercher = "", .Sens = 0, .RespecterLaCasse = 0, \
.MotEntier = 0, .CritèresSpéciaux = 0, .Réservé23 = 0, \
.Format = 1, \
.RenvoiLigneAuto = 1, .TrouverToutesFormesDuMot = 0
While EditionRechercherTrouvé()
If Asc(Sélection$()) = 183 Then
FormatPucesDéfaut 1
MsgBox "J'ai mis la puce"
Else
FormatPucesDéfaut 0
MsgBox "J'ai enlevé la puce"
EndIf
EditionRechercher
Wend
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gloops
Est-ce que je me trompe ou c'est bizarre ? Je n'ai jamais entendu dire qu'on pouvait affecter un style de paragraphe à une cellule de tableau, surtout quand cette cellule de tableau contient des paragraphes de styles différents.
Eh bien si, une cellule de tableau, sous Word 95, comporte un style de paragraphe. Il s'agit du style appliqué au texte se trouvant après la dernière marque de paragraphe se trouvant dans la cellule, jusqu'à la fin de la cellule.
Je ne suis pas certain que ça va passionner les foules, mais qui sait, si un jour quelqu'un rencontrait le même problème ; comme j'ai quand même passé la journée dessus ...
Merci beaucoup aux quelques personnes qui ont mis la main à la pâte (il y a eu deux fils avant celui-ci, "mon fichier a des puces" et "remplacement format, puces").
J'avais donc un certain nombre de paragraphes, dans des tableaux, qui étaient basés sur le style de paragraphe "Liste à puces", et les puces étaient désactivées dans le style. Deux paragraphes ont finalement gardé des puces, le caractère 183 a été inséré à cet effet.
C'est un cas de figure un peu particulier, je dois même dire que j'avais oublié comment j'avais fait, c'est pour ça que j'ai eu du mal à m'y retrouver.
On peut imaginer que quelqu'un ait besoin de parcourir les utilisations d'un style de paragraphe, dans un document comportant des tableaux.
Voici le traitement : il s'agit d'abord de détecter les cellules de tableaux comportant le style "Liste à puces" (à la fin de la cellule, comme expliqué ci-dessus), et à cet endroit affecter le style "Normal". Ensuite, revenir au début du document, chercher le style "Liste à puces" dans le document, et le remplacer par le style "Style1 Liste à puces sans puces", qu'on aura pris soin de créer au préalable.
Pourquoi avoir mis le style Normal ? Pour ne pas avoir le style "Liste à puces" en fin de cellule, afin de simplifier le traitement.
Le langage employé est celui de Word 95.
Les variables booléennes PremCell et DernCell indiquent si la cellule sélectionnée est la première ou la dernière du tableau. Elles ne sont pas appelées ensuite, mais je les ai laissées "à tout hasard", puisque ce code est là à titre documentaire.
Les tableaux comportent tous au moins deux colonnes.
Sub MAIN EditionAtteindre .Destination = "t1" ' Atteindre le premier tableau While SélInfo(15) > 0 'tant qu'on est dans un tableau TableauSélectionnerLigne NbCol = SélInfo(17) NbLignes = SélInfo(15) 'MsgBox "Le tableau comporte " + Str$(NbCol) + " colonnes, et " + Str$(NbLignes) + " lignes" CellulePréc NumCell = 0 For NL = 1 To NbLignes For NC = 1 To NbCol NumCell = NumCell + 1 L = Len(Sélection$()) PremCell = (SélInfo(16) = 1 And SélInfo(13) = 1) DernCell = (NL = NbLignes And NC = NbCol)
Select Case NumCell Case 1 If L > 2 Then CarDroite 'MsgBox "Fin cell 1" ChangeFormat CelluleSuiv Else 'MsgBox "Cell 1" ChangeFormat CelluleSuiv EndIf Case NbLignes * NbCol ' dernière If L > 2 Then CarDroite ChangeFormat 'MsgBox "Fin dern. cell" Else ChangeFormat 'MsgBox "Dern cell vide" CarDroite 2 EndIf Case Else If L > 2 Then CarDroite ChangeFormat 'MsgBox "Fin de cellule" CelluleSuiv Else ChangeFormat 'MsgBox "Cellule vide" CelluleSuiv EndIf End Select Next Next CarDroite 2 EditionAtteindre .Destination = "t+1" Wend ' fin de traitement des tableaux EditionAtteindre "p1" ' Début de document EditionRechercherSansAttributs EditionRechercherStyle .Style = "Liste à puces" EditionRechercher .Rechercher = "", .Sens = 0, .RespecterLaCasse = 0, .MotEntier = 0, .CritèresSpéciaux = 0, .Réservé23 = 0, .Format = 1, .RenvoiLigneAuto = 0, .TrouverToutesFormesDuMot = 0 While EditionRechercherTrouvé() If Asc(Sélection$()) = 183 Then MsgBox "Pas de changement" Else FormatStyle .Nom = "Style1 liste à puces sans puces" EndIf CarDroite 2 EditionRechercherStyle .Style = "Liste à puces" EditionRechercher .Rechercher = "", .Sens = 0, .RespecterLaCasse = 0, .MotEntier = 0, .CritèresSpéciaux = 0, .Réservé23 = 0, .Format = 1, .RenvoiLigneAuto = 0, ^ .TrouverToutesFormesDuMot = 0 Wend End Sub
Sub ChangeFormat If NomStyle$() = "Liste à puces" Then Style "Style1 liste à puces sans puces" 'MsgBox NomStyle$() EndIf End Sub
Est-ce que je me trompe ou c'est bizarre ?
Je n'ai jamais entendu dire qu'on pouvait affecter un style de
paragraphe à une cellule de tableau, surtout quand cette cellule de
tableau contient des paragraphes de styles différents.
Eh bien si, une cellule de tableau, sous Word 95, comporte un style de
paragraphe. Il s'agit du style appliqué au texte se trouvant après la
dernière marque de paragraphe se trouvant dans la cellule, jusqu'à la
fin de la cellule.
Je ne suis pas certain que ça va passionner les foules, mais qui sait,
si un jour quelqu'un rencontrait le même problème ; comme j'ai quand
même passé la journée dessus ...
Merci beaucoup aux quelques personnes qui ont mis la main à la pâte (il
y a eu deux fils avant celui-ci, "mon fichier a des puces" et
"remplacement format, puces").
J'avais donc un certain nombre de paragraphes, dans des tableaux, qui
étaient basés sur le style de paragraphe "Liste à puces", et les puces
étaient désactivées dans le style. Deux paragraphes ont finalement gardé
des puces, le caractère 183 a été inséré à cet effet.
C'est un cas de figure un peu particulier, je dois même dire que j'avais
oublié comment j'avais fait, c'est pour ça que j'ai eu du mal à m'y
retrouver.
On peut imaginer que quelqu'un ait besoin de parcourir les utilisations
d'un style de paragraphe, dans un document comportant des tableaux.
Voici le traitement : il s'agit d'abord de détecter les cellules de
tableaux comportant le style "Liste à puces" (à la fin de la cellule,
comme expliqué ci-dessus), et à cet endroit affecter le style "Normal".
Ensuite, revenir au début du document, chercher le style "Liste à puces"
dans le document, et le remplacer par le style "Style1 Liste à puces
sans puces", qu'on aura pris soin de créer au préalable.
Pourquoi avoir mis le style Normal ? Pour ne pas avoir le style "Liste à
puces" en fin de cellule, afin de simplifier le traitement.
Le langage employé est celui de Word 95.
Les variables booléennes PremCell et DernCell indiquent si la cellule
sélectionnée est la première ou la dernière du tableau. Elles ne sont
pas appelées ensuite, mais je les ai laissées "à tout hasard", puisque
ce code est là à titre documentaire.
Les tableaux comportent tous au moins deux colonnes.
Sub MAIN
EditionAtteindre .Destination = "t1" ' Atteindre le premier tableau
While SélInfo(15) > 0 'tant qu'on est dans un tableau
TableauSélectionnerLigne
NbCol = SélInfo(17)
NbLignes = SélInfo(15)
'MsgBox "Le tableau comporte " + Str$(NbCol) +
" colonnes, et "
+ Str$(NbLignes) + " lignes"
CellulePréc
NumCell = 0
For NL = 1 To NbLignes
For NC = 1 To NbCol
NumCell = NumCell + 1
L = Len(Sélection$())
PremCell = (SélInfo(16) = 1 And SélInfo(13) = 1)
DernCell = (NL = NbLignes And NC = NbCol)
Select Case NumCell
Case 1
If L > 2 Then
CarDroite
'MsgBox "Fin cell 1"
ChangeFormat
CelluleSuiv
Else
'MsgBox "Cell 1"
ChangeFormat
CelluleSuiv
EndIf
Case NbLignes * NbCol ' dernière
If L > 2 Then
CarDroite
ChangeFormat
'MsgBox "Fin dern. cell"
Else
ChangeFormat
'MsgBox "Dern cell vide"
CarDroite 2
EndIf
Case Else
If L > 2 Then
CarDroite
ChangeFormat
'MsgBox "Fin de cellule"
CelluleSuiv
Else
ChangeFormat
'MsgBox "Cellule vide"
CelluleSuiv
EndIf
End Select
Next
Next
CarDroite 2
EditionAtteindre .Destination = "t+1"
Wend ' fin de traitement des tableaux
EditionAtteindre "p1" ' Début de document
EditionRechercherSansAttributs
EditionRechercherStyle .Style = "Liste à puces"
EditionRechercher .Rechercher = "", .Sens = 0, .RespecterLaCasse = 0,
.MotEntier = 0, .CritèresSpéciaux = 0, .Réservé23 = 0,
.Format = 1,
.RenvoiLigneAuto = 0, .TrouverToutesFormesDuMot = 0
While EditionRechercherTrouvé()
If Asc(Sélection$()) = 183 Then
MsgBox "Pas de changement"
Else
FormatStyle .Nom = "Style1 liste à puces sans puces"
EndIf
CarDroite 2
EditionRechercherStyle .Style = "Liste à puces"
EditionRechercher .Rechercher = "", .Sens = 0,
.RespecterLaCasse = 0,
.MotEntier = 0, .CritèresSpéciaux = 0, .Réservé23 = 0,
.Format = 1, .RenvoiLigneAuto = 0, ^
.TrouverToutesFormesDuMot = 0
Wend
End Sub
Sub ChangeFormat
If NomStyle$() = "Liste à puces" Then
Style "Style1 liste à puces sans puces"
'MsgBox NomStyle$()
EndIf
End Sub
Est-ce que je me trompe ou c'est bizarre ? Je n'ai jamais entendu dire qu'on pouvait affecter un style de paragraphe à une cellule de tableau, surtout quand cette cellule de tableau contient des paragraphes de styles différents.
Eh bien si, une cellule de tableau, sous Word 95, comporte un style de paragraphe. Il s'agit du style appliqué au texte se trouvant après la dernière marque de paragraphe se trouvant dans la cellule, jusqu'à la fin de la cellule.
Je ne suis pas certain que ça va passionner les foules, mais qui sait, si un jour quelqu'un rencontrait le même problème ; comme j'ai quand même passé la journée dessus ...
Merci beaucoup aux quelques personnes qui ont mis la main à la pâte (il y a eu deux fils avant celui-ci, "mon fichier a des puces" et "remplacement format, puces").
J'avais donc un certain nombre de paragraphes, dans des tableaux, qui étaient basés sur le style de paragraphe "Liste à puces", et les puces étaient désactivées dans le style. Deux paragraphes ont finalement gardé des puces, le caractère 183 a été inséré à cet effet.
C'est un cas de figure un peu particulier, je dois même dire que j'avais oublié comment j'avais fait, c'est pour ça que j'ai eu du mal à m'y retrouver.
On peut imaginer que quelqu'un ait besoin de parcourir les utilisations d'un style de paragraphe, dans un document comportant des tableaux.
Voici le traitement : il s'agit d'abord de détecter les cellules de tableaux comportant le style "Liste à puces" (à la fin de la cellule, comme expliqué ci-dessus), et à cet endroit affecter le style "Normal". Ensuite, revenir au début du document, chercher le style "Liste à puces" dans le document, et le remplacer par le style "Style1 Liste à puces sans puces", qu'on aura pris soin de créer au préalable.
Pourquoi avoir mis le style Normal ? Pour ne pas avoir le style "Liste à puces" en fin de cellule, afin de simplifier le traitement.
Le langage employé est celui de Word 95.
Les variables booléennes PremCell et DernCell indiquent si la cellule sélectionnée est la première ou la dernière du tableau. Elles ne sont pas appelées ensuite, mais je les ai laissées "à tout hasard", puisque ce code est là à titre documentaire.
Les tableaux comportent tous au moins deux colonnes.
Sub MAIN EditionAtteindre .Destination = "t1" ' Atteindre le premier tableau While SélInfo(15) > 0 'tant qu'on est dans un tableau TableauSélectionnerLigne NbCol = SélInfo(17) NbLignes = SélInfo(15) 'MsgBox "Le tableau comporte " + Str$(NbCol) + " colonnes, et " + Str$(NbLignes) + " lignes" CellulePréc NumCell = 0 For NL = 1 To NbLignes For NC = 1 To NbCol NumCell = NumCell + 1 L = Len(Sélection$()) PremCell = (SélInfo(16) = 1 And SélInfo(13) = 1) DernCell = (NL = NbLignes And NC = NbCol)
Select Case NumCell Case 1 If L > 2 Then CarDroite 'MsgBox "Fin cell 1" ChangeFormat CelluleSuiv Else 'MsgBox "Cell 1" ChangeFormat CelluleSuiv EndIf Case NbLignes * NbCol ' dernière If L > 2 Then CarDroite ChangeFormat 'MsgBox "Fin dern. cell" Else ChangeFormat 'MsgBox "Dern cell vide" CarDroite 2 EndIf Case Else If L > 2 Then CarDroite ChangeFormat 'MsgBox "Fin de cellule" CelluleSuiv Else ChangeFormat 'MsgBox "Cellule vide" CelluleSuiv EndIf End Select Next Next CarDroite 2 EditionAtteindre .Destination = "t+1" Wend ' fin de traitement des tableaux EditionAtteindre "p1" ' Début de document EditionRechercherSansAttributs EditionRechercherStyle .Style = "Liste à puces" EditionRechercher .Rechercher = "", .Sens = 0, .RespecterLaCasse = 0, .MotEntier = 0, .CritèresSpéciaux = 0, .Réservé23 = 0, .Format = 1, .RenvoiLigneAuto = 0, .TrouverToutesFormesDuMot = 0 While EditionRechercherTrouvé() If Asc(Sélection$()) = 183 Then MsgBox "Pas de changement" Else FormatStyle .Nom = "Style1 liste à puces sans puces" EndIf CarDroite 2 EditionRechercherStyle .Style = "Liste à puces" EditionRechercher .Rechercher = "", .Sens = 0, .RespecterLaCasse = 0, .MotEntier = 0, .CritèresSpéciaux = 0, .Réservé23 = 0, .Format = 1, .RenvoiLigneAuto = 0, ^ .TrouverToutesFormesDuMot = 0 Wend End Sub
Sub ChangeFormat If NomStyle$() = "Liste à puces" Then Style "Style1 liste à puces sans puces" 'MsgBox NomStyle$() EndIf End Sub