Bonjour a tous,![]()
Je suis débutant en VBA, je commence a piger mais là je ne sais plus quoi faire. Je suis sur Excel2016
Je suis entrain de créer un système de collecte automatique de données pour l'industrie. Les opérateurs entrent les données de production dans un classeur A (Qui comporte une feuille par machine).
Puis (idéalement), chaque jour a 23h59:59s, le fichier copie les données de production du jour du Classeur A pour les coller a partir de la première ligne vide d' un ClasseurB (Masterfile).
Tout marche bien jusqu'au PasteSpecial. L'erreur renvoyée est "Erreur d'éxécution 1004 : La méthode PasteSpecial de la classe Range a échoué."
Aucune de mes deux feuilles ne sont protégées ou en lecture seule.
Pourtant, ce même pastespecial (Copier les valeurs d'un formulaire de saisie puis les coller sur la premiere ligne vide de feuille registre) marche en "interne" sur mon classeur A.
Je ne peux malheureusement pas vous joindre les fichiers car ils sont trop lourds.
Voici le code
"CHM1000" est le nom d'une feuille de machine dans le fichier A, et "MCHM1000" est le nom de la feuille correspondante dans le masterfile B.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 Sub MASTERFILE() Workbooks.Open Filename:="C:\Users\Maxime\Desktop\PerformanceAnalysis\APA_Yearly_MasterFile\FichierB.xlsm" Application.ScreenUpdating = False 'Copy prod registry into masterfile Workbooks("FichierA.xlsm").Activate Sheets("CHM1000").Select Range("A6:I39").Copy Application.CutCopyMode = False Workbooks("FichierB.xlsm").Worksheets("MCHM1000").Activate Cells(65535, 1).End(xlUp)(2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Copy Failures modes registry into Masterfile Workbooks("FichierA.xlsm").Worksheets("CHM1000").Select Range("AN7:BH40").Copy Application.CutCopyMode = False Workbooks("FichierB.xlsm").Worksheets("MCHM1000").Select Cells(65535, 40).End(xlUp)(2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False [.....(Mêmes opérations mais avec feuilles différentes).....] 'Save MasterFile ActiveWorkbook.Save Workbooks.Close Workbooks("FichierB.xlsm").Close Application.ScreenUpdating = True
Le tableau du registre commence sur les deux feuilles en A6 et se finit en I39 pour le fichier A, et en I950 pour le fichierB. (J'ai essayé en ne copiant qu'une seule ligne, ca ne marche pas non plus.)
Merci d'avance pour vos conseils et vos solutions.![]()
Partager