Bonjour à tous,
Je rencontre un petit problème qui me bloque dans l’exécution d'un code. L'idée de la macro étant d'actualisé 3 fichiers connexion Access selon une valeur prédéfinie auparavant. Un template est déjà préparé et possède des formules en ligne 8. une fois l'actualisation terminée, je demande à la macro de drop down les formules et de copier le tout sur un autre fichier et de fermer cette page.
Lorsque j'utilise la méthode ligne pas ligne (F8), tout se passe à merveille. Les valeurs envoyées sur l'autre fichier fonctionnent parfaitement. Mais lorsque que je laisse tourner la macro "toute seule", les valeurs des recherchesV n'ont pas le temps de se mettre à jour et renvoient des #N/A sur mon fichier de destination. J'ai tenté en vain de placer un temps d'attente dans la macro et également de faire un calcule sur la feuille.
J'ai tenté d'inverser l'ordre et de faire plusieurs modifications (copier la feuille à la place de copier les data, ect...). Tout fonctionne jusqu'à ce que je la laisse tourner toute seule.
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 Sub Enregistrement_ICC() 'Ouverture du fichier ICC Workbooks.Open Filename:= _ "T:\Support Achats\Rapports (Modèles)\Part Listings\ICC - By Category\!!! ICC_PartListing_Template_V2.0.xls" Windows("!!! ICC_PartListing_Template_V2.0.xls").Activate Range("A2").Value = VC 'On va chercher la variable VC comme catégorie à extraire 'Copie des VC+Part dans le fichier ICC Workbooks("!!! ICC_PartListing_Template_V2.0.xls").Sheets("Recherche").Range("A8", "A" & nbLignes + 8) = Workbooks("Second_WS.xlsm").Sheets("Worksheet").Range("C13", "C" & nbLignes + 12).Value Range("B8:Q8").Select Selection.AutoFill Destination:=Range("B8", "Q" & nbLignes) Application.Wait Time + TimeSerial(0, 0, 3) ActiveWorkbook.RefreshAll Sheets("Recherche").Calculate Sheets("recherche").Copy After:=Workbooks("Second_WS.xlsm").Sheets("Item_Detail_Report") Sheets("recherche").Name = "Status" Cells.Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Workbooks("Second_WS.xlsm").Sheets("Status").Range("A8", "Q" & nbLignes) = Range("A8", "Q" & nbLignes).Value Workbooks("!!! ICC_PartListing_Template_V2.0.xls").Close False End Sub
Auriez-vous une solution à me proposer svp ? Ci-dessus se trouve le dernier draft après pleins de tests...
Un grand merci à vous !




Répondre avec citation

et

si la réponse vous a été utile !
Partager