decid
XLDnaute Nouveau
Mise à jour automatique des liens
COPIE DE VALEURS dans une feuille Destination,
depuis une feuille source, sans l'ouvrir
ni conserver de lien
LA DEMARCHE Fichier ImportDestin.xlsm joint
et Fichier ImportSource.xlsm)
VBA dans ImportDestin.xlsm
1) Dim NomFichier
NomFichier = Application.GetOpenFilename
2) ActiveWorkbook.UpdateLinks = 3
3) 'Selection de la feuille de destination
Sheets("Feuil1").Select
ZONE d'IMPORT 1
4) 'Liens mise à jour
Application.AskToUpdateLinks = False
ActiveWorkbook.UpdateLink Name:="NomFichier", Type:=xlExcelLinks
'Selection Zone 1
Range("B5:M6").Select
Selection.ClearContents
5) 'Copie de la formule lien
Selection.FormulaR1C1 = "=[NomFichier]Feuil1!RC"
Selection.Copy
6) 'Copie de la valeur en collage spécial valeur
Range("B5:M6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ZONE d'IMPORT 2
'idem zone 1
ZONE d'IMPORT 3
'idem zone 1
....
Tout cela fonctionne, le seul problème c'est qu'à chaque copie des formules de lien, excel
me demande à chauqe fois la confirmation de l'adresse du lien au lieu de prendre une fois
pour toute le NomFichier.
Il me restera également à trouver la syntaxe pour déprotéger feuille et Classeur
et les reprotéger à la sortie de la Macro
Je pense que cette macro pourrait servir à tous
Merci de votre aide
Decid
COPIE DE VALEURS dans une feuille Destination,
depuis une feuille source, sans l'ouvrir
ni conserver de lien
LA DEMARCHE Fichier ImportDestin.xlsm joint
et Fichier ImportSource.xlsm)
VBA dans ImportDestin.xlsm
1) Dim NomFichier
NomFichier = Application.GetOpenFilename
2) ActiveWorkbook.UpdateLinks = 3
3) 'Selection de la feuille de destination
Sheets("Feuil1").Select
ZONE d'IMPORT 1
4) 'Liens mise à jour
Application.AskToUpdateLinks = False
ActiveWorkbook.UpdateLink Name:="NomFichier", Type:=xlExcelLinks
'Selection Zone 1
Range("B5:M6").Select
Selection.ClearContents
5) 'Copie de la formule lien
Selection.FormulaR1C1 = "=[NomFichier]Feuil1!RC"
Selection.Copy
6) 'Copie de la valeur en collage spécial valeur
Range("B5:M6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ZONE d'IMPORT 2
'idem zone 1
ZONE d'IMPORT 3
'idem zone 1
....
Tout cela fonctionne, le seul problème c'est qu'à chaque copie des formules de lien, excel
me demande à chauqe fois la confirmation de l'adresse du lien au lieu de prendre une fois
pour toute le NomFichier.
Il me restera également à trouver la syntaxe pour déprotéger feuille et Classeur
et les reprotéger à la sortie de la Macro
Je pense que cette macro pourrait servir à tous
Merci de votre aide
Decid