A voir également:
- Insertion saut de page si condition
- Comment supprimer une page sur word avec un saut de page ? - Guide
- Excel cellule couleur si condition texte - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
2 réponses
Salut Nounou,
le code ci-dessous devrait te permettre de faire ta manip', à condition qu'il n'y ait pas de trous dans les données de ta colonne A, puisque la boucle s'arrête quand elle rencontre une cellule vide.
Si ce n'est pas le cas (données discontinues), il faudrait apporter qqs modifications.
I.
Sub InsertApresChpt()
Range("A2").Select
While ActiveCell.Value <> Empty
If ActiveCell.Value = "Chpt" Then
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell.Offset(1, 0)
End If
ActiveCell.Offset(1, 0).Activate
Wend
End Sub
le code ci-dessous devrait te permettre de faire ta manip', à condition qu'il n'y ait pas de trous dans les données de ta colonne A, puisque la boucle s'arrête quand elle rencontre une cellule vide.
Si ce n'est pas le cas (données discontinues), il faudrait apporter qqs modifications.
I.
Sub InsertApresChpt()
Range("A2").Select
While ActiveCell.Value <> Empty
If ActiveCell.Value = "Chpt" Then
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell.Offset(1, 0)
End If
ActiveCell.Offset(1, 0).Activate
Wend
End Sub
Prenons les choses dans l'ordre :
pour avoir le saut de page AVANT Chpt :
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell
[supprimer .offset(1,0)]
1. Le même problème mais dans le cas de données discontinues :
Il faudrait alors définir la dernière ligne de données, sélectionner la plage à traiter et faire une boucle dedans (par exemple)
Dim Cellule as range
Dim DerniereLigne as long
DerniereLigne= range("A65536").end(xlup).row
range("A2:A" & derniereligne).select
For each Cellule in selection
[instructions]
Next cellule
2. peux-tu me donner la formule à remplacer dans le cas où le mot "chpt" se trouve dans la cellule parmi une phrase
If ActiveCell.Value like "*Chpt*" Then etc.
ça te convient ?
pour avoir le saut de page AVANT Chpt :
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell
[supprimer .offset(1,0)]
1. Le même problème mais dans le cas de données discontinues :
Il faudrait alors définir la dernière ligne de données, sélectionner la plage à traiter et faire une boucle dedans (par exemple)
Dim Cellule as range
Dim DerniereLigne as long
DerniereLigne= range("A65536").end(xlup).row
range("A2:A" & derniereligne).select
For each Cellule in selection
[instructions]
Next cellule
2. peux-tu me donner la formule à remplacer dans le cas où le mot "chpt" se trouve dans la cellule parmi une phrase
If ActiveCell.Value like "*Chpt*" Then etc.
ça te convient ?
Tu m'enlèves une sacrée épine du pied...
Le seul hic est que cela me fait un saut de page après la ligne contenant "chpt" alors que je le voudrais juste avant cette ligne (je ne l'avais pas précisé dans l'exposé de mon problème, mille pardons).
Peux-tu m'aider pour corriger cet oubli ?
Et si j'ose abuser (comme t'as l'air fort !)...
1. Le même problème mais dans le cas de données discontinues (cela me servira pour un autre truc dans mon boulot)
2. peux-tu me donner la formule à remplacer dans le cas où au lieu que ce soit égal à "Chpt" dans la cellule (donc "chpt" est l'unique donnée de la cellule) : que le mot "chpt" se trouve dans la cellule parmi une phrase (donc "chpt" se trouve dans la cellule parmi d'autres mots). C'est encore pour un autre truc dans mon boulot.
Encore merci de ton aide très précieuse.