Bonjour à tous,
Je souhaite ajouter un saut de page dès lors que le mot "SAUT" apparaît dans la colonne A.
Après quelques recherches sur des forums, j'ai trouvé cette solution :
-------------------------------------------------------
Sub SautDePage()
ActiveSheet.ResetAllPageBreaks
Dim R As Range
Dim Adr As String
Application.ScreenUpdating = False
With Sheets("Feuil1")
Set R = .Columns(1).Find("SAUT")
If R Is Nothing Then Exit Sub
Adr = R.Address
Do
.HPageBreaks.Add R.Offset(1, 0)
Set R = .Columns(1).FindNext(R)
Loop While Not R Is Nothing And R.Address <> Adr
End With
Application.ScreenUpdating = True
End Sub
-------------------------------------------------------
Cela fonctionne bien si et seulement si le mot "SAUT" est écrit textuellement dans la cellule.
En revanche, si au lieu d'écrire le mot "SAUT", j'ajoute une formule conditionnelle ( ex : =SI(B1="";"";"SAUT") ) dans la colonne A, cela ne fonctionne plus.
Je pense avoir localisé le problème : La fonction "Find" recherche le mot dans la cellule (et non le résultat de la cellule).
Malheureusement, mes compétences VBA étant très limitées, je ne sais pas comment faire...
Merci d'avance,
Romain
Je souhaite ajouter un saut de page dès lors que le mot "SAUT" apparaît dans la colonne A.
Après quelques recherches sur des forums, j'ai trouvé cette solution :
-------------------------------------------------------
Sub SautDePage()
ActiveSheet.ResetAllPageBreaks
Dim R As Range
Dim Adr As String
Application.ScreenUpdating = False
With Sheets("Feuil1")
Set R = .Columns(1).Find("SAUT")
If R Is Nothing Then Exit Sub
Adr = R.Address
Do
.HPageBreaks.Add R.Offset(1, 0)
Set R = .Columns(1).FindNext(R)
Loop While Not R Is Nothing And R.Address <> Adr
End With
Application.ScreenUpdating = True
End Sub
-------------------------------------------------------
Cela fonctionne bien si et seulement si le mot "SAUT" est écrit textuellement dans la cellule.
En revanche, si au lieu d'écrire le mot "SAUT", j'ajoute une formule conditionnelle ( ex : =SI(B1="";"";"SAUT") ) dans la colonne A, cela ne fonctionne plus.
Je pense avoir localisé le problème : La fonction "Find" recherche le mot dans la cellule (et non le résultat de la cellule).
Malheureusement, mes compétences VBA étant très limitées, je ne sais pas comment faire...
Merci d'avance,
Romain