Skeeper_Gendher
XLDnaute Nouveau
Bonjour à tous,
Voici mon premier poste concernant VBA. Je vais essayer d'être aussi clair et précis que possible. Je précises que je suis autodidacte, toute amélioration sera appréciée.
Mon but : Je souhaites créer automatiquement un fichier par semaine à partir d'un fichier modèle.
A partir de quoi : Sur mon fichier modèle, j'ai des formules allant chercher des données dans des classeurs différents. Ces formules font références à l'année en cours et au numéro de semaine renseigné dans la cellule D10.
Comment : Ma macro va donc changer la date fixe dans mes formules (2015) pour la remplacer par celle de l'année en cours. Puis je vais faire une boucle sur toutes mes cellules contenants des formules dans une plage donnée, en fonction de mon numéro de semaine -1 noté en D10.
Voici mon premier jet.
Mon problème à l'heure actuelle, c'est que mon "rechercher/remplacer" pratiqué manuellement met 3:18 minutes + 3:20 minutes à se faire et celui de la macro 18:46 minutes. Certes je rajoutes des conditions sur le code par rapport à la version manuelle, mais je me demande surtout si je n'ai pas une boucle qui ralenti le tout. Merci de votre aide.
PS: je ne suis qu'au début de mon code, je n'ai pas encore fait de test sur l'enregistrement du fichier semaine par semaine. Je souhaites traiter les problème un par un
Voici mon premier poste concernant VBA. Je vais essayer d'être aussi clair et précis que possible. Je précises que je suis autodidacte, toute amélioration sera appréciée.
Mon but : Je souhaites créer automatiquement un fichier par semaine à partir d'un fichier modèle.
A partir de quoi : Sur mon fichier modèle, j'ai des formules allant chercher des données dans des classeurs différents. Ces formules font références à l'année en cours et au numéro de semaine renseigné dans la cellule D10.
Comment : Ma macro va donc changer la date fixe dans mes formules (2015) pour la remplacer par celle de l'année en cours. Puis je vais faire une boucle sur toutes mes cellules contenants des formules dans une plage donnée, en fonction de mon numéro de semaine -1 noté en D10.
Voici mon premier jet.
Code:
Sub CreatSem()
'
'
Dim c As String
'
Test = Range("D10")
c = Mid(ThisWorkbook.Path, 1, InStrRev(ThisWorkbook.Path, "\"))
'
'
If Dir(c & Year(Date), 16) = "" Then MkDir (c & Year(Date))
'
Application.ScreenUpdating = False
'
For Each Cell In Range("A1:K75").SpecialCells(xlCellTypeFormulas)
If Test < 11 Then Cell.Replace What:="01", Replacement:="0" & Test - 1 Else Cell.Replace What:="01", Replacement:=Test - 1
Cell.Replace What:="2015", Replacement:=Year(Date)
Next Cell
'
Application.ScreenUpdating = True
'
End Sub
Mon problème à l'heure actuelle, c'est que mon "rechercher/remplacer" pratiqué manuellement met 3:18 minutes + 3:20 minutes à se faire et celui de la macro 18:46 minutes. Certes je rajoutes des conditions sur le code par rapport à la version manuelle, mais je me demande surtout si je n'ai pas une boucle qui ralenti le tout. Merci de votre aide.
PS: je ne suis qu'au début de mon code, je n'ai pas encore fait de test sur l'enregistrement du fichier semaine par semaine. Je souhaites traiter les problème un par un
Dernière modification par un modérateur: