Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lien hypertxt & telechargement automatique

11 réponses
Avatar
sleg
BOjour,

j'ai un fichier avec des centaines de lien hypertxt qui pointent sur
des fichiers et j'aimerais savoir s'il est possible de lancer une
macro qui irait chercher chanque fichier et les enregistrer dans un
repertoire reseau.

merci de votre aide.

10 réponses

1 2
Avatar
michdenis
Bonjour,

Mets cette macro dans un module standard de ton fichier contenant les liens hypertextes

Les fichiers originaux ne sont pas touchés, déplacés ou supprimés. Ils sont simplement copiées vers leur nouvelle
destination. Ne pas oublier de spécifier le répertoire de destination.

'-----------------------------------
Sub test()

Dim Sh As Worksheet, Lien As Hyperlink
Dim FS As Object, X As String, Dest As String

'où tu veux copier tes fichiers
Dest = "ServeurMonRépertoire"

Set FS = CreateObject("Scripting.FileSystemObject")
For Each Sh In ThisWorkbook.Worksheets
For Each Lien In Sh.Hyperlinks
X = Lien.Address
If Dir(X) <> "" Then
FS.CopyFile X, Dest
End If
Next
Next
End Sub
'-----------------------------------

--
MichD
--------------------------------------------


"sleg" a écrit dans le message de groupe de discussion :

BOjour,

j'ai un fichier avec des centaines de lien hypertxt qui pointent sur
des fichiers et j'aimerais savoir s'il est possible de lancer une
macro qui irait chercher chanque fichier et les enregistrer dans un
repertoire reseau.

merci de votre aide.
Avatar
DanielCo
Bonjour. Essaie le code suivant :

Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
For Each h In sh.Hyperlinks
Fich = Dir(h.Address)
FileCopy h.Address, "c:temp" & fich
Next h
Next sh
End Sub

Daniel


BOjour,

j'ai un fichier avec des centaines de lien hypertxt qui pointent sur
des fichiers et j'aimerais savoir s'il est possible de lancer une
macro qui irait chercher chanque fichier et les enregistrer dans un
repertoire reseau.

merci de votre aide.
Avatar
sleg
Bonjour,

j'ai testé les 2 macro et j'obtiens la meme erreur 52 nom ou n° e
fichier incorect ? une idée ?


bonne journée


On 22 sep, 15:22, DanielCo wrote:
Bonjour. Essaie le code suivant :

Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
    For Each h In sh.Hyperlinks
        Fich = Dir(h.Address)
        FileCopy h.Address, "c:temp"  & fich
    Next h
Next sh
End Sub

Daniel



> BOjour,

> j'ai un fichier avec des centaines de lien hypertxt qui pointent sur
> des fichiers et j'aimerais savoir s'il est possible de lancer une
> macro qui irait chercher chanque fichier et les enregistrer dans un
> repertoire reseau.

> merci de votre aide.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Avatar
DanielCo
Bonjoour.
Peut-être as-tu des adresses mail dans certaines cellules ?
Teste la macro suivante:
Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
For Each h In sh.Hyperlinks
If Left(h.Address, 4) <> "mail" Then
Fich = Dir(h.Address)
FileCopy h.Address, "c:temp & fich"
End If
Next h
Next sh
End Sub
Daniel


Bonjour,

j'ai testé les 2 macro et j'obtiens la meme erreur 52 nom ou n° e
fichier incorect ? une idée ?


bonne journée


On 22 sep, 15:22, DanielCo wrote:
Bonjour. Essaie le code suivant :

Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
    For Each h In sh.Hyperlinks
        Fich = Dir(h.Address)
        FileCopy h.Address, "c:temp"  & fich
    Next h
Next sh
End Sub

Daniel



BOjour,



j'ai un fichier avec des centaines de lien hypertxt qui pointent sur
des fichiers et j'aimerais savoir s'il est possible de lancer une
macro qui irait chercher chanque fichier et les enregistrer dans un
repertoire reseau.



merci de votre aide.- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -
Avatar
sleg
non pas d'adrese mais j'ai du mal m'explique le lien hypertxt est sous
la forme http://



On 23 sep, 09:27, DanielCo wrote:
Bonjoour.
Peut-être as-tu des adresses mail dans certaines cellules ?
Teste la macro suivante:
Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
    For Each h In sh.Hyperlinks
        If Left(h.Address, 4) <> "mail" Then
            Fich = Dir(h.Address)
            FileCopy h.Address, "c:temp  & fich"
        End If
    Next h
Next sh
End Sub
Daniel





> Bonjour,

> j'ai testé les 2 macro et j'obtiens la meme erreur 52 nom ou n° e
> fichier incorect ? une idée ?

> bonne journée

> On 22 sep, 15:22, DanielCo wrote:
>> Bonjour. Essaie le code suivant :

>> Sub test()
>> Dim c As Range, Fich As String
>> Dim sh As Worksheet, h As Hyperlink
>> For Each sh In Worksheets
>>     For Each h In sh.Hyperlinks
>>         Fich = Dir(h.Address)
>>         FileCopy h.Address, "c:temp"  & fich
>>     Next h
>> Next sh
>> End Sub

>> Daniel

>>> BOjour,

>>> j'ai un fichier avec des centaines de lien hypertxt qui pointent sur
>>> des fichiers et j'aimerais savoir s'il est possible de lancer une
>>> macro qui irait chercher chanque fichier et les enregistrer dans un
>>> repertoire reseau.

>>> merci de votre aide.- Masquer le texte des messages précédents -

>> - Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -
Avatar
DanielCo
Alors, tu as peut-être des liens vers des fichiers ou des adresses FTP
?
Essaie :
Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
For Each h In sh.Hyperlinks
If Left(h.Address, 7) = "http://&quot; Then
Fich = Dir(h.Address)
FileCopy h.Address, "c:temp & fich"
End If
Next h
Next sh
End Sub
Daniel


non pas d'adrese mais j'ai du mal m'explique le lien hypertxt est sous
la forme http://



On 23 sep, 09:27, DanielCo wrote:
Bonjoour.
Peut-être as-tu des adresses mail dans certaines cellules ?
Teste la macro suivante:
Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
    For Each h In sh.Hyperlinks
        If Left(h.Address, 4) <> "mail" Then
            Fich = Dir(h.Address)
            FileCopy h.Address, "c:temp  & fich"
        End If
    Next h
Next sh
End Sub
Daniel





Bonjour,



j'ai testé les 2 macro et j'obtiens la meme erreur 52 nom ou n° e
fichier incorect ? une idée ?



bonne journée



On 22 sep, 15:22, DanielCo wrote:
Bonjour. Essaie le code suivant :





Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
    For Each h In sh.Hyperlinks
        Fich = Dir(h.Address)
        FileCopy h.Address, "c:temp"  & fich
    Next h
Next sh
End Sub





Daniel





BOjour,







j'ai un fichier avec des centaines de lien hypertxt qui pointent sur
des fichiers et j'aimerais savoir s'il est possible de lancer une
macro qui irait chercher chanque fichier et les enregistrer dans un
repertoire reseau.







merci de votre aide.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -





- Afficher le texte des messages précédents -
Avatar
sleg
BOnjour,

non toujours meme erreur mais en cliquant sur le lien dans ma feuille
excel il me lance IE avant de telecharger le fichier peu etre une
piste ???

merci de votre aide.


On 23 sep, 15:11, DanielCo wrote:
Alors, tu as peut-être des liens vers des fichiers ou des adresses FTP
?
Essaie :
Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
    For Each h In sh.Hyperlinks
        If Left(h.Address, 7) = "http://&quot; Then
            Fich = Dir(h.Address)
            FileCopy h.Address, "c:temp  & fich"
        End If
    Next h
Next sh
End Sub
Daniel



> non pas d'adrese mais j'ai du mal m'explique le lien hypertxt est sous
> la forme http://

> On 23 sep, 09:27, DanielCo wrote:
>> Bonjoour.
>> Peut-être as-tu des adresses mail dans certaines cellules ?
>> Teste la macro suivante:
>> Sub test()
>> Dim c As Range, Fich As String
>> Dim sh As Worksheet, h As Hyperlink
>> For Each sh In Worksheets
>>     For Each h In sh.Hyperlinks
>>         If Left(h.Address, 4) <> "mail" Then
>>             Fich = Dir(h.Address)
>>             FileCopy h.Address, "c:temp  & fich"
>>         End If
>>     Next h
>> Next sh
>> End Sub
>> Daniel

>>> Bonjour,

>>> j'ai testé les 2 macro et j'obtiens la meme erreur 52 nom ou n° e
>>> fichier incorect ? une idée ?

>>> bonne journée

>>> On 22 sep, 15:22, DanielCo wrote:
>>>> Bonjour. Essaie le code suivant :

>>>> Sub test()
>>>> Dim c As Range, Fich As String
>>>> Dim sh As Worksheet, h As Hyperlink
>>>> For Each sh In Worksheets
>>>>     For Each h In sh.Hyperlinks
>>>>         Fich = Dir(h.Address)
>>>>         FileCopy h.Address, "c:temp"  & fich
>>>>     Next h
>>>> Next sh
>>>> End Sub

>>>> Daniel

>>>>> BOjour,

>>>>> j'ai un fichier avec des centaines de lien hypertxt qui pointent su r
>>>>> des fichiers et j'aimerais savoir s'il est possible de lancer une
>>>>> macro qui irait chercher chanque fichier et les enregistrer dans un
>>>>> repertoire reseau.

>>>>> merci de votre aide.- Masquer le texte des messages précédents -
>>>> - Afficher le texte des messages précédents -- Masquer le texte des
>>>> messages précédents -

>> - Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -
Avatar
DanielCo
Bonjour.
Utilise le code suivant, il te donneras l'adresse de la première
cellule provoquant l'erreur. Poste l'adresse web correspondante :

Sub test4()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
On Error GoTo Err
For Each sh In Worksheets
For Each h In sh.Hyperlinks
Fich = Dir(h.Address)
FileCopy h.Address, "c:temp & fich"
Next h
Next sh
Err:
MsgBox sh.Name & " " & h.Range.Address
End Sub

Daniel


BOnjour,

non toujours meme erreur mais en cliquant sur le lien dans ma feuille
excel il me lance IE avant de telecharger le fichier peu etre une
piste ???

merci de votre aide.


On 23 sep, 15:11, DanielCo wrote:
Alors, tu as peut-être des liens vers des fichiers ou des adresses FTP
?
Essaie :
Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
    For Each h In sh.Hyperlinks
        If Left(h.Address, 7) = "http://&quot; Then
            Fich = Dir(h.Address)
            FileCopy h.Address, "c:temp  & fich"
        End If
    Next h
Next sh
End Sub
Daniel



non pas d'adrese mais j'ai du mal m'explique le lien hypertxt est sous
la forme http://



On 23 sep, 09:27, DanielCo wrote:
Bonjoour.
Peut-être as-tu des adresses mail dans certaines cellules ?
Teste la macro suivante:
Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
    For Each h In sh.Hyperlinks
        If Left(h.Address, 4) <> "mail" Then
            Fich = Dir(h.Address)
            FileCopy h.Address, "c:temp  & fich"
        End If
    Next h
Next sh
End Sub
Daniel





Bonjour,







j'ai testé les 2 macro et j'obtiens la meme erreur 52 nom ou n° e
fichier incorect ? une idée ?







bonne journée







On 22 sep, 15:22, DanielCo wrote:
Bonjour. Essaie le code suivant :
Sub test()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
For Each sh In Worksheets
    For Each h In sh.Hyperlinks
        Fich = Dir(h.Address)
        FileCopy h.Address, "c:temp"  & fich
    Next h
Next sh
End Sub









Daniel









BOjour,











j'ai un fichier avec des centaines de lien hypertxt qui pointent sur
des fichiers et j'aimerais savoir s'il est possible de lancer une
macro qui irait chercher chanque fichier et les enregistrer dans un
repertoire reseau.











merci de votre aide.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -









- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -





- Afficher le texte des messages précédents -
Avatar
sleg
feuill1 a1 donc premiere cellule avec une adresse

c une adresse interne
http://e-darsi.rm.corp.local/inc_php/printDarsi.php?action=pdf&id818 &menu=6&lang=FR


On 24 sep, 12:22, DanielCo wrote:
Bonjour.
Utilise le code suivant, il te donneras l'adresse de la première
cellule provoquant l'erreur. Poste l'adresse web correspondante :

Sub test4()
Dim c As Range, Fich As String
Dim sh As Worksheet, h As Hyperlink
On Error GoTo Err
For Each sh In Worksheets
    For Each h In sh.Hyperlinks
        Fich = Dir(h.Address)
        FileCopy h.Address, "c:temp  & fich"
    Next h
Next sh
Err:
MsgBox sh.Name & " " & h.Range.Address
End Sub

Daniel



> BOnjour,

> non toujours meme erreur mais en cliquant sur le lien dans ma feuille
> excel il me lance IE avant de telecharger le fichier peu etre une
> piste ???

> merci de votre aide.

> On 23 sep, 15:11, DanielCo wrote:
>> Alors, tu as peut-être des liens vers des fichiers ou des adresses F TP
>> ?
>> Essaie :
>> Sub test()
>> Dim c As Range, Fich As String
>> Dim sh As Worksheet, h As Hyperlink
>> For Each sh In Worksheets
>>     For Each h In sh.Hyperlinks
>>         If Left(h.Address, 7) = "http://&quot; Then
>>             Fich = Dir(h.Address)
>>             FileCopy h.Address, "c:temp  & fich"
>>         End If
>>     Next h
>> Next sh
>> End Sub
>> Daniel

>>> non pas d'adrese mais j'ai du mal m'explique le lien hypertxt est sou s
>>> la forme http://

>>> On 23 sep, 09:27, DanielCo wrote:
>>>> Bonjoour.
>>>> Peut-être as-tu des adresses mail dans certaines cellules ?
>>>> Teste la macro suivante:
>>>> Sub test()
>>>> Dim c As Range, Fich As String
>>>> Dim sh As Worksheet, h As Hyperlink
>>>> For Each sh In Worksheets
>>>>     For Each h In sh.Hyperlinks
>>>>         If Left(h.Address, 4) <> "mail" Then
>>>>             Fich = Dir(h.Address)
>>>>             FileCopy h.Address, "c:temp  & fich"
>>>>         End If
>>>>     Next h
>>>> Next sh
>>>> End Sub
>>>> Daniel

>>>>> Bonjour,

>>>>> j'ai testé les 2 macro et j'obtiens la meme erreur 52 nom ou n° e
>>>>> fichier incorect ? une idée ?

>>>>> bonne journée

>>>>> On 22 sep, 15:22, DanielCo wrote:
>>>>>> Bonjour. Essaie le code suivant :
>>>>>> Sub test()
>>>>>> Dim c As Range, Fich As String
>>>>>> Dim sh As Worksheet, h As Hyperlink
>>>>>> For Each sh In Worksheets
>>>>>>     For Each h In sh.Hyperlinks
>>>>>>         Fich = Dir(h.Address)
>>>>>>         FileCopy h.Address, "c:temp"  & fich
>>>>>>     Next h
>>>>>> Next sh
>>>>>> End Sub

>>>>>> Daniel

>>>>>>> BOjour,

>>>>>>> j'ai un fichier avec des centaines de lien hypertxt qui pointent sur
>>>>>>> des fichiers et j'aimerais savoir s'il est possible de lancer une
>>>>>>> macro qui irait chercher chanque fichier et les enregistrer dans un
>>>>>>> repertoire reseau.

>>>>>>> merci de votre aide.- Masquer le texte des messages précédent s -
>>>>>> - Afficher le texte des messages précédents -- Masquer le text e des
>>>>>> messages précédents -

>>>> - Afficher le texte des messages précédents -- Masquer le texte des
>>>> messages précédents -

>> - Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -
Avatar
michdenis
Si tu parles de téléchargement d'un fichier à partir d'une adresse dans une cellule
regarde le fichier suivant : http://cjoint.com/?jyps0ePs7Y

--
MichD
--------------------------------------------


"michdenis" a écrit dans le message de groupe de discussion : i7cvso$gq8$
Bonjour,

Mets cette macro dans un module standard de ton fichier contenant les liens hypertextes

Les fichiers originaux ne sont pas touchés, déplacés ou supprimés. Ils sont simplement copiées vers leur nouvelle
destination. Ne pas oublier de spécifier le répertoire de destination.

'-----------------------------------
Sub test()

Dim Sh As Worksheet, Lien As Hyperlink
Dim FS As Object, X As String, Dest As String

'où tu veux copier tes fichiers
Dest = "ServeurMonRépertoire"

Set FS = CreateObject("Scripting.FileSystemObject")
For Each Sh In ThisWorkbook.Worksheets
For Each Lien In Sh.Hyperlinks
X = Lien.Address
If Dir(X) <> "" Then
FS.CopyFile X, Dest
End If
Next
Next
End Sub
'-----------------------------------

--
MichD
--------------------------------------------


"sleg" a écrit dans le message de groupe de discussion :

BOjour,

j'ai un fichier avec des centaines de lien hypertxt qui pointent sur
des fichiers et j'aimerais savoir s'il est possible de lancer une
macro qui irait chercher chanque fichier et les enregistrer dans un
repertoire reseau.

merci de votre aide.
1 2