Option Explicit
Sub importDonnees()
Dim principal As ThisWorkbook
Dim repertoire As String, fichier As String
Dim NbLignes As Integer
Dim isrc As Long
Dim idest As Long
Application.ScreenUpdating = False
' efface les données présentes dans "récupération"
Sheets("recuperation").Rows("2:10000").ClearContents '
Set principal = ThisWorkbook
repertoire = ThisWorkbook.Path
ChDir repertoire
fichier = Dir("*.xls") 'cherches les fichier .xls dans le meme répertoire que le fichier actuel
Do While fichier <> ""
If fichier <> principal.Name Then
Workbooks.Open fichier
On Error GoTo suivant
Sheets("Relevé").Visible = True
With Sheets("Relevé")
On Error GoTo 0
On Error Resume Next
' """TEST"""
'.[A:A].Insert Shift:=xlToRight
'.Range("A2:A" & .[b65536].End(xlUp).Row) = Left(fichier, Len(fichier) - 4)
'.UsedRange.EntireRow.Copy Destination:=principal.Sheets(1).[a65536].End(xlUp).Offset(1)
' Poteau orange
Range("A70").FormulaR1C1 = "POTEAU_EXISTANT_ORANGE"
' Copier le nom = N°d appui
Range("C70") = Range("A7").Text
' Ligne ou on récupere toutes les infos
idest = 70
' Récuperer le type de poteau
For isrc = 7 To 13
If Range("B" & isrc).Font.Bold = True Then Range("D" & idest).Value = "POTEAU" & " " & Range("B" & isrc).Value
' Recuperer la hauteur du poteau
If Range("C" & isrc).Font.Bold = True Then Range("F" & idest).Value = Range("C" & isrc).Value
Next isrc
'Code postale et ville
Range("J70") = Range("E3").Text
'Adresse
Range("K70") = Range("E2").Text
'copier la longitude
Range("T70") = Range("G2")
' Copier la latiture
Range("S70") = Range("G3")
'Date de creation ptx
Range("X70") = Range("H2:H3").Text
Selection.Copy
Range("A70:Z70").Copy Destination:=principal.Sheets(1).Range("A" & principal.Sheets(1).UsedRange.Rows.Count + 1)
End With
Sheets("Relevé").Visible = False
ActiveWorkbook.Close False
End If
suivant:
If err.Number = 9 Then MsgBox "Pas de feuille ""synth"" dans le fichier " & fichier, vbExclamation: ActiveWorkbook.Close False
fichier = Dir
Loop
Application.ScreenUpdating = True
End Sub