Récupération données d'un lien hypertexte contenu dans une cellule
Bonjour,
Je ne suis pas un grand expert concernant le langage VBA, et je rencontre un petit problème.
J'ai réussi à créer une macro qui va demander à un utilisateur d'aller choisir un fichier excel via l'explorateur windows. Une fois le fichier sélectionné, la macro va écrire le chemin de ce fichier dans une cellule. Cette cellule est ensuite automatiquement transformé en lien hypertexte dans la cellule en dessous.
J'aimerais réussir à créer une macro qui va automatiquement copier le contenu du fichier (du lien hypertexte) et le collé dans une feuille déjà présente. Le soucis c'est que la localisation du fichier peut changer et donc le chemin aussi. Il faudrait que la macro n'enregistre pas un chemin pré défini mais lise le chemin dans la cellule.
Ci joint le fichier.
Donc sur l'onglet "Feuil11" se trouve deux logos en forme de dossier en cliquant sur ces logos l'explorateur windows s'ouvre et on doit sélectionner un fichier. le chemin est alors écrit dans la cellule à côté et en dessous le lien hypertexte.
Donc est il possible de créer une macro qui va copier le contenu du fichier associé au lien hypertexte (sans l'ouvrir) et le collé sur l'une des feuilles présentes à savoir "Données-GeSu" et "Données-Winchill" car il y a deux boutons donc deux chemins et donc enfaite une même manip qui s'effectue pour deux chemins différents.
J'ai vraiment besoin de votre aide,
Si vous avez besoin de plus d'informations je me tiens à votre disposition.
Cordialement.
Bonjour Euler le forum
tu peux nous traduire STP ???
donc enfaite une même manip qui s'effectue pour deux chemins différents.
tu as deux boutons qui pour le moment sont supposés te donner deux chemins différents alors ou est la même manip là-dedans??
tu auras dans tous les cas deux manip pour choisir le chemin des fichiers désirés!!
Ensuite tu veux coller le contenu du fichier en lien de gsu dans la feuille gesu et de windchill dans le feuille windchill
mais le pourquoi sans ouvrir les fichiers?? l'ouverture la copie et la clôture ne serait même pas visible lors du déroulement de l'action
à te relire
a+
Papou
Bonjour,
En effet tu as raison papou mais j'ai finalement réussi à résoudre mon problème. avec une macro qui va me demander les deux chemins et fait la copie elle même.
Voici le code :
Sub Importation()
Application.ScreenUpdating = False 'accélère la macro
Set Destination = ActiveWorkbook
Destination.Activate 'Fichier Onglet babar activé
Sheets("Données_GeSu").Select 'Onglet activé
Cells.Select
Selection.ClearContents
MsgBox ("Sélectionner le fichier Extract GeSu")
Source = Application.Dialogs(xlDialogOpen).Show
If Source = False Then
MsgBox ("Aucun fichier sélectionné")
Exit Sub
Else
Set Source = ActiveWorkbook
Source.Activate 'Fichier sélectionné activé
Sheets(1).Select 'Onglet activé
Cells.Select 'Feuille entièrement sélectionnée
Selection.Copy
Destination.Activate 'Fichier Onglet babar activé
Sheets("Données_GeSu").Select 'Onglet active
Range("a1").Select
Selection.PasteSpecial Paste:=xlPasteValues 'Collage spécial valeurs
Source.Activate 'Fichier sélectionné activé
Application.CutCopyMode = False
ActiveWindow.Close SaveChanges:=False 'Fichier sélectionné fermé
End If
Set Destination = ActiveWorkbook
Destination.Activate 'Fichier Onglet babar activé
Sheets("Données_Winchill").Select 'Onglet activé
Cells.Select
Selection.ClearContents
MsgBox ("Sélectionner le fichier Extract Winchill")
Source = Application.Dialogs(xlDialogOpen).Show
If Source = False Then
MsgBox ("Aucun fichier sélectionné")
Exit Sub
Else
Set Source = ActiveWorkbook
Source.Activate 'Fichier sélectionné activé
Sheets(1).Select 'Onglet activé
Cells.Select 'Feuille entièrement sélectionnée
Selection.Copy
Destination.Activate 'Fichier Onglet babar activé
Sheets("Données_Winchill").Select 'Onglet active
Range("a1").Select
Selection.PasteSpecial Paste:=xlPasteValues 'Collage spécial valeurs
Source.Activate 'Fichier sélectionné activé
Application.CutCopyMode = False
ActiveWindow.Close SaveChanges:=False 'Fichier sélectionné fermé
End If
Sheets("Feuil11").Select
Exit Sub
End Sub
Cordialement,
Euler
Bonjour euler le forum
bon alors ton problème est résolu???
Par contre ta macro !!!! C'est n'importe quoi, avec tous les select, les select ne sont pas utiles, l'activation des feuilles ne sert à rien sauf à ralentir l'exécution.
Mais si ta macro te convient, c'est parfait pour moi.
a+
Papou
exemple dans ton code:
Destination.Activate 'Fichier Onglet babar activé
Sheets("Données_GeSu").Select 'Onglet activé
Cells.Select
Selection.ClearContents
le code ci-dessus peut être remplacé par
Sheets("Données_GeSu").cells.clearcontents
un peu plus propre non????
Et ce n'est bien sur qu'un exemple, car tout ton code est rempli de ce style de lignes