Bonjour,

J'ai les deux codes suivants:
Seul le premier me donne le résultat attendu:
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
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
If Target.Address = "$A$11" Then
    If Range("A11").Value <> "" Then
        Range("A103").Value = Range("A11").Value
    Else
        Range("A103").Value = "Néant"
    End If
Sheets("Liste Matériel").Range("AO1:AU996").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=Range("A102:G103"), CopyToRange:=Range( _
"I102:O103"), Unique:=False
Range("I103:O103").Select
Selection.Copy
Range("A11").Select
ActiveSheet.Paste
Range("I101:O103").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A11").Select
End If
 
If Target.Address = "$A$12" Then
    If Range("A12").Value <> "" Then
        Range("A103").Value = Range("A12").Value
    Else
        Range("A103").Value = "Néant"
    End If
 
Sheets("Liste Matériel").Range("AO1:AU996").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=Range("A102:G103"), CopyToRange:=Range( _
"I102:O103"), Unique:=False
 
Range("I103:O103").Select
Selection.Copy
Range("A12").Select
ActiveSheet.Paste
Range("I101:O103").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A12").Select
End If
Etant donné que je dois le répéter jusqu'à la cellule A99, je n'ai pas très envie de tout recopier et modifier pour chaque cellule.
J'ai donc tenté avec des "i" mais ca ne marche pas...
Quelqu'un saurait-il pourquoi?

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
48
49
50
 
Dim i As Integer
 
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
i = 11
    If Target.Address = "$A$" & i Then
        If Range("A" & i).Value <> "" Then
            Range("A103").Value = Range("A" & i).Value
        Else
            Range("A103").Value = "Néant"
        End If
 
    Sheets("Liste Matériel").Range("AO1:AU996").AdvancedFilter Action:= _
        xlFilterCopy, CriteriaRange:=Range("A102:G103"), CopyToRange:=Range( _
        "I102:O103"), Unique:=False
    Range("I103:O103").Select
    Selection.Copy
    Range("A" & i & ":G" & i).Select
    ActiveSheet.Paste
    Range("I101:O103").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A" & i & ":G" & i).Select
    End If
 
 
i = 12
    If Target.Address = "$A$" & i Then
        If Range("A" & i).Value <> "" Then
            Range("A103").Value = Range("A" & i).Value
        Else
            Range("A103").Value = "Néant"
        End If
 
    Sheets("Liste Matériel").Range("AO1:AU996").AdvancedFilter Action:= _
        xlFilterCopy, CriteriaRange:=Range("A102:G103"), CopyToRange:=Range( _
        "I102:O103"), Unique:=False
    Range("I103:O103").Select
    Selection.Copy
    Range("A" & i & ":G" & i).Select
    ActiveSheet.Paste
    Range("I101:O103").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A" & i & ":G" & i).Select
    End If
 
End Sub