Salut tout le monde,
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager