Copier coller plage variable + tirer formules

Bonjour,

J'ai 2 fichiers de gestion de production. L'un est utilisé à la journée et l'autre pour de l'historique.

Ce que je vourai c'est de couper coller la plage de valeurs de mon classeur1 test.xlsm (à partir de la ligne 3) sur mon classeur2 test.xlsm à la dernière ligne non vide.

Ensuite, tirer les formules des colonnes P à X du classeur 2.

Dans le classeur2 vous trouverez le bout de code que j'ai fait mais qui bloque...

Merci d'avance à tous

10classeur2-test.xlsm (15.28 Ko)

Hello,

A tester :

Sub copiedonneesfichdynamique()

Dim dynlig As Long, histolig As Long

dynlig = Workbooks("Classeur1 test.xlsm").Sheets("BDD").Range("A" & Rows.Count).End(xlUp).Row
histolig = Workbooks("Classeur2 test.xlsm").Sheets("BDD").Range("A" & Rows.Count).End(xlUp).Row

Workbooks("Classeur1 test.xlsm").Sheets("BDD").Range("A3:O" & dynlig).Cut
Workbooks("Classeur2 test.xlsm").Sheets("BDD").Range("A" & histolig).Paste

'Formules
dynlig = Workbooks("Classeur2 test.xlsm").Sheets("BDD").Range("A" & Rows.Count).End(xlUp).Row
Workbooks("Classeur2 test.xlsm").Sheets("BDD").Range("P" & histolig  & ":X" & dynlig ).AutoFill Destination:=Range("P" & histolig  & ":X" & dynlig)

End Sub

R@g

Bonjour,

Le code avait des erreurs d'éxecution. Mais merci quand même.

J'ai trouvé un autre moyen d'y arriver.

Sub macrocopiefichdyn()

Dim ShSource As Worksheet, ShCible As Worksheet, dynlig As Long, histolig As Long

dynlig = Workbooks("Classeur1 test.xlsm").Sheets("BDD").Range("A" & Rows.Count).End(xlUp).Row

histolig = Workbooks("Classeur2 test.xlsm").Sheets("BDD").Range("A" & Rows.Count).End(xlUp).Row + 1

Set ShSource = Workbooks("Classeur1 test.xlsm").Sheets("BDD")

Set ShCible = Workbooks("Classeur2 test.xlsm").Sheets("BDD")

ShSource.Range("A3:O" & dynlig).Copy ShCible.Range("A" & histolig)

End Sub

Rechercher des sujets similaires à "copier coller plage variable tirer formules"