Bonjour,
Petit souci pour insérer ma formule, pourtant après avoir regardé sur le forum j'utilise formulalocal mais toujours le bug
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Sub essai()
 
 
'
' essai Macro
'
' Keyboard Shortcut:
'
'
Dim wkbSource As Workbook, wkbdestination As Workbook
Dim NouvelleFeuille As Worksheet
Dim Fichier As String, Chemin As String
Dim Plage As Variant, Plage1 As Variant
Dim Ligne As Long
Dim C As Range, Plg As Range
Dim i As Integer
'
'
' ouverture fichier
'
Chemin = "G:\Users\"
    ChDrive "G"
    ChDir Chemin
    Fichier = Application.GetOpenFilename()  'on peut ajouter un filtre pour n'avoir que les types de fichiers voulus
 
    If Fichier = "Faux" Then Exit Sub
Set wkbSource = Workbooks.Open(Fichier)
'
'Renommer la feuille
'
ActiveSheet.Name = "miseajour"
'
'
'Positionner le pointeur sur la première cellule vide
'
Range("B1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("B1").Select
LIGNEFIN = ActiveCell(1, 0).Address()
FIN = Range(LIGNEFIN).Row
'
'
'
'
'
'
'
'Selection des colonnes de donnees
'
    With Sheets("miseajour")
        .Columns("M:O").Delete
        .Columns("I:K").Delete
        .Columns("E:G").Delete
        .Columns("C:C").Delete
        .Range("C:C").Cut Range("K1")
        .Range("D:D").Copy Range("L1")
        .Columns("C:C").Delete
            '
            'Mettre les formules 
            '
            For i = 2 To Sheets("miseajour").Range("C65536").End(xlUp).Row 'trouve la derniere ligne de la colonne" C" en partant d'en bas
                If Sheets("miseajour").Cells(i, 3).Value <> "" Then  'si C n'est pas vide alors
                  Range("C2").FormulaLocal = "=SI(J2="";K2;J2"
                  Range("C2").Copy
                  Range("C3:C" & i).Select
                  Selection.PasteSpecial
                End If
            Next
    End With
'
'
'
'
' Selectionner la zone
'
LIGNEFIN = ActiveCell.Row
Range("A1" & ":N" & LIGNEFIN).Select
'
' ouverture fichier destination
'
Merci d'avance pour votre aide