| 12
 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
 
 | Option Explicit
Public chemin As String
Public monraster_2 As String
Public chaine_gdalinfo As String
Public T As Double
Public L_Y As Variant
Public Function RoundUp(ByVal vvaleur As Variant, Optional ByVal iNbDecimal As Integer) As Variant
   If Abs(iNbDecimal) < 5 Then RoundUp = -Int(-vvaleur * 10 ^ iNbDecimal) / 10 ^ iNbDecimal
End Function
Public Sub batch()
Dim Coordxmin As Long
Dim I As Long
Dim J As Long
Dim I2 As Long
Dim J2 As Long
Dim Pas As Long
Dim Pas_Y As Long
Dim Pas2 As Long
Dim Pas3 As Long
Dim CoordXvalid As Long
Dim CoordYvalid As Long
Dim Coordxmax As Long
Dim Coordymin As Long
Dim Coordymax As Long
Dim Gdalcy2 As Long
Dim Gdalcy1 As Long
Dim Gdalcx1 As Long
Dim Gdalcx2 As Long
Dim X As Integer
Dim Y As Integer
Dim T As Double
Dim L As Variant
Dim L_Y As Variant
Dim dossier As Object, Rep As Object
Dim chemin As String
Dim MonBatch As String
Dim Monbacth_info As String
Dim bat As String
Dim monraster_src As Object
Dim objFichier As Object
Dim objAppli As Object
Dim descrFichier As String
Dim monraster As String
Dim monraster_2 As String
Dim chaine_gdalinfo As String
Dim NomFic As String, Chaine As String, Chaine2 As String, Chaine3 As String, chaine4 As String
Dim bat_sans_bat As String
Dim nom_dossier As String
Dim nom_dossier_txt As String
Dim gdal_acces As String
Dim gdal As String
Dim metadonnees As String
Dim laligne
Dim position_pixel As Long
Dim newHour As Variant
Dim newMinute As Variant
Dim newSecond As Variant
Dim waitTime As Variant
'fonction GDAL
Const Gdalinfo As String = "gdalinfo"
'taille du pixel en mètre fournit par GDALINFO
Const Gdal_translate As String = "gdal_translate -of GTiff -srcwin "
'coordo en pixel des coins nord ouest et sud est
Coordxmin = Range("A2")
Coordxmax = Range("B2")
Coordymin = Range("C2")
Coordymax = Range("D2")
'pas terrain que l'on souhaite avoir pour découpage en mètre
L = Range("E2")
L_Y = Range("F2")
I = 0
J = 0
'Initialisation des paramètres, pour de compléter le fichier batch
'Active l'appli shell pour lancer l'ouverture du répertoire
Set dossier = CreateObject("Shell.Application")
    
'Ouvre la boîte de dialogue "sélection d'un répertoire"
    Set Rep = dossier.BrowseForFolder(&H0&, "Sélectionner un répertoire", &H1&)
    
'Si le chemin est vide, alors prend le chemin que l'on donne
    If Not Rep Is Nothing Then
        
        Set Rep = Rep.items.Item
        chemin = Rep.Path
              
    End If
    
'saisir le nom du fichier batch que l'on va mettre dans le répertoire choisit précédemment
   MonBatch = InputBox("Saisir le nom du Fichier batch TRANSLATE")
   
Monbacth_info = InputBox("saisir le nom du batch pour GDALINFO")
   
'concatenation du chemin d'accès
  bat = chemin & "\" & MonBatch
'retire au chemin d'accès l'extention du fichier .bat
 bat_sans_bat = Left(bat, Len(bat) - 4)
  
'Active l'appli shell pour lancer l'ouverture du répertoire source des données raster
Set monraster_src = CreateObject("Shell.Application")
'Ouverture de la boîte de dialogue pour sélectionner le fichier voulu
Set objFichier = monraster_src.BrowseForFolder(&H0&, "Veuillez indiquer le chemin d'accès au fichier " & descrFichier & " à importer", &H4000&)
 
monraster = chemin & "\" & objFichier
monraster_2 = chemin & "\" & Monbacth_info
gdal = "C:\soft\FWTOOL~1.2\bin"
    Open monraster_2 For Output As #1
    
        gdal_acces = "cd" & " " & gdal
        chaine_gdalinfo = Gdalinfo & " " & monraster & " " & ">" & " " & monraster & ".txt"
        Print #1, gdal_acces
        Print #1, chaine_gdalinfo
   
    Close #1 | 
Partager