Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2623 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Création fichier log retraçant le déroulement d'une macro

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Création fichier log retraçant le déroulement d'une macro

n°1911348
foxley_gra​vity
Posté le 03-08-2009 à 16:17:27  profilanswer
 

Bonjour ,  
 
j'ai réalisé une macro basique avec comme instruction basique  des milliers de copies de cellule dans d'autre fichier
 
Extrait de la macro  
 
 
Workbooks("indiv08.xls" ).Worksheets("PAA" ).Cells(99, 3).Value = Workbooks("reponsePAA2.xls" ).Worksheets("CMLACO" ).Cells(11, 2).Value
 
ou encore  
 
 
Dim Fichier1, NomFichier$
Fichier1 = Application.GetOpenFilename("Fichiers Microsoft Office Excel, *.xls" )
If Fichier1 = False Then Exit Sub 'If Fichier1 Like "*\" & ThisWorkbook.Name Then MsgBox "Ouverture non autorisée.": Exit Sub
On Error Resume Next
Workbooks.Open Fichier1
On Error GoTo 0
NomFichier = Dir(Fichier1)
Workbooks(NomFichier).Activate
Workbooks(NomFichier).SaveAs Filename:= _
"F:\013_DirFinTech\042_DptEtudes\018_SrvSupFiabSI\SOP - Support Offres Produits\Inventaire emprunteurs\Laurent\fichier nécessaire\2008Sinistres02062009"
 
 
Ma chef m'a demandé de faire un fichier dixit log   ... retracant tout le déroulement de la macro ....  
Du genre pour l'exemple ici si l'action se déroule bien :  copie onglet ....de la cellule(11,2) dans l'onglet ... la cellule(99 ,3)  ok sinon ko
De même  si l'action se déroule bien afficher ouverture du fichier sinistre ok sinon ko  
 
 
Si vous pouviez m'aider ....  
car je suis un peu perdu  
 
Cordialement  
En vous remerciant

mood
Publicité
Posté le 03-08-2009 à 16:17:27  profilanswer
 

n°1911678
foxley_gra​vity
Posté le 04-08-2009 à 16:28:22  profilanswer
 

up please :(

n°1911768
Deamon
Posté le 05-08-2009 à 08:08:43  profilanswer
 

C'est quoi ton soucis ? Ecrire dans un fichier ?

n°1911782
foxley_gra​vity
Posté le 05-08-2009 à 09:15:21  profilanswer
 

Ben en faite , je suis un peu perdu .. j'ai une idée , faire des if msgbox ok, else msgbox ko ........mais ca serait super long et pénible ...  
 
Ma chef m'a dit qu'il fallait que j'inspire de la macro suivante , mais bon je vois pas trop comment il faut faire ... en te remerciant  
cdt  
 
 
Sub TextStreamTest()
    Const ForReading = 1, ForWriting = 2, ForAppending = 3
    Const TristateUseDefault = -2, TristateTrue = -1,
TristateFalse = 0
    Dim fs, f, ts, s
    Set fs = CreateObject("Scripting.FileSystemObject" )
    fs.CreateTextFile "test1.txt"      'Crée un fichier
    Set f = fs.GetFile("test1.txt" )
    Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
    ts.Write "Bonjour"
    ts.Close
    Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
    s = ts.ReadLine
    MsgBox s
    ts.Close
End Sub
 

n°1911785
Deamon
Posté le 05-08-2009 à 09:25:20  profilanswer
 

Tu as dit que tu faisais des milliers de copies, tu ne vas tout de même pas afficher un message à chaque fois !!
Un log c'est un fichier texte où tu écris les informations dedans. Là ta fonction écrit dans un fichier test1.txt, utilise ça pour écrire à chaque fois dans ton fichier. Tu fais ton OpenAsTextStream au tout début et à chaque copie tu fais un Write. A la fin tu fais Close et voilà ton fichier log est créé.

n°1911788
foxley_gra​vity
Posté le 05-08-2009 à 09:36:18  profilanswer
 

ok , merci  
Pourais tu me donner une démo avec l'exemple suivant de code, parce c'est mon premier fichier log , ^^ et je suis un peu perdu ...
 
Workbooks("indiv08.xls" ).Worksheets("PAA" ).Cells(99, 3).Value = Workbooks("reponsePAA2.xls" ).Worksheets("CMLACO" ).Cells(11, 2).Value  
 
merci bcp ...cdt

n°1911793
Deamon
Posté le 05-08-2009 à 09:42:43  profilanswer
 

Que ce soit un fichier log ou qu'importe tu dois quand même être capable de savoir quand la copie a été faite, dans ce cas tu écris après.

 
Code :
  1. Sub TextStreamTest()
  2.    Const ForReading = 1, ForWriting = 2, ForAppending = 3
  3.    Const TristateUseDefault = -2, TristateTrue = -1,TristateFalse = 0
  4.    Dim fs, f, ts, s
  5.    Set fs = CreateObject("Scripting.FileSystemObject" )
  6.    fs.CreateTextFile "test1.txt"      'Crée un fichier
  7.    Set f = fs.GetFile("test1.txt" )
  8.    Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
  9.  
  10.    On error resume next
  11.    For i=... To ...
  12.         [copie de la cellule n°i]
  13.         if err.Number = 0 then ' Pas d'erreur lors de la copie
  14.              ts.Write "copie de cellule " & i & " : ok"
  15.         else
  16.              ts.Write "copie de cellule " & i & " : échec".
  17.         end if
  18.         err.clear 'remettre à 0 la valeur de l'erreur
  19.    Next i
  20.  
  21.    ts.Close
  22. End Sub


Message édité par Deamon le 05-08-2009 à 09:43:31
n°1911819
foxley_gra​vity
Posté le 05-08-2009 à 10:04:34  profilanswer
 


Ben excuse moi , mais j'ai jamais programmé et je commence le vba depuis 3 semaine lol :(  
 
Pour savoir  si la copie a bien été faite , je ferais du genre  
if la cellule i du fichier 1 du classeur 1 <> cellule i du fichier2 du classeur 1  msgbox ("erreur pour la cellule "& i & )
else  
msgbox ("ok pour la cellule "& i & )
Mias bon c'est trés lourd car i varie varie de maniere aléatoire , pareille pour le nom de classeur , donc je dois faire ma boucle en dur ?
 
Sinon en adaptant ton code je trouve ca , mais je suis confronter au même probleme ,  pour les i ( ligne ) , j (colonne) , qui varient de maniere aléatoire , faut il le faire en dur ?
 
Cdt en te remerciant bcp ...
 
 
Sub TextStreamTest()
 
Dim i, m, n As Single
 
 
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fs, f, ts, s
Set fs = CreateObject("Scripting.FileSystemObject" )
 fs.CreateTextFile "test1.txt"      'Crée un fichier
  Set f = fs.GetFile("test1.txt" )
  Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
   
  On Error Resume Next
   For i = 0 To 100
m = i + 99
n = i + 11
 
Workbooks("indiv08.xls" ).Worksheets("PAA" ).Cells(m, 3).Value = Workbooks("reponsePAA2.xls" ).Worksheets("CMLACO" ).Cells(n, 2).Value
   
   If Err.Number = 0 Then ' Pas d'erreur lors de la copie
     ts.Write "copie de cellule " & m & " : ok"
     Else
     ts.Write "copie de cellule " & m & " : échec"
      End If
     Err.Clear 'remettre à 0 la valeur de l'erreur
     
     
     Next i
     
     
     ts.Close
     
     
     
 
   

n°1911827
Deamon
Posté le 05-08-2009 à 10:13:52  profilanswer
 

Mets ton code entre les balises [ code=vb] [ /code] déjà car c'est illisible sinon.

 

Ton 1er if ne sert à rien. Faire a=b puis if(a=b) je vois pas bien l'intérêt car je vois pas pourquoi ça marcherait vu qu'il s'agit de string normalement pas de problèmes. Enfin si mais la seule raison pour laquelle ça ne marcherait pas provoquerait une erreur que tu récupères avec mon test sur err.Number.

 


Après si tu peux vraiment pas faire de boucle tu peux peut-être stocker les coordonnées ds un tableau à la main et le parcourir pour récupérer les coordonnées à chaque copie.


Message édité par Deamon le 05-08-2009 à 10:14:37
n°1911833
foxley_gra​vity
Posté le 05-08-2009 à 10:19:48  profilanswer
 

Ben oui moi non plus je vois pas l'interet lol , mais je dois faire un truc qui retrace toute la macro , pour savoir si tout c'est bien dérouler ... si tu as une autre solution , c'est avec plaisir ...
Et pourrait tu developper plus ton idée de tableau stp lol parce je suis perdu :(  
 merci !
Mais sinon  ce code est til correcte?
 
[ code=vb] [ /code]  
 
Sub TextStreamTest()  
 
Dim i, m, n As Single  
 
 
Const ForReading = 1, ForWriting = 2, ForAppending = 3  
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0  
Dim fs, f, ts, s  
Set fs = CreateObject("Scripting.FileSystemObject" )  
 fs.CreateTextFile "test1.txt"      'Crée un fichier  
  Set f = fs.GetFile("test1.txt" )  
  Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)  
   
  On Error Resume Next  
   For i = 0 To 100  
m = i + 99  
n = i + 11  
 
Workbooks("indiv08.xls" ).Worksheets("PAA" ).Cells(m, 3).Value = Workbooks("reponsePAA2.xls" ).Worksheets("CMLACO" ).Cells(n, 2).Value  
     
   If Err.Number = 0 Then ' Pas d'erreur lors de la copie  
     ts.Write "copie de cellule " & m & " : ok"  
     Else  
     ts.Write "copie de cellule " & m & " : échec"  
      End If  
     Err.Clear 'remettre à 0 la valeur de l'erreur  
       
       
     Next i  
       
       
     ts.Close  
 end sub  
 
[ code=vb] [ /code]

mood
Publicité
Posté le 05-08-2009 à 10:19:48  profilanswer
 

n°1911835
foxley_gra​vity
Posté le 05-08-2009 à 10:20:42  profilanswer
 

Ben oui moi non plus je vois pas l'interet lol , mais je dois faire un truc qui retrace toute la macro , pour savoir si tout c'est bien dérouler ... si tu as une autre solution , c'est avec plaisir ...  
Et pourrait tu developper plus ton idée de tableau stp lol parce je suis perdu    
 merci !  
Mais sinon  ce code est til correcte?  
 
[ code=vb] [ /  
 
Sub TextStreamTest()  
   
Dim i, m, n As Single  
   
   
Const ForReading = 1, ForWriting = 2, ForAppending = 3  
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0  
Dim fs, f, ts, s  
Set fs = CreateObject("Scripting.FileSystemObject" )  
 fs.CreateTextFile "test1.txt"      'Crée un fichier  
  Set f = fs.GetFile("test1.txt" )  
  Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)  
     
  On Error Resume Next  
   For i = 0 To 100  
m = i + 99  
n = i + 11  
   
Workbooks("indiv08.xls" ).Worksheets("PAA" ).Cells(m, 3).Value = Workbooks("reponsePAA2.xls" ).Worksheets("CMLACO" ).Cells(n, 2).Value  
     
   If Err.Number = 0 Then ' Pas d'erreur lors de la copie  
     ts.Write "copie de cellule " & m & " : ok"  
     Else  
     ts.Write "copie de cellule " & m & " : échec"  
      End If  
     Err.Clear 'remettre à 0 la valeur de l'erreur  
       
       
     Next i  
       
       
     ts.Close  
 end sub  
 
]  

n°1911837
foxley_gra​vity
Posté le 05-08-2009 à 10:21:34  profilanswer
 

j'arrive même pas à faire les balises mdr

n°1911842
Deamon
Posté le 05-08-2009 à 10:24:18  profilanswer
 

Les balises c'est  
 
[ code=vb]
*ton code ici*
[ /code]
 
Et sans mettre d'espace après la première [
Edite ton post.
 
Pour le tableau par exemple tu stockes dans un tableau de string :
A2;B4;H12;Z34;...
Et après ds ta copie tu fais (je crois que c'est Range au lieu de Cells mais pas sur) :

Code :
  1. For i=...
  2.   Workbooks("indiv08.xls" ).Worksheets("PAA" ).Range(monTableau[i]).Value = ...
  3. Next i

n°1911861
foxley_gra​vity
Posté le 05-08-2009 à 10:37:01  profilanswer
 

Ok , donc toi en gros tu veux tout réorganiser dans un tableau  
Donc pour l'ex  
 

Code :
  1. Workbooks("indiv08.xls" ).Worksheets("PAA" ).Cells(99, 3).Value = Workbooks("reponsePAA2.xls" ).Worksheets("CMLACO" ).Cells(11, 2).Value

 
 
Je met dans mon  tableau  a99 b11 apres je vérifie la valeur des cordonnées  de string ( localisation ) est bien égale a ?
 
 
 
 

Code :
  1. Sub TextStreamTest()  
  2.  
  3. Dim i, m, n As Single  
  4.  
  5.  
  6. Const ForReading = 1, ForWriting = 2, ForAppending = 3  
  7. Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0  
  8. Dim fs, f, ts, s  
  9. Set fs = CreateObject("Scripting.FileSystemObject" )  
  10. fs.CreateTextFile "test1.txt"      'Crée un fichier  
  11.  Set f = fs.GetFile("test1.txt" )  
  12.  Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)  
  13.    
  14.  On Error Resume Next  
  15.   For i = 0 To 100  
  16. m = i + 99  
  17. n = i + 11  
  18.  
  19. Workbooks("indiv08.xls" ).Worksheets("PAA" ).Cells(m, 3).Value = Workbooks("reponsePAA2.xls" ).Worksheets("CMLACO" ).Cells(n, 2).Value  
  20.      
  21.   If Err.Number = 0 Then ' Pas d'erreur lors de la copie  
  22.     ts.Write "copie de cellule " & m & " : ok"  
  23.     Else  
  24.     ts.Write "copie de cellule " & m & " : échec"  
  25.      End If  
  26.     Err.Clear 'remettre à 0 la valeur de l'erreur  
  27.        
  28.        
  29.     Next i  
  30.        
  31.        
  32.     ts.Close  
  33. end sub

 
 

n°1911867
Deamon
Posté le 05-08-2009 à 10:44:31  profilanswer
 

Oui enfin ici ça serait plus C99 et B11. Tu peux faire deux tableaux, 1 pour les destinations à copier l'autre pour la destination.

n°1911882
foxley_gra​vity
Posté le 05-08-2009 à 10:59:21  profilanswer
 

Mais en faite, je l'ai deja fait , j'ai un fichier excel avec des dizaine onglet , avec beucoup de tableau du genre  
 
source  
b1 onglet A  
cible  b13 onglet B  
 
par exemple ...  
Comment puis je l'exploiter ?

n°1911888
Deamon
Posté le 05-08-2009 à 11:12:15  profilanswer
 

Je sais pas mais essaye de trouver une solution optimale pour éviter de copier/coller du code.

n°1913426
foxley_gra​vity
Posté le 10-08-2009 à 13:37:50  profilanswer
 


Re bonjour  
J'ai éssayer de faire ce que vous m'aviez dit ( apparement obligation de faire des copier colle a chaque fois ) mais il y a un truc que je saisie pas ...
même si la copie de cellule ne se fait pas , le message copie cellule est toujours ok ......question 2 : je cré mon fichier log en l'insérant dans le fichier initial .. en dessous de chaque instruction je rajoute bien cela ?
 
 

Code :
  1. If Err.Number = 0 Then ' Pas d'erreur lors de la copie  
  2.     ts.Write "copie de cellule " & m & " : ok"  
  3.     Else  
  4.     ts.Write "copie de cellule " & m & " : échec"  
  5.      End If  
  6.     Err.Clear 'remettre à 0 la valeur de l'erreur


 
en vous remerciant d'avance
voici mon code qui marche pas  
 

Code :
  1. Sub log()
  2.  
  3. 'Fichier cible
  4. '--------------------------------------------------------------------------------------------------------------------
  5. ' ouverture fichier indiv
  6. Workbooks.Open Filename:="F:\013_DirFinTech\042_DptEtudes\018_SrvSupFiabSI\SOP - Support Offres Produits\Inventaire emprunteurs\Laurent\fichier nécessaire2\indiv08.xls"
  7.  
  8. 'Fichier Source
  9. '--------------------------------------------------------------------------------------------------------------------
  10. ' ouverture fichier envoyé par la gestion des contrats
  11. Workbooks.Open Filename:="F:\013_DirFinTech\042_DptEtudes\018_SrvSupFiabSI\SOP - Support Offres Produits\Inventaire emprunteurs\Laurent\fichier nécessaire2\STATISTIQUES MENSUELLESmai1.xls"
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18. Const ForReading = 1, ForWriting = 2, ForAppending = 3
  19. Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
  20.  
  21. Dim fs, f, ts, s
  22.  
  23. Set fs = CreateObject("Scripting.FileSystemObject" )
  24. fs.CreateTextFile "test1.txt"      'Crée un fichier
  25.  Set f = fs.GetFile("test1.txt" )
  26.  Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
  27.    
  28.  On Error Resume Next
  29.    
  30. Workbooks("indiv08.xls" ).Worksheets("PREVI" ).Cells(103, 3).Value = Workbooks("STATISTIQUES MENSUELLESmai1.xls" ).Worksheets("06 2009" ).Cells(8, 2).Value
  31.      
  32.   If Err.Number = 0 Then ' Pas d'erreur lors de la copie
  33.     ts.Write "copie de cellule(103, 3)  ok"
  34.     Else
  35.     ts.Write "copie de cellule (103, 3) échec"
  36.      End If
  37.     Err.Clear 'remettre à 0 la valeur de l'erreur
  38.        
  39.        
  40.  
  41.        
  42.        
  43.     ts.Close
  44.    
  45.    
  46.    
  47.    
  48. Workbooks(test1).SaveAs Filename:= _
  49. "D:\Documents and Settings\x7001\Bureau\test1"
  50.    
  51. End Sub

n°1913445
Deamon
Posté le 10-08-2009 à 14:16:21  profilanswer
 

Ca vaut quoi test1 de la dernière ligne ?
 
Question 2 : oui mais il serait peut-être plus judicieux d'en faire une fonction afin d'éviter de tout recopier à chaque fois.

n°1913452
foxley_gra​vity
Posté le 10-08-2009 à 14:36:36  profilanswer
 

Test1 est le fichier txt retraçant le déroulement de la macro ...si je fais expres de fausser la copie de la cellule , il m'affiche toujours ok

n°1913455
Deamon
Posté le 10-08-2009 à 14:39:58  profilanswer
 

Je comprends toujours pas ce que tu fais avec ta ligne 48-49.
Ta variable test1 est définie où ? Y a quoi dans ce fichier ? Y a un rapport avec le log test1.txt ?
 
Pour fausser la copie de la cellule comment est-ce réalisé ?

n°1913457
foxley_gra​vity
Posté le 10-08-2009 à 14:41:39  profilanswer
 

ben avant j'ai créer un fichier text1 et la je l'enregistre ...

n°1913458
foxley_gra​vity
Posté le 10-08-2009 à 14:42:24  profilanswer
 

Dans ce fichier devra figurer toutes les phrases de  genre "copie de cellule(103, 3)  ok"

n°1913459
Deamon
Posté le 10-08-2009 à 14:43:35  profilanswer
 

Non mais Workbooks(...).SaveAs Filename:= ... c'est pour enregistrer un classeur Excel.
Tu n'as pas besoin d'enregistrer quoique ce soit. Le Write écrit dans ton fichier, le Close va l'enregistrer automatiquement.

n°1913462
foxley_gra​vity
Posté le 10-08-2009 à 14:46:33  profilanswer
 

a ok lol ben alors ca sert à rien ... désolé ! mais le même persiste ...

n°1913465
Deamon
Posté le 10-08-2009 à 14:52:18  profilanswer
 

Pour fausser la copie de la cellule comment est-ce réalisé ?
T'es sur que le fichier log est bien modifié (cf date de modification du fichier)


Message édité par Deamon le 10-08-2009 à 14:53:13
n°1913466
foxley_gra​vity
Posté le 10-08-2009 à 14:56:10  profilanswer
 

ben je modifie l'adress du fichier , donc la copie ne se fait plus , il me dit tjrs ok ..

n°1913472
Deamon
Posté le 10-08-2009 à 15:05:35  profilanswer
 

Je viens de tester les lignes 28 à 39 ça marche chez moi. Vérifie avec le débugger qu'il passe bien par là.

n°1913497
foxley_gra​vity
Posté le 10-08-2009 à 15:26:11  profilanswer
 

bon je vais peter un cable lol ! j'arrive même plus à accéder à ce fichier log ....il se trouve ou ?

n°1913515
Deamon
Posté le 10-08-2009 à 15:38:33  profilanswer
 

A coté de ton fichier excel à partir duquel tu exécutes la macro.
Mais libre à toi de mettre un chemin complet dans CreateTextFile et GetFile.


Message édité par Deamon le 10-08-2009 à 15:39:11
n°1914021
foxley_gra​vity
Posté le 11-08-2009 à 15:31:52  profilanswer
 

Re , excuse moi , mais je n'arrive pas à tester si il y a une erreur , pour voir s'il m'affiche bien le ko.... parce je crois que chez moi c'est toujours du ok ...  
 
en vous remerciant  
cdt

n°1914038
Deamon
Posté le 11-08-2009 à 15:47:02  profilanswer
 

Je rerepose ma question : T'es sur que ton fichier log est bien modifié ?


Message édité par Deamon le 11-08-2009 à 15:47:13
n°1914061
foxley_gra​vity
Posté le 11-08-2009 à 16:07:57  profilanswer
 

ie ,  de quelles modifications parles tu ?

n°1914077
Deamon
Posté le 11-08-2009 à 16:28:59  profilanswer
 

ton log qui dit ok/ko ! tu dis qu'il est tout le temps ok mais es-tu sur que c'est pas une vieille version qui a dit ok une fois et qui n'est pas modifié depuis ?

n°1914082
foxley_gra​vity
Posté le 11-08-2009 à 16:36:50  profilanswer
 

ben voici la derniere vertion ... j'ai gardé Workbooks(...).SaveAs Filename:= pour avoir le fichier text log, sinon il n'apparait pas
 

Code :
  1. Sub log()
  2.  
  3. 'Fichier cible
  4. '--------------------------------------------------------------------------------------------------------------------
  5. ' ouverture fichier indiv
  6. Workbooks.Open Filename:="F:\013_DirFinTech\042_DptEtudes\018_SrvSupFiabSI\SOP - Support Offres Produits\Inventaire emprunteurs\Laurent\fichier nécessaire2\indiv08.xls"
  7.  
  8. 'Fichier Source
  9. '--------------------------------------------------------------------------------------------------------------------
  10. ' ouverture fichier envoyé par la gestion des contrats
  11. Workbooks.Open Filename:="F:\013_DirFinTech\042_DptEtudes\018_SrvSupFiabSI\SOP - Support Offres Produits\Inventaire emprunteurs\Laurent\fichier nécessaire2\STATISTIQUES MENSUELLESmai1.xls"
  12.  
  13.  
  14. Const ForReading = 1, ForWriting = 2, ForAppending = 3
  15. Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
  16.  
  17. Dim fs, f, ts, s
  18.  
  19. Set fs = CreateObject("Scripting.FileSystemObject" )
  20. fs.CreateTextFile "test1.txt"      'Crée un fichier
  21.  Set f = fs.GetFile("test1.txt" )
  22.  Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
  23.    
  24.  On Error Resume Next
  25.    
  26. Workbooks("indiv08.xls" ).Worksheets("PREVI" ).Cells(103, 3).Value = Workbooks("STATISTIQUES MENSUELLESmai1.xls" ).Worksheets("06 2009" ).Cells(8, 2).Value
  27.      
  28.   If Err.Number = 0 Then ' Pas d'erreur lors de la copie
  29.     ts.Write "copie de cellule(103, 3)  ok"
  30.     Else
  31.     ts.Write "copie de cellule (103, 3) échec"
  32.      End If
  33.     Err.Clear 'remettre à 0 la valeur de l'erreur
  34.            
  35.      
  36.     ts.Close
  37.  
  38.    
  39. Workbooks(test1).SaveAs Filename:= _
  40. "D:\Documents and Settings\x7001\Bureau\test1"
  41.    
  42. End Sub

n°1914101
foxley_gra​vity
Posté le 11-08-2009 à 16:54:19  profilanswer
 

juste un autre petit truc , quand il y plusieurs vérifications les commentaires dans le fichiers txt se mettent les un à la suite des autres ... il faut faire quoi pour aller à la ligne à chaque commentaire ...

n°1914112
kiki29
Posté le 11-08-2009 à 17:11:30  profilanswer
 

Salut rajouter un VbCrLf en bout de chaine

n°1914117
foxley_gra​vity
Posté le 11-08-2009 à 17:17:01  profilanswer
 

meric kiki !!  
en me renseignant sur des forum j'ai écris cela  
ts.Write "copie de cellule(103, 3)  ok" & vbCrLf  
mais ça ne marche pas  

n°1914124
Deamon
Posté le 11-08-2009 à 17:22:12  profilanswer
 

foxley_gravity a écrit :

mais ça ne marche pas  


Tu pourrais pas être plus clair que "ça marche pas" à chaque fois franchement ?

n°1914128
foxley_gra​vity
Posté le 11-08-2009 à 17:25:48  profilanswer
 

ben il n'y pas de changement de ligne ..en réponse au message de kiki ...les messages restent les un à la suite des autres
et Deamn ®™ tu ne m'as toujours pas dit que comment testé le message ko ...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Création fichier log retraçant le déroulement d'une macro

 

Sujets relatifs
[awk] Extraire et additionner différents élements d'un fichierlire un nombre en notation scientifique dans un fichier
Creation d'un logiciel open sourceProblème dans une macro devant faire un tri
Convertir le résultat d'une requête SQL en fichier excelCatcher une alerte dans une macro excel
Macro Excel : tableau dynamique[Android] Enregistrement fichier xml
[RESOLU] erreur pendant le chargement un fichier XMLCorruption de fichier .rar dans MySQL help!
Plus de sujets relatifs à : Création fichier log retraçant le déroulement d'une macro


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR