Bonjour à tous,

Je souhaite copier les cellules d'une feuille dans une autre feuille en les multipliant par différentes valeurs selon des conditions If.

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
With shSource
        'Header
        shDest.[A1:B8].Value = .[A1:B8].Value
 
        'Cleaning
        shDest.[A14].CurrentRegion.Offset(2).ClearContents
        shDest.[A14].CurrentRegion.Offset(, 4).Resize(2).ClearContents
 
        'number of rows and columns
        nlin = .[A12].End(xlDown).Row - .[A12].Row
        ncol = .[A10].End(xlToRight).Column - .[A10].Column
 
        'Time
            If LoggerParamChoiceTrends.UnitBox.Text = "s" Then
                If .[A11].Value = "[s]" Then
                    shDest.[B14].Resize(nlin).Value = .[A12].Resize(nlin).Value
                ElseIf .[A11].Value = "[h]" Then
                    shDest.[B14].Resize(nlin).Value = .[A12].Resize(nlin).Value / 3600
                ElseIf .[A11].Value = "[d]" Then
                    shDest.[B14].Resize(nlin).Value = .[A12].Resize(nlin).Value / (3600 * 24)
                End If
 
            ElseIf LoggerParamChoiceTrends.UnitBox.Text = "h" Then
                If .[A11].Value = "[s]" Then
                    shDest.[B14].Resize(nlin).Value = Round(.[A12].Resize(nlin).Value * 3600, 2)
                ElseIf .[A11].Value = "[h]" Then
                    shDest.[B14].Resize(nlin).Value = .[A12].Resize(nlin).Value
                ElseIf .[A11].Value = "[d]" Then
                    shDest.[B14].Resize(nlin).Value = .[A12].Resize(nlin).Value / 24
                End If
 
            ElseIf LoggerParamChoiceTrends.UnitBox.Text = "d" Then
                If .[A11].Value = "[s]" Then
                    shDest.[B14].Resize(nlin).Value = .[A12].Resize(nlin).Value * 24 * 3600
                ElseIf .[A11].Value = "[h]" Then
                    shDest.[B14].Resize(nlin).Value = .[A12].Resize(nlin).Value * 24
                ElseIf .[A11].Value = "[d]" Then
                    shDest.[B14].Resize(nlin).Value = .[A12].Resize(nlin).Value
                End If
 
            End If
 
End With
Cette erreur s'affiche:

Nom : Capture.PNG
Affichages : 146
Taille : 3,7 Ko

Quelle est la bonne syntaxe ?