Ouverture - Fermeture - Enregistrement d'un classeur

Bonjour à tous,

J'ai un fichier excel vierge qui se remplit automatiquement à partir des données d'un autre classeur excel. Une fois ce fichier excel rempli il s'enregistre avec le nom d'une certaine ligne que j'ai enregistré dans une variable et il s'enregistre dans un dossier.

Mais le problème, c'est que cela ne fonctionne qu'une seule fois. Il faudrait que

  • Mon classeur vierge A ( qui est en fait un Template vierge que je dois réutiliser à chaque fois) s'enregistre sous le nom de ma Variable C
  • Puis que ce nouveau classeur sous le nom de la variable C se ferme
  • Et enfin que mon classeur vierge A s'ouvre et qu'on recommence toute la boucle.

Mon problème étant : soit le nouveau classeur écrase mon classeur vierge de base , soit à partir de la deuxième boucle, mon programme ne reconnait pas les noms que j'ai attribué et arrête de me remplir mon classeur A

Merci d'avance à tous

Bonjour,

Montre déjà la macro que tu utilises ! Il suffit qu'elle comporte les commandes que tu souhaites voir s'exécuter pour que tout se déroule tel que tu le veux.

Cordialement.

Bonjour MFerrand,

Voici ma macro

Sub atmq()

Dim n As Integer, CRDS As String

Set ws1 = Application.Workbooks("Follow up_Onboarding FX clients_3011.xlsx").Worksheets(1)

Set ws2 = Application.Workbooks("set up test.xlsm").Worksheets(1)

For n = 209 To 250

ws2.Cells(8, 3).Value = ws1.Cells(n, 6).Value

ws2.Cells(9, 3).Value = ws1.Cells(n, 9).Value

ws2.Cells(12, 3).Value = ws1.Cells(n, 8).Value

If ws1.Cells(n, 5).Value = "Spot/Forward" Then

ws2.Cells(n, 18).Value = "Yes"

End If

ws2.Cells(71, 3).Value = ws1.Cells(n, 10).Value

ws2.Cells(74, 2).Value = ws1.Cells(n, 7).Value

ws2.Cells(90, 1).Value = "All currencies"

ws2.Cells(90, 5).Value = ws2.Cells(74, 2).Value

Call Macro2

CRDS = ws2.Cells(9, 3).Value

Workbooks("set up test.xlsm").SaveAs "Y:\24990Onboa\02_FOREX PRODUCTS\01-FOREX UPON REQUEST\FOREX UPON REQUEST\CLIENTS\Luxembourg\Client\UBAM\DF\" & CRDS & ".xlsm"

Workbooks.Open "C:\Users\b23560\Desktop\set up test.xlsm"

Workbooks(" & CRDS & ".xlsm").Close ' Cette ligne ne fonctionne pas

Next n

End Sub

Cordialement

Bonjour,

Workbooks(CRDS & ".xlsm").Close

A placer de préférence à la suite de l'enregistrement, avant réouverture du classeur.

Utilise les balises Code quand tu cites du code.

Cordialement.

Bonjour,

Lorsque je place la fermeture du classeur actif avant l'ouverture du prochain classeur cela me ferme le classeur dans lequel la macro s'exécute et donc la boucle ne s'exécute plus.

Comment faire pour que la macro s'exécute tout en fermant le classeur ?

Merci d'avance

En effet, je n'avais pas vu que le classeur 1 était xlsx !!

La logique voulant que ce soit lui qui contienne la macro, et qu'à partir de lui on manipule les autres.

Je crois que réviser en ce sens est le mieux ! Cela évite notamment de propager inutilement une macro sur les classeurs que tu crées.

Cordialement.

Rechercher des sujets similaires à "ouverture fermeture enregistrement classeur"