XL 2016 VBA-Mise en page automatique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Vero2782

XLDnaute Nouveau
Bonjour,

J'aimerais faire une mise en page automatique a un onglet de mon fichier.

J'ai un tableau croisé (avec des sous-totaux) et je voudrais qu'à chaque fois que je rencontre le mot Total* que cette ligne soit la dernière de la feuille. Comme cela, j'aurais 1 page par client et ce serait plus agréable a travailler une fois imprimé.

Merci pour votre aide
 

Pièces jointes

Bonjour Philippe,

Ton code fonctionne no 1 s'il s'agit de trouver Total en 5ème position. malheureusement, dans mon cas, ce n'est pas toujours le cas car il s'agit en fait du nom du client qui fait des longueur de caractère différent.

With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$8"
End With
ActiveSheet.ResetAllPageBreaks

For i = Range("A65535").End(xlUp).Row To 1 Step -1
If Left(Cells(i, 1), 5) = "Total" Then ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(i + 1, 1)
Next i


Je vais modifier la ligne Left(Cells(i, 1), 5) = "Total" pour quelque chose de plus "général" qui pourrait trouver le mot total peu importe le nombre de lettre avant.

If Range(Cells(i, 1)).Value Like "*Total*" ne fonctionne pas non plus... :S

Véro
 
Dernière édition:
Bonjour !

Ha ! Je me suis rendue compte que mon "total" était dans la forme anglaise (donc à la fin du texte) plutôt qu'au début 🙂 Ça fonctionne Super avec un petit right plutôt que le left !

If Right(Cells(i, 1), 5) = "Total"

(1 heure après mon dernier post....) !

Merci beaucoup, c'est exactement ce que je voulais.

Véro
 
Re,

Bonjour !

Ha ! Je me suis rendue compte que mon "total" était dans la forme anglaise (donc à la fin du texte) plutôt qu'au début 🙂 Ça fonctionne Super avec un petit right plutôt que le left !

If Right(Cells(i, 1), 5) = "Total"

(1 heure après mon dernier post....) !

Merci beaucoup, c'est exactement ce que je voulais.

Véro

Je m'en suis rendu compte également, à l'ouverture de ton fichier, le mot "Total" était à droite et après avoir actualisé le TCD il se trouvait à gauche
Pour info, j'utilise la version 2007


à+
Philippe
 
Re,

If Range(Cells(i, 1)).Value Like "*Total*" ne fonctionne pas non plus...

........... ça aurait pu fonctionner mais la ligne est incomplète


ceci fonctionne quelque soit la position du mot "Total"
Code:
For i = Range("A65535").End(xlUp).Row To 1 Step -1
If Cells(i, 1).Value Like "*Total*" = True Then ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(i + 1, 1)
Next i

à+
Philippe
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
163
  • Question Question
Microsoft 365 valeurs de cellules
Réponses
7
Affichages
556
Retour