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
| Sub Importer_les_données()
Dim Scell As String
Dim source As String
Dim cible As String
dossier = "C:\Bordereau de visites"
Sheets("Recherche").Select
date_visite = Range("E14")
Rep = Range("L1")
representant = Range("E1")
semaine_annee = "S" & Range("F1") & "_" & Range("G1")
monfichier = Dir(dossier & "\Bordereau_" & Rep & "_" & semaine_annee & ".xls")
fichier = (dossier & "\Bordereau_" & Rep & "_" & semaine_annee & ".xls")
Workbooks.Open Filename:=fichier 'le fichier avec les 5 onglets
'.....
source = ActiveWorkbook.Name 'qui est le fichier source
cible = ThisWorkbook.Name 'fichier cible , contenant le code
ThisWorkbook.Activate 'rend le fichier du code actif, si nécessaire
Scell = "A10"
For Each onglet In Workbooks(source).Sheets
With onglet
If IsEmpty(.Range(Scell)) Then
Else
.Range("A10:J30").Copy Destination:=Workbooks(cible).Worksheets("Bordereau de visites").Range("C" & Sheets("Bordereau de visites").Range("c65536").End(xlUp).Row + 1)
.Range("G5").Copy Destination:=Workbooks(cible).Worksheets("Bordereau de visites").Range("B" & Sheets("Bordereau de visites").Range("c65536").End(xlUp).Row)
Windows("Recherche_Bordereaux.xls").Activate
Sheets("Bordereau de visites").Select
Range("C8").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, -1).Select
Selection.Copy
ActiveCell.Offset(-1, 0).Select
valeur = ActiveCell.Value
If IsEmpty(valeur) Then
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Else
End If
End If
End With
Next
'force le fichier source à status sauvé et puis le ferme sans sauver
Workbooks(source).Saved = True
Workbooks(source).Close
End Sub |