Bonjour,
suite à un thread précédent, j'ai modifié un bout de code pour le rendre plus simple.
Et maintenant j'ai systématiquement une erreur '1004' à la neuvième itération dans ma boucle initiale.
et si dans mon onglet source "Livrables" je change le contenu ou que je supprime la ligne que je n'arrive pas à recopier, j'ai le même problème
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 'Automatic generation of indicators when worksheet is activated Private Sub Worksheet_Activate() Dim iLine As Integer Dim iCol As Integer Dim bEnd As Boolean Dim iDestLine As Integer Dim csFormula As String Dim Value As Variant 'Copy all necessary information iDestLine = 2 iLine = 6 iCol = 5 bEnd = False Do If IsEmpty(Worksheets("Livrables").Cells(iLine, iCol).Value) Then bEnd = True Else 'Data copy 'Value = Worksheets("Livrables").Cells(iLine, 5).Value 'Worksheets("Indicateurs").Range("A" & Chr(iDestLine + 48)).ClearCOntent 'Ligne qui pose problème ci dessous Worksheets("Indicateurs").Range("A" & Chr(iDestLine + 48)).Value = Worksheets("Livrables").Cells(iLine, 5).Value Worksheets("Indicateurs").Range("B" & Chr(iDestLine + 48)).Value = Worksheets("Livrables").Cells(iLine, 6).Value Worksheets("Indicateurs").Range("C" & Chr(iDestLine + 48)).Value = Worksheets("Livrables").Cells(iLine, 8).Value csFormula = "=NB.SI(Zone_Bimestre;A" + Chr(iDestLine + 48) + ")" Worksheets("Indicateurs").Range("D" & Chr(iDestLine + 48)).FormulaLocal = csFormula iDestLine = iDestLine + 1 iLine = iLine + 1 End If ' to avoid infinite loop If iLine > 65535 Then Exit Do End If Loop While bEnd = False 'redefine the enter zone 'ActiveWorkbook.Names("Data_Zone").Delete 'ActiveWorkbook.Names.Add Name:=reponse, RefersToR1C1:=ActiveCell.EntireColumn.Select End Sub
Merci d'avance pour votre aide
Partager