mettre une formule dans une macro

a10

XLDnaute Impliqué
Bonjour,

J'ai un fichier source
dans mon fichier test je recopie une formule qui est dans la cellule R2 et S2 dans le tableau colonne A

( Mon tableau initial fait plus de 65000 lignes et ensuite je copie les valeurs pour supprimer les liaisons afin que le fichier soit le plus léger)


Comment mettre dans la macro la formule qui est dans la cellule R2 / S2 ( dans le fichier final j'ai 10 colonne à copier)


a+
 

Pièces jointes

  • test 1.xlsm
    12.7 KB · Affichages: 43
  • source 1.xlsx
    7.9 KB · Affichages: 43
  • test 1.xlsm
    12.7 KB · Affichages: 48
  • test 1.xlsm
    12.7 KB · Affichages: 45

a10

XLDnaute Impliqué
Re : mettre une formule dans une macro

bonjour,

avant c'est ce que je faisais copier coller

mais j'ai des données allant jusqu'à 400 000 lignes et j'ai plusieurs tableaux
la formule me permet de garder toujours une liaison automatique avec mon fichier source

a+
 

Staple1600

XLDnaute Barbatruc
Re : mettre une formule dans une macro

Bonjour à tous

a10
Pourquoi ne pas se simplifier la vie en copiant l'onglet du fichier source dans le classeur test 1 ?
J'ai aussi du mal à comprendre pourquoi tu utilises deux fichiers ?
Le fichier test étant le fichier miroir du fichier source avec les formules utilisées.
 

camarchepas

XLDnaute Barbatruc
Re : mettre une formule dans une macro

Pour le fun ,

Pour cet exemple le fichier source 1 devra déjà être ouvert.

La macro est à mettre dans le fichier test 1

Code:
Sub Copie()
Dim Nblignes As Long
   'Nombre de lignes dans  le fichier source
    Nblignes = Workbooks("source 1.xlsx").Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
    ThisWorkbook.Worksheets("Feuil1").Range("R2:S2").Copy
    Worksheets("Feuil1").Range("A2:A" & Nblignes).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : mettre une formule dans une macro

Re

On peut aussi ne pas passer par le copier/coller
Donc aussi pour le fun, pour tromper l'ennui qui guette, et finir de me réveiller. ;)
Code:
Sub CopieBis()
Dim Nblignes As Long
'Nombre de lignes dans  le fichier source
With Workbooks("source 1.xlsx").Worksheets("Feuil1")
Nblignes = .Range("A" & .Rows.Count).End(xlUp).Row
End With
ThisWorkbook.Worksheets("Feuil1").Range("A2:B" & Nblignes).FormulaR1C1 = "='H:\[source 1.xlsx]Feuil1'!RC"
End Sub

Mais je comprends toujours pas l'utilité de la chose, a10
(voir mes questions/remarques dans mon premier message)
 

Discussions similaires

Réponses
7
Affichages
318
Réponses
2
Affichages
113

Statistiques des forums

Discussions
312 175
Messages
2 085 953
Membres
103 059
dernier inscrit
gib17