Bonjour à toutes et à tous,
étant débutant en VBA, on m'a conseillé de réaliser une petite macro de changement de devise que voici :
Sub essai()
'Activation de la feuille "tableau"
Dim wb As Workbook
Dim data As Worksheet
Dim tbl As Worksheet
Set wb = ThisWorkbook
Set data = wb.Sheets("data http")
Set tbl = wb.Sheets("tableau")
' définition de AMT = montant à transformer
Dim MONTANT As Currency
' définition de DDB = devise de base
Dim DEVISEDEBASE As String
' définition de DDS = devise de sortie
Dim DEVISEDESORTIE As String
Dim lien As String
Dim NBRCARAC As Currency
' donner la valeur de B2
MONTANT = tbl.Range("B2")
' donner la valeur de C2
DEVISEDEBASE = tbl.Range("C2")
'donner la valeur de D2
DEVISEDESORTIE = tbl.Range("D2")
lien = "http://www.xe.com/fr/currencyconverter/convert/?Amount="
lien = lien & MONTANT & "&From=" & DEVISEDEBASE & "&To=" & DEVISEDESORTIE
'MsgBox (lien)
data.Range("A1:F250").Clear
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;lien" _
, Destination:=Range("$A$33"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
With tbl.Range("A33:F250").Cut(data.Range("A1"))
End With
With tbl.Columns("A:F").Select
Selection.ColumnWidth = 16
End With
With data.Range("A1:F250")
Set c = .Find(What:="" & MONTANT & " " & DEVISEDEBASE & " =")
If Not c Is Nothing Then
tbl.Range("E2") = c
End If
End With
End Sub
Pour expliquer sommairement la macro, il faut rentrer un montant à changer, une devise d'entrée et une devise de sortie, avec un URL dynamique en fonction des paramètres
Mais lorsque j’exécute la macro une "Erreur d’exécution '1004' : l'adresse de ce site n'est pas valide.." apparaît, et c'est la ligne ".Refresh BackgroundQuery:=False" qui semble poser problème,
pourtant j'ai vérifié le lien qui coïncide avec le lien que me donnerais le site internet..
Tournant en rond depuis quelques jours, je m'adresse à vous dans l'espoir d'être aidé..
Merci d'avance