Bug dans programme excel vba
Daniel
-
zheimer -
zheimer -
Bonjour à tous,
J'ai crée une macro excel qui permet d'enregistrer chaque impression sur un fichier txt (historique).
Mais ça marche aléatoirement...
L'extrait du code :
Open "Historique.txt" For Append Shared As #f
If FileLen("Historique.txt") = 0 Then
Print #f, "Affaire :", Cells(6, 6), "N°", Cells(8, 6)
End If
Print #f, ""
Print #f, "Rapport de diffusion du : ", Format(Now(), "dd/MM/yyyy"), " à ", Format(Now(), "hh:mm:ss")
For j = 1 To 15
If Cells(17 + j, 2).Value <> "" Then
Print #f, "Plan N°", Cells(17 + j, 2).Value, Cells(17 + j, 3).Value, Cells(17 + j, 5).Value, "Indice", Cells(17 + j, 7).Value, "du", Format(Cells(17 + j, 8).Value, "dd/MM/yyyy")
End If
For k = 1 To 12
If Cells(17 + j, 8 + k).Value <> "" Then
Cells(6, 23).Value = k
Print #f, " Diffusé à ", Cells(8, 10), "en", Cells(17 + j, 8 + k).Value, "exemplaires"
End If
Next
Cells(6, 23).Value = ""
Next
Close #f
Ya quelques conditions pour écrire dessus mais normalement, cette partie :
Print #f, ""
Print #f, "Rapport de diffusion du : ", Format(Now(), "dd/MM/yyyy"), " à ", Format(Now(), "hh:mm:ss")
il devrait me l'écrire systématiquement.
Du coup, je me demande pas s'il y a une erreur de syntaxe.
Le fichier est enregistré sur un disque réseau si des fois ça viendrait de là.
Merci pour vos éclaircissements,
Daniel
J'ai crée une macro excel qui permet d'enregistrer chaque impression sur un fichier txt (historique).
Mais ça marche aléatoirement...
L'extrait du code :
Open "Historique.txt" For Append Shared As #f
If FileLen("Historique.txt") = 0 Then
Print #f, "Affaire :", Cells(6, 6), "N°", Cells(8, 6)
End If
Print #f, ""
Print #f, "Rapport de diffusion du : ", Format(Now(), "dd/MM/yyyy"), " à ", Format(Now(), "hh:mm:ss")
For j = 1 To 15
If Cells(17 + j, 2).Value <> "" Then
Print #f, "Plan N°", Cells(17 + j, 2).Value, Cells(17 + j, 3).Value, Cells(17 + j, 5).Value, "Indice", Cells(17 + j, 7).Value, "du", Format(Cells(17 + j, 8).Value, "dd/MM/yyyy")
End If
For k = 1 To 12
If Cells(17 + j, 8 + k).Value <> "" Then
Cells(6, 23).Value = k
Print #f, " Diffusé à ", Cells(8, 10), "en", Cells(17 + j, 8 + k).Value, "exemplaires"
End If
Next
Cells(6, 23).Value = ""
Next
Close #f
Ya quelques conditions pour écrire dessus mais normalement, cette partie :
Print #f, ""
Print #f, "Rapport de diffusion du : ", Format(Now(), "dd/MM/yyyy"), " à ", Format(Now(), "hh:mm:ss")
il devrait me l'écrire systématiquement.
Du coup, je me demande pas s'il y a une erreur de syntaxe.
Le fichier est enregistré sur un disque réseau si des fois ça viendrait de là.
Merci pour vos éclaircissements,
Daniel
A voir également:
- Bug dans programme excel vba
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Programme demarrage windows - Guide
3 réponses
bonjour
filelen donne la taille du fichier avant ouverture. le fichier est ouvert en mode append, il est donc possible qu'il contienne déjà des écritures suite au précédent lancement de la macro.
Le mode append est il obligatoire?
filelen donne la taille du fichier avant ouverture. le fichier est ouvert en mode append, il est donc possible qu'il contienne déjà des écritures suite au précédent lancement de la macro.
Le mode append est il obligatoire?