[RESOLU] [VBA] Rechercher et Remplacer sur formules pour creation fichier par semaine

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.

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 édition par un modérateur:

CPk

XLDnaute Impliqué
Re : [VBA] Rechercher et Remplacer sur formules pour creation fichier par semaine

Bonjour, avez-vous essayé d'utiliser la méthode find() pour trouver les arguments à remplacer ?
 

Skeeper_Gendher

XLDnaute Nouveau
Re : [VBA] Rechercher et Remplacer sur formules pour creation fichier par semaine

Bonsoir,

Non, je ne connais pas du tout cette fonction =) je vais regarder sur le net comment elle fonctionne. Merci pour la piste!
 

CPk

XLDnaute Impliqué
Re : [VBA] Rechercher et Remplacer sur formules pour creation fichier par semaine

Flûte, je n'y ai pas pensé de prime abord. essayez de chronométrer votre macro en ayant désactivé le calcul automatique si ce n'est pas déjà fait...

A placer en début de code
Application.Calculation = xlCalculationManual
 
Dernière édition par un modérateur:

Skeeper_Gendher

XLDnaute Nouveau
Re : [VBA] Rechercher et Remplacer sur formules pour creation fichier par semaine

Et que fait le calcul automatique ? Pourquoi le désactiver réduirai le temps d'application de ma macro ? Et faut-il le réactivé à la fin de ma macro ? Merci d'avance pour vos réponses !
 

CPk

XLDnaute Impliqué
Re : [VBA] Rechercher et Remplacer sur formules pour creation fichier par semaine

Quand vous entrez une formule dans excel, exemple C1=A1+B1. Dès que vous changez une valeur (a ou b) excel affiche le nouveau résultat en c. Il calcul donc "automatiquement" le résultat. Votre macro remplace des informations dans des formules, donc excel recalcul à chaque fois la feuille voire le classeur entier. Ce qui engendre sûrement se temps de traitement trop long.

un peu de lecture
http://www.excel-downloads.com/forum/97748-vba-calcul-automatique.html
 

Skeeper_Gendher

XLDnaute Nouveau
Re : [VBA] Rechercher et Remplacer sur formules pour creation fichier par semaine

Et le fait de ne pas rafraichir l’écran (
Application.ScreenUpdating = False), ne stop pas cette fonction le temps de la macro ?
 

CPk

XLDnaute Impliqué
Re : [VBA] Rechercher et Remplacer sur formules pour creation fichier par semaine

Je ne sais pas
 

Skeeper_Gendher

XLDnaute Nouveau
Re : [VBA] Rechercher et Remplacer sur formules pour creation fichier par semaine

Bonjour,

J'ai enfin pu tester vos solutions. Et bien victoire sans appel pour le calcul manuel ! A peine 3 minutes pour faire les deux "rechercher / remplacer" avec la macro + calcul manuel, contre plus de 6 minutes pour faire les deux "R / R" en manuel et j'ai stoppé l'application après 30 minutes de macro + calcul auto.

Merci beaucoup, je vais pouvoir me lancer sur la seconde partie de mon code ;) (Je reviendrais peut-être revenir vous embêter si je bloque derrière, mais je pense que ça devrait allez. Merci encore!
 

CPk

XLDnaute Impliqué
Re : [RESOLU] [VBA] Rechercher et Remplacer sur formules pour creation fichier par se

Content que cela ait pu aider :)
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas