Olic78124
XLDnaute Nouveau
Bonjour à toutes et à tous,
Tout est dans le titre, ou presque (voir code ci-dessous.
Je crée un fichier txt pour y mettre une liste d'erreur que j'exploite plus tard. La création se passe bien.
J'y écris 4 lignes (les 4 premiers Print #1 dans le code) et tout est OK je les retrouve bien dans le fichier.
Ensuite, à l'exploitation des données, je crée une ligne me donnant le numéro d'un demande lorsque cette dernière ne se trouve dans aucun onglet et c'est là que la problèmes commencent : je me prends un message "Erreur 52 : Nom ou numéro de fichier incorrect" (Print #1 au milieu du code) alors que le fichier txt est toujours ouvert
Même message en fin de Sub lorsque je veux écrire la bannière de fin de traitement dans le txt (les 4 Print #1 en fin de Sub)
J'utilise cette création/écriture/fermeture de fichier txt à tour de bras dans toutes les macros qui j'écris et je n'ai jamais rencontré ce genre d'erreur, une idée ?
D'avance merci et excellent réveillon à tout le monde.
Olivier
Tout est dans le titre, ou presque (voir code ci-dessous.
Je crée un fichier txt pour y mettre une liste d'erreur que j'exploite plus tard. La création se passe bien.
J'y écris 4 lignes (les 4 premiers Print #1 dans le code) et tout est OK je les retrouve bien dans le fichier.
Ensuite, à l'exploitation des données, je crée une ligne me donnant le numéro d'un demande lorsque cette dernière ne se trouve dans aucun onglet et c'est là que la problèmes commencent : je me prends un message "Erreur 52 : Nom ou numéro de fichier incorrect" (Print #1 au milieu du code) alors que le fichier txt est toujours ouvert
Même message en fin de Sub lorsque je veux écrire la bannière de fin de traitement dans le txt (les 4 Print #1 en fin de Sub)
J'utilise cette création/écriture/fermeture de fichier txt à tour de bras dans toutes les macros qui j'écris et je n'ai jamais rencontré ce genre d'erreur, une idée ?
D'avance merci et excellent réveillon à tout le monde.
Olivier
VB:
Sub Recuperation_information()
Application.ScreenUpdating = False
' Déclaration des variables
Dim Onglet(30)
Dim FichierOuvert As String
Dim DernLigne As Integer
Dim NbOnglets As Integer
Dim NomOnglet As Variant
Dim Projet As String
Dim TableauCCS()
Dim NomMois As String, NomFichier As String, MonDossier As String
Set Principal = ActiveWorkbook
NbOnglets = 0
'=================================================================
' Modification 20191127 - Mise en place d'un fichier LOG
NomMois = Format(Date, "MMMMyyyy")
NomFichier = Format(Date, "yyyymmdd") & " - " & Format(Time, "hhmm")
MonDossier = "C:\User\" & Right(Application.UserName, 7) & "\Fichiers CdC\"
' Création du/des dossier(s) pour accueillir les fichiers de suivi/log
If Len(Dir(MonDossier, vbDirectory)) = 0 Then
MkDir (MonDossier)
End If
MonDossier = MonDossier & NomMois & "\"
If Len(Dir(MonDossier, vbDirectory)) = 0 Then
MkDir (MonDossier)
End If
MonDossier = MonDossier & "S" & Format(Date, "ww") & "\"
If Len(Dir(MonDossier, vbDirectory)) = 0 Then
MkDir (MonDossier)
End If
'=================================================================
Open MonDossier & "Recup_Infos_" & NomFichier & ".txt" For Output As #1 ' Création du fichier LOG
Print #1, "================================================================================"
Print #1, "Erreurs rencontrées lors de la récupération des informations des CdC Spécifiques"
Print #1, "================================================================================"
Print #1, ""
Principal.Activate
ActiveWorkbook.Sheets("Admin").Activate
CCS = 2
While Cells(CCS, 11) = 1
FichierOuvert = Cells(CCS, 10).Value & "_EVPH_deliverable_" & Cells(CCS, 9).Value & ".xlsm"
Workbooks.Open Filename:="https://xxxxxxxxxxyyyyy/zzzzz/ref." & Cells(CCS, 10).Value & "/v.vc/" & FichierOuvert
' Activation du carnet de commande spécifique
Workbooks(FichierOuvert).Activate
ActiveWorkbook.Sheets("REQUEST").Activate
TableauCCS = Range("A13:BR" & Range("C" & Rows.Count).End(xlUp).Row)
For k = 1 To UBound(TableauCCS)
If TableauCCS(k, 50) <> "Stopped" Or TableauCCS(k, 60) = "Accepted" Or TableauCCS(k, 60) = "Tacite" Then
' Activation du carnet de commande source
Principal.Activate
ActiveWorkbook.Sheets("CR").Activate
NomOnglet = Application.VLookup(TableauCCS(k, 3), Range("C4:BZ" & Range("C" & Rows.Count).End(xlUp).Row), 76, False)
If IsError(NomOnglet) Then
' Inscription de l'erreur dans le fichier LOG
[B][COLOR=rgb(226, 80, 65)] [/COLOR][/B]Print #1, "Erreur sur la demande " & TableauCCS(k, 3)
GoTo Erreur
End If
ActiveWorkbook.Sheets(NomOnglet).Activate
NbLignes = Range("C" & Rows.Count).End(xlUp).Row
For j = 13 To NbLignes
If Cells(j, 3) = TableauCCS(k, 3) Then
' Ligne de code / copies de données
End If
Next j
Erreur:
' Next sh
End If
Next k
' Fermeture sans sauvegarde du CdC Spécifique ouvert
Workbooks.Item(FichierOuvert).Close savechanges:=False
CCS = CCS + 1
Principal.Activate
ActiveWorkbook.Sheets("Admin").Activate
Erase TableauCCS
Wend
Print #1, ""
Print #1, "=================================================="
Print #1, "Fin de la prodédure de récupération d'informations"
Print #1, "=================================================="
Close #1
Application.ScreenUpdating = True
End Sub