geoslim
Messages postés18Date d'inscriptionjeudi 20 avril 2006StatutMembreDernière intervention 3 juillet 2015
-
3 juil. 2015 à 11:18
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
3 juil. 2015 à 19:12
Bonjour,
j'ai recuperé sur le net des bouts de codes permettant de faire du upload ftp en fonction de la session utilisateur connecté
le code fonctionne parfaitement si je l'execute dans un fichier .vbs
mais par contre, lorsque je l'integre dans un projet excel dans "Private Sub Workbook_Open()" ou dans une macro, celui ci m'indique une "erreur de compilation" suivi de "declaration existante dans la portée en cours"
etant novice en vb, pouvez vous m'aider à corriger ce probleme??
merci
ci dessous le code en entier
'*** Déclaration des variables d'environnement Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Dim dossier : dossier = "FTP" Dim repSOURCE : repSOURCE = "c:\" Dim repDESTINATION : repDESTINATION = "c:\" Dim repVERIF : repVERIF = repDESTINATION & dossier
'*** On met une condition pour vérifier l'existance du dossier contenu dans la variable "repVERIF". If fso.FolderExists(repVERIF) Then ' wscript.echo " [ ] Le dossier est déjà présent!!!" ' Else '*** Si le répertoire n'existe pas, celui-ci sera crée. fso.CreateFolder(repDESTINATION & dossier) 'wscript.echo " [OK] Le dossier " & repDESTINATION & dossier & " à été créer."' End If
'*** Destruction des objets Set fso = Nothing
'*** recuperation du user en session en cours
Set net = WScript.CreateObject("WScript.Network") Dim nameUSER
nameUSER = net.username
'*** execution du FTP
Dim FSO, File Set FSO = CreateObject("Scripting.FileSystemObject") Set File = FSO.OpenTextFile("c:\FTP\temp.txt", 2, True)
Whismeril
Messages postés19141Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention30 août 2024660 3 juil. 2015 à 11:44
Bonjour le message d'erreur veut dire qu'il y a déjà au moins une variable portant le même nom que l'une ou l'autre de ce code.
Afin de mieux cibler, il faudrait préciser à quelle ligne apparait l'erreur.
Aussi la prochaine fois faire attention de poster dans le forum VB.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 3 juil. 2015 à 11:49
Bonjour,
Quelle est la ligne d'erreur ?
Celle-ci, peut-être :
Dim FSO, File
en ligne 32 ?
Prend l'habitude de déclarer tes variables une fois pour toutes en début de procédure
Pourquoi, par ailleurs instancier fso, puis le détruire, puis l'instancier à nouveau ?
Il n'est pas toujours bon, ni astucieux, de "ramasser" des bouts de code sur le net et les assembler.
Ce que tu as ainsi ramassé utilise (de manière onéreuse) fso alors que VBA t'offre du beaucoup plus léger (Open, à bûcher ..) pour écrire dans un fichier texte.
Je t'informe au passage que ton code ne marcherait pas sur ma machine, sur laquelle, à l'instar de quelques autres prudents, VBS est inhibé (pour raisons de sécurité). Raison de plus (surtout si tu dois déployer ton appli) pour rester avec VBA.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 Modifié par ucfoutu le 3/07/2015 à 11:58
Ouvre (surtout si tu es débutant) ton aide VBA aux rubriques :
- Open, instruction ===>> Lis
- Print #, instruction, exemple ===>>> tu y as ta solution sans ce vilain fso !
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 Modifié par ucfoutu le 3/07/2015 à 13:15
Les "âmes charitables" (dont moi-même) ne reviendront ici que lorsque, après avoir ouvert ton aide VBA sur les rubriques que je t'ai signalées, tu continues à rencontrer une difficulté (ce qui serait étonnant) et que tu montreras ce que tu auras écrit sur ces bases.
Désolé de me montrer sévère (si peu), mais ce sera ainsi, en ce qui me concerne (telle est ma religion de développeur sur ce site de développeurs)
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 Modifié par ucfoutu le 3/07/2015 à 17:44
1) C'est vraiment désolant, voire inquiétant !
ton erreur n'est pas dans l'écriture du fichier (encore que j'observe qu'il n'est pas défini par un chemin complet !!!)
et j'ai une erreur execution '424' objet requis
je n'y comprend rien
2) et c'est la seconde fois que tu viens avec "j'ai une erreur" sans indiquer à quelle ligne ! (l'observation t'en a pourtant été déjà faite, non ???). Il nous faut deviner et perdre encore du temps ?
(Je n'aime pas perdre le mien du fait de la négligence d'autrui).
Je parie que ton erreur surgit à la ligne 19. Elle est évidente, mais je vais te laisser réfléchir un minimum (je ne vois pas comment on peut envisager de sortir d'une maison dans laquelle on n'est jamais rentré, voire qui n'existe pas).
Moi, je te laisse là (il fait chaud et je vais éviter de m'énerver).
J'attendrai que ton niveau de développeur (quel que soit le langage de développement) devienne au moins celui d'un débutant
Bonne chance
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 3 juil. 2015 à 19:12
Et à ce stade, je n'ose même pas parler du suivant :
ce qu'est la chaîne :
"ftp -n -i -s:* & FICHIERFTP & &"
et ce qu'elle donnerait, lancée depuis la ligne de commande de Windows !
Au bout du compte : tout, de A à Z, est depuis le départ une succession de "choses" écrites sans en connaître le sens (du chinois, pour toi ?), ni celui dans VBA, ni celui du Shell, ni celui de ... etc ... etc ...
Un conseil : et si tu commençais par le B.A.BA de chaque chose ? (ce serait peut-être souhaitable, non ?, avant de tenter d' "assembler" des "petits bouts" "pêchés" ici et là ... !)