Bonjour,
Je souhaite votre aide car j'ai commencé à travailler sur une version tout seul.
Mon problème : mon document ne se met à jour qu'une fois et c'est normal et s'enregistre normalement.
Cependant je voudrais saisir plusieurs fiche dans ma feuille 'info' et que cela m'enregistre plusieurs fois le documents avec les nouvelles infos.
Je cherche une solution avec une boucle mais j'ai du mal. Sachant que mon code actuel n'est pas très "clean".
Comment faire ?
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
Option Explicit
Sub Macro7()
'
' Macro7 Macro
'
 
'Remplissage des colonnes'
 
    Sheets("info").Select
    Range("Lot").Select
    Selection.Copy
    Sheets("Notification").Select
    Range("F6:Y6").Select
    ActiveSheet.Paste
 
    Sheets("info").Select
    Range("FN").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("AC6:AJ6").Select
    ActiveSheet.Paste
 
    Sheets("info").Select
    Range("num_controle").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("H7:AJ7").Select
    ActiveSheet.Paste
 
    Sheets("info").Select
    Range("ref").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("K8:AJ8").Select
    ActiveSheet.Paste
 
    Sheets("info").Select
    Range("lieu").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("D11").Select
    ActiveSheet.Paste
 
    Sheets("info").Select
    Range("date").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("U11:AE11").Select
    ActiveSheet.Paste
 
     Sheets("info").Select
    Range("heure").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("AH11").Select
    ActiveSheet.Paste
 
     Sheets("info").Select
    Range("nom").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("F12").Select
    ActiveSheet.Paste
 
     Sheets("info").Select
    Range("telephone").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("S12").Select
    ActiveSheet.Paste
 
     Sheets("info").Select
    Range("operation").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("B14").Select
    ActiveSheet.Paste
 
     Sheets("info").Select
    Range("controle").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("B17").Select
    ActiveSheet.Paste
 
    Sheets("info").Select
    Range("nom_moet").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("D19").Select
    ActiveSheet.Paste
 
    Sheets("info").Select
    Range("fonction_moet").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("N19").Select
    ActiveSheet.Paste
 
    Sheets("info").Select
    Range("date_moet").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Notification").Select
    Range("W19").Select
    ActiveSheet.Paste
 
    'Check Box'
    'Sheets("info").Select
   ' If ActiveSheet.Shapes.Range(Array("Point_Critique")).Value = True Then
   ' Range("F11").Select
    'ActiveCell.FormulaR1C1 = "=1"
    'End If
    If Worksheets("info").Range("N7").Value = "1" Then
    Worksheets("Notification").Range("Y15").Value = "1"
    ElseIf Worksheets("info").Range("N7").Value = "2" Then
    Worksheets("Notification").Range("Y15").Value = "2"
 
    End If
 
    'Enregistrement fichier en xls'
 
    Dim ChDir As String
    Dim NomFichier As String
    Dim NomDossier As String
    Dim NomCompletFichier As String
    Dim NomPersonne As String
    Dim Numero As String
 
    'Chemin courant'
    ChDir = Application.ActiveWorkbook.Path & "\Fiche_Notification"
 
    NomFichier = "Fiche de Notification"
    Numero = Worksheets("info").Range("B4").Value
    NomFichier = NomFichier & "_" & Numero
    'Ligne définitive :
    'NomCompletFichier = ChDir & "\" & NomFichier
 
    'Pour les tests, on ajoute l'heure au nom de fichier ; ainsi, il n'y a pas de doublon de noms
    Dim stHeureExport As String
    stHeureExport = "_" & _
    Format(Hour(Time), "00") & "-" & Format(Minute(Time), "00") & "-" & _
    Format(Second(Time), "00")
    NomCompletFichier = ChDir & "\" & NomFichier & stHeureExport
 
    'Création Dossier si il n'est pas présent'
    NomDossier = Application.ActiveWorkbook.Path & "\Fiche_Notification"
    If Dir(NomDossier, vbDirectory) = "" Then MkDir NomDossier
 
    'Copie de la feuille courante dans un nouveau classeur et enregistrement'
    'XLS'
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs Filename:=NomCompletFichier
 
    'PDF'
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomCompletFichier & ".pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=False
 
    ActiveWorkbook.Close
 
    'Boite texte'
    MsgBox "Le fichier a été enregistré sous le nom : " & vbCrLf & NomCompletFichier & vbCrLf
 
End Sub
Merci d'avance,
Cordialement,
Pdewas