Convertir formules en VBA

richard31

XLDnaute Occasionnel
Bonjour

J'ai un fichier très lourd, celui-ci comprend 50 000 entrées récupérées d'un fichier appelé "source.xls". (ici allégé à 50 lignes).

Sur la première feuille "données" je recopies les valeurs du fichier "source.xls" onglet "Migration Risk Analysis" tout simplement. Pour ensuite les travailler.

J'utilise la fonction simple en A11:
=SI(ESTVIDE('[source.xlsx]Migration Risk Analysis'!A2);" ";'[source.xlsx]Migration Risk Analysis'!A2)

Vue que ce fichier est très lourd j'aimerai passer par un bouton VBA pour lancer la copies des données manuellement. au lieu que les liaisons se lancent à l'ouverture du fichier.

Ensuite dans le onglet "Analyse" du fichier de travail. il y a beaucoup de formules, en fait je prend les sources qu'ensuite je découpe en "niveau" pour avoir l"arborescence complète, et comptabiliser le nombre de caractères total. si cela dépasse 128 caractères je remonte une erreur en colonne AI. Cela fonctionne mais je me doute qu'en VBA ce serai plus simple et surtout on pourrai le lancer manuellement.

Bref si un champion de VBA peut m'aider, surtout pour la copies des données que j'analyse, pour le reste tant pis car les fonctions sont ok..
 

Pièces jointes

  • Fichier_tests.xlsm
    75.2 KB · Affichages: 44

Dranreb

XLDnaute Barbatruc
Par exemple :
VB:
Sub Import()
Workbooks.Open ThisWorkbook.Path & "\source.xlsx"
If MsgBox("Remplacement données feuille """ & Feuil1.Name & """ désiré ?", vbYesNo + vbExclamation, "Importation") _
   = vbYes Then ActiveWorkbook.Worksheets("Migration Risk Analysis").[A2:B50001].Copy Destination:=Feuil1.[A11]
ActiveWorkbook.Close False
End Sub
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin