OVH Cloud OVH Cloud

Requête pour importation de données sous Excel

2 réponses
Avatar
gitm
Bonsoir tout le monde. ;-)

J'ai un petit souci avec une application que j'ai crée sous Excel (une base
données) et j'espère que vous pourrez m'aider à le résoudre.
Je dois récupérer quotidiennement des données sur un site Web, mais pour
accéder à ce site, je dois entrer un identifiant et un mot de passe (que je
connais, bien sûr, puisque ce sont les miens). J'ai donc créé une requête
pour importer ces données automatiquement à l'ouverture de mon fichier, mais
lors de la première actualisation, ça ne fonctionne pas à cause des
identifiants. Je suis donc obligé de modifier manuellement la première
requête où je rentre mon identifiant et mon mot de passe moi-même et
ensuite, l'actualisation automatique fonctionne toute seule.
Existe t-il un moyen d'incorporer cet identifiant et ce mot de passe dans la
première requête pour ne plus avoir à le faire manuellement, peut-être en
passant par une instruction en VB, je ne sais pas trop.
Voilà, j'espère avoir été clair et vous remercie par avance des solutions
que vous pourriez m'apporter.

Bonne soirée, enfin vu l'heure, plutôt bonne nuit à tous.

gitm
;-)

2 réponses

Avatar
Papy Jean
Bonjour !

Ayant eu à résoudre le problème inverse = envoyer des données dans un site
Web, je t'envoie une copie de la macro.
Certes, ce n'est pas ta question, mais peut-être cela t'aidera-t-il ?
En tout cas, les références sont utiles.

Sub ftp()
'transfère des fichiers du disque local vers un serveur ftp (upload, mode
passif)
' 27/08/04 Cette macro est extraite par J. Duprat du cours de J. Chaussard
' http://jacxl.free.fr/cours_xl/cours_xl_jac.html#transfert_ftp
' m'a de plus aidé à mettre au point, la difficulté étant de trouver les
bons paramètres.

Dim MESS0 As String, MESS1 As String, Présence As Boolean
Dim Menu As String, DecalM As Integer
Dim LigneDeb As Integer, LigneFin As Integer, Ligne As Integer
Dim Nombre As Integer ' nombre de fichiers
Dim Fichier As String, Attente As String, Complet As String
Dim ViderAEnvoyer As String
'PARAMETRES************************
Dim serveur As String
login = "vdastree"
mot_passe = "xxxxxx"
rép = "/www.XXXX.com/"
serveur = "www.XXX.com"
bin_asc = &H2 '(&H1 ascii, &H2 binaire)
Mode = &H8000000 '(&H8000000 mode passif, 0 mode actif)
'**********************************

' 1) Valeurs initiales
AERR = "1.0" ': On Error GoTo NIVERR9
Const NoProg = 14: Call LigneMenu(NoProg, DecalM, MESS0, Menu)
Const Fait = "Transmis"
Sheets("Paramètres").Select

' rappel DecalDIV et DecalREP en public
CheminRacine = Cells(DecalREP, 3)
ChDrive (CheminRacine): ChDir (CheminRacine)
ViderAEnvoyer = Cells(DecalDIV + 4)

Sheets("Book").Select
LigneDeb = Cells(1, 9)
LigneFin = Range("C65000").End(xlUp).Offset(1, 0).Row
If LigneFin < LigneDeb Then MESS1 = "Rien à faire": GoTo NIVERR1

'1-2) lancer le transfert
internet_ok = InternetOpen("PutFtpFile", 1, "", "", 0)
If internet_ok = 0 Then
MESS1 = "connection internet impossible": GoTo NIVERR1
End If
'ftp_ok = InternetConnect(internet_ok, "ftpperso.free.fr", 21, login,
mot_passe, 1, mode, 0)
ftp_ok = InternetConnect(internet_ok, serveur, 21, login, mot_passe, 1,
Mode, 0)
If ftp_ok = 0 Then
MESS1 = "connection impossible": GoTo NIVERR1
End If
sélect_rép = FtpSetCurrentDirectory(ftp_ok, rép)
If sélect_rép = 0 Then
MESS1 = "impossible de trouver le répertoire ": GoTo NIVERR1
End If
.................................................
Cordialement
Papy Jean

"gitm" <pjoel(à enlever)@hotmail.fr> a écrit dans le message de news:
447630be$0$29223$
Bonsoir tout le monde. ;-)

J'ai un petit souci avec une application que j'ai crée sous Excel (une
base données) et j'espère que vous pourrez m'aider à le résoudre.
Je dois récupérer quotidiennement des données sur un site Web, mais pour
accéder à ce site, je dois entrer un identifiant et un mot de passe (que
je connais, bien sûr, puisque ce sont les miens). J'ai donc créé une
requête pour importer ces données automatiquement à l'ouverture de mon
fichier, mais lors de la première actualisation, ça ne fonctionne pas à
cause des identifiants. Je suis donc obligé de modifier manuellement la
première requête où je rentre mon identifiant et mon mot de passe moi-même
et ensuite, l'actualisation automatique fonctionne toute seule.
Existe t-il un moyen d'incorporer cet identifiant et ce mot de passe dans
la première requête pour ne plus avoir à le faire manuellement, peut-être
en passant par une instruction en VB, je ne sais pas trop.
Voilà, j'espère avoir été clair et vous remercie par avance des solutions
que vous pourriez m'apporter.

Bonne soirée, enfin vu l'heure, plutôt bonne nuit à tous.

gitm
;-)



Avatar
gitm
Bonsoir.

Merci pour ta réponse. ;-)
Tu m'as effectivement aiguillé sur quelques pistes intéressantes que je vais
explorer de ce pas.
Un grand merci pour ton aide.

A bientôt.
gitm
;-)