erreur dans macro

erreur dans macro - VB/VBA/VBS - Programmation

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
Reply

Marsh Posté le 10-02-2012 à 10:42:48   

Reply

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

Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed