Bonjour,
j'ai un tableau de 13 colonnes et 1200 lignes, ces dernières étant remplies jour après jour par l'utilisateur. Certaines cellules d'une ligne peuvent être vides. La seule colonne dont les cellules sont obligatoirement remplies et qui peut servir pour compter les lignes non vides est la colonne 3 ou "C".
Pour que l'utilisateur puisse imprimer le tableau jusqu'à la dernière ligne non vide, j'ai créé un bouton qui ouvre l'aperçu avant impression et essayé 2 piste :
la première en créant un nom 'zone_d_impression' avec la formule "=DECALER('mafeuille'!$A$2;;;NBVAL('mafeuille'!$C:$C);13)" et en donnant au bouton le code
Cela fonctionne bien mais dès que l'on touche à la mise en page, une nouvelle zone d'impression type "='mafeuille'!$A$2:$N$4" se crée et fout tout par terre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub CommandButton3_Click() Application.Dialogs(xlDialogPrintPreview).Show False End Sub
En furetant sur la toile, j'ai trouvé un code que j'ai adapté et attribué au bouton :
C'est simple mais avec un défaut : c'est que la colonne 13 ("M") sert à déterminer la dernière ligne non vide et les cellules de cette colonne ne sont pas forcément remplies.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub CommandButton3_Click() PageSetup.PrintArea = Range([A2], Columns(13).Find("*", , , , , xlPrevious)).Address 'Columns(13) me permet d'avoir le tableau dans son entièreté Application.Dialogs(xlDialogPrintPreview).Show False End Sub
Je cherche donc à l'améliorer pour prendre en référence de comptage des lignes non vides la colonne "C".
(je me suis essayé au Rows.count mais je me suis vite noyé dans des erreurs successives et insurmontables pour moi.
Si vous avez une piste pour m'aiguiller, je fonce
Merci
Partager