Bonjour tout le monde,
Débutante en VBA, je rencontre quelques difficultés dans mon code... En gros, dans mon tableau, dans la colonne E, j'ai une suite de lettre qui va de A à H, puis il y a des cellules vides, et enfin des cellules avec des calculs de poucentage. J'ai fais une macro qui permet de créer des feuilles pour chaque lettre mais la macro continue avec la cellule vide qui suit la cellule H.
Je cherche donc un Code qui me permet de créer des feuilles seulement quand une lettre est renseignée.
Voici mon Code VBA :
De plus, j'aimerais si possible, que dans mon tableau il y ait une ligne vide entre chaque lettre, sans pour autant que cela arrête la macro. Est-ce possible? Si oui comment?
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
32 Option Explicit Public C As Long Public L As Long Sub Cree_Feuilles() Dim i As Integer Dim Feuille As Worksheet Worksheets("CIRC CLT").Select L = Lastligne(1048576, 1) C = lLastCol(1, 16384) For i = 14 To L + 2 If Not SheetExists(Worksheets("CIRC CLT").Cells(i, 5).Value) Then Set Feuille = Worksheets("Base") Worksheets("Base").Range("A1:E49").Copy Worksheets("CIRC CLT").Select Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = Worksheets("CIRC CLT").Cells(i, 5).Value ActiveSheet.Paste Application.CutCopyMode = False Cells(1, 5) = (Worksheets("CIRC CLT").Cells(i, 5).Value) Columns("A:A").ColumnWidth = 17.57 Columns("B:B").ColumnWidth = 14.14 Columns("C:C").ColumnWidth = 36.71 Columns("D").ColumnWidth = 17.86 Columns("E:E").ColumnWidth = 17.86 End If Next i End Sub
Merci d'avance pour vos réponses.
Partager