1 pièce(s) jointe(s)
Comment imprimer un grand tableau excel?
Salut tout le monde,:D
J’ai un grand tableau que je génère grâce à des macros, une centaine de colonne et plus que 300 lignes.
Je me focalise dans un premier temps sur la partie des 3 premières colonnes.
Si vous consultez le tableau ci-joint, vous verrez que pour chaque activité correspond une panoplie de sous activités et sous sous activités.
Pour avoir une idée plus précise de ce que je veux faire voir le tableau Excel joint, et voir dans le Insertion/Nom/définir vous verrez alors les noms que j’ai définis pour chaque groupe.
Je souhaite en effet automatiser cela, car mon tableau change régulièrement.
Je souhaite définir un nom sur Excel pour chaque Activité (on inclus aussi ses sous activités dans la séléction)
Pour cela J’ai le code suivant mais je ne sais pas quoi faire pour créer un nom pour chaque activité et ses sous activités (je fais cela pour copier dans un deuxième temps ce bloc dans une autre feuille et l’imprimer)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Sub CréationBlocImpression()
Dim i As Integer
Dim imax As Integer
Dim act As String
Dim currStartLine As Integer
Dim currLastLine As Integer
Dim mysheet As Worksheet
Set mysheet = Sheets("sheet1")
mysheet.Select
imax = mysheet.Range("D65536").End(xlUp).Row
currStartLine = 4
currLastLine = 4
While currLastLine < imax
currLastLine = Application.WorksheetFunction.Min(mysheet.Range("A" & currStartLine).End(xlDown).Row - 1, imax)
Range(Cells(currStartLine, 1), Cells(currLastLine, 3)).Select
'Jai un problème au niveau de la ligne de code qui suit
ActiveWorkbook.Names.Add Name:="METIER"
currStartLine = currLastLine + 2
Wend
Set mysheet = Nothing
End Sub |
Voir la ligne après le commentaire dans le code.
PS : le tableau ne représente qu’un exemple mon vrai tableau est largement plus grand d’où l’intérêt de la manipe ( dans l'exemple je n'ai pris qu'une petite partie des 3 premières colonnes sans prendre la première ligne ni le contenu du tableau).
Ce que je souhaite coder est :
Dès que l’on trouve une cells(i,1) non vide alors stocker son nom et séléctionner les 3 colonnes A,B,C jusqu’au niveau de la dernière cells(i,1) vide (juste avant l’activité d’après).
Le nom stocké sera celui qu’on définira comme nom pour la sélection.
Merci à tout ceux qui vont prendre de leurs temps pour participer a cette discussion