Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2737 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Trouver les sauts de page

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Trouver les sauts de page

n°1960762
scaryfan
Apple Inside
Posté le 27-01-2010 à 09:27:42  profilanswer
 

:hello:  
 
Salut à tous !
 
J'ai une feuille Excel avec beaucoup de texte et des tableaux entre mes paragraphes.
Ma mise en page est définie pour qu'il n'y ait qu'une page en largeur et vide en hauteur... donc mon document a ses pages l'une au-dessus de l'autre...
Pour le moment, rien d'extraordinaire me direz-vous !  :p  
Pourtant, ma feuille contient des tableaux et je ne souhaite pas qu'ils soient coupés par un saut de page...
Et je cherche donc une faire une procédure qui va détecter si un saut de page coupe l'un de mes tableaux et déplacera le saut de page juste au-dessus du tableau...
 
Auriez-vous une solution ?
 
Merci d'avance...


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
mood
Publicité
Posté le 27-01-2010 à 09:27:42  profilanswer
 

n°1960794
Laoo
Posté le 27-01-2010 à 11:16:48  profilanswer
 

Salut à toi, et à tous aussi
 
J'ai même 3 solutions, mais...
 
- la 1° serait de mettre tout ça dans Word, où le traitement des sauts de page par macro est bcp plus simple.  (et à mon sens la mise en page meilleure pour ce genre d'exercice...)
 
- la 2°: si il n'y a pas trop de pages, afficher ton classeur en mode sauts de pages, tout vérifier, et repousser les mauvais sauts à la main.
 
- la 3°: supprimer tous les sauts de pages avec cette formule:
 
                                  ActiveSheet.ResetAllPageBreaks    
 
puis définir une routine qui ajoute un saut toutes les x lignes sauf si :    activecell <> ""
 
et sans dépasser z lignes, sinon remonter à la ligne vide précédente pour mettre un saut.
 
etc.
 
 
Mettre un saut:
       ActiveSheet.HPageBreaks.Add before:=ActiveCell  (ou after)
   
 
Repousser le saut i     (qui peut prendre la valeur de i ds une boucle For i = 1 To zzz :
     
         Set ActiveSheet.HPageBreaks(i).Location = ActiveCell 'ou Range("A15" ), ou ailleurs
 
 
Voilà, joue avec ça, à moins que quelqu'un ne passe te donner une idée autre??
 
Bye

Message cité 1 fois
Message édité par Laoo le 27-01-2010 à 11:20:22
n°1960798
scaryfan
Apple Inside
Posté le 27-01-2010 à 11:25:13  profilanswer
 

Laoo a écrit :

Salut à toi, et à tous aussi
 
J'ai même 3 solutions, mais...
 
- la 1° serait de mettre tout ça dans Word, où le traitement des sauts de page par macro est bcp plus simple.  (et à mon sens la mise en page meilleure pour ce genre d'exercice...)
 
- la 2°: si il n'y a pas trop de pages, afficher ton classeur en mode sauts de pages, tout vérifier, et repousser les mauvais sauts à la main.
 
- la 3°: supprimer tous les sauts de pages avec cette formule:
 
                                  ActiveSheet.ResetAllPageBreaks    
 
puis définir une routine qui ajoute un saut toutes les x lignes sauf si :    activecell <> ""
 
et sans dépasser z lignes, sinon remonter à la ligne vide précédente pour mettre un saut.
 
etc.
 
 
Mettre un saut:
       ActiveSheet.HPageBreaks.Add before:=ActiveCell  (ou after)
   
 
Repousser le saut i     (qui peut prendre la valeur de i ds une boucle For i = 1 To zzz :
     
         Set ActiveSheet.HPageBreaks(i).Location = ActiveCell 'ou Range("A15" ), ou ailleurs
 
 
Voilà, joue avec ça, à moins que quelqu'un ne passe te donner une idée autre??
 
Bye


 
Merci de tes réponses !
 
Pour la première réponse, je te dit NON car je travaille sur un Excel distant utilisé via une application tierce... donc pas d'export possible vers Word.
Pour la deuxième réponse, OUI mais je souhaiterais que cette gestion des sauts de page soit automatique car le fichier Excel va être utilisé par un certain nombre de personnes.
Pour la troisième réponse, je pense effectivement créer une routine calculant la hauteur de chaque ligne et insérer un saut de page au moment où la somme de ces hauteurs dépasse le maximum... et marquer les parties avec des tableaux et ainsi insérer le saut de page juste avant...
 ;)  
 
En fait, je pensais qu'il existait une manière sous VBA de parcourir les lignes une à une et de déterminer s'il y a un saut de page...
;)


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Trouver les sauts de page

 

Sujets relatifs
Injecter/modifier du code HTML dans une page[PHP] Trouver le sha1 d'un .pkcs12, depuis une forme binaire.
Dreamweaver - retour haut de page intempestifPeut-on appeler un texte dans une page web ?
[Résolu] Faire apparaitre une page en surimpressionBalise vidéo dans une page xHTML ? + styler liste de mots clés
un flux RSS dans une page HTML, possible ?[php] vérifier qu'une page à bien été "include"
Ouvrir un menu qui contient un page html[Résolu] mise en page xsl
Plus de sujets relatifs à : Trouver les sauts de page


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)