erreur dans macro - VB/VBA/VBS - Programmation
Marsh Posté le 10-02-2012 à 12:07:02
Quel est le problème ?
Une erreur sur quelle ligne ?
Ou bien le problème viendrait de l'affichage ? Alors quel serait l'affichage souhaité ?
(Ou le problème serait la touche majuscule qui ne voudrait pas s'activer toute seule pour la première lettre de chaque phrase )
En tous cas, peut-être que l'affichage ne se ferait pas en mettant la ligne
Application.ScreenUpdating = False |
Marsh Posté le 10-02-2012 à 15:30:27
j'avoue qu'il manque des explications ;le programme doit normalement juste ecrire directement
sans ouverture ,mais le soucis est que excel s'ouvre et me demande si je veux mettre les liens à jour et me demande si je veux enregistrer les changements.
le wrk.save n'a pas l'air de fonctionné ; je précise que les fichiers sont de type excel 4 donc ...
merci de votre collaboration
Option Explicit
Sub PRINTER()
Dim Fso As Object, MonRepertoire As String
Dim f1 As Object, f2 As Object, wrk As Workbook
Set Fso = CreateObject("Scripting.FileSystemObject" )
MonRepertoire = "C:\Documents and Settings\FR22034\Bureau\RETEST"
For Each f1 In Fso.GetFolder(MonRepertoire).SubFolders
For Each f2 In f1.Files
Set wrk = Application.Workbooks.Open(f2)
'modifie la cellule A1 de l'onglet Feuil1
wrk.ActiveSheet.Cells(11, 44).Value = "bla bla bla"
wrk.ActiveSheet.Cells(25, 39).Value = "bla bla bla"
'Sauvegarde le classeur
wrk.Save
'Ferme le classeur et libère la variable wrk
wrk.Close
Set wrk = Nothing
Next f2
Next f1
End Sub
Marsh Posté le 10-02-2012 à 10:42:48
merci de votre collaboration et je reviens à vous car j'ai besoin de votre aide encore une fois.
la fonction m'ouvre réellement le fichier excel au lieu d'écrire directement sans affichage.
autre précision: les fichier excel sont de 97-2003 et j'aimerais qu'il conserve leur format.
avant que j'oublie mes feuill1 ont des noms différent
merci d'avance
Option Explicit
Sub PRINTER()
Dim Fso As Object, MonRepertoire As String
Dim f1 As Object, f2 As Object, wrk As Workbook
Set Fso = CreateObject("Scripting.FileSystemObject" )
MonRepertoire = "C:\Documents and Settings\FR22034\Bureau\RETEST"
For Each f1 In Fso.GetFolder(MonRepertoire).SubFolders
For Each f2 In f1.Files
Set wrk = Application.Workbooks.Open(f2)
'modifie la cellule A1 de l'onglet Feuil1
wrk.ActiveSheet.Cells(11, 44).Value = "xxxxxxxxx"
wrk.ActiveSheet.Cells(25, 39).Value = "xxxxxxxxx"
'Sauvegarde le classeur
wrk.Save
'Ferme le classeur et libère la variable wrk
wrk.Close
Set wrk = Nothing
Next f2
Next f1
End Sub
Message édité par varik le 10-02-2012 à 11:22:42