Vérification de présence du fichier avant enregistrement
salut a tous, dans le cadre de mon boulot je suis chargé de développer une gestion d'approvisionnement d'articles.
j'ai donc un classeur dans lequel j'ai des "part number" et un "indice" qui forment ma référence, je met ca dans une variable et ca me sort un qrcode et un code barre dans une nouvelle feuille.
j'ai ensuite fait en sorte que cette nouvelle feuille d'enregistrer au format pdf chaque ref accompagné de son qrcode et code barre pour pouvoir envoyer ca a mon fournisseur au moment de la commande comme ca il colle directement mon étiquette sur le produit.
je rencontre un problème car j'ai 899 ref potentielles et ca ne peut qu'augmenter, quand je lance la macro il me réenregistre chaque fichier et ca prend énormément de temps donc je voudrais faire en sorte que ma macro vérifie la présence du fichier pdf avant d'enregistrer et c'est la que je cale.
comme le nom de fichier change a chaque ref je ne sais pas comment faire.
voici mon code
ci y'a besoin de plus merci de me le dire
PS: il y a une semaine je n'avais aucune connaissance en VBA et j'ai pas mal recherché mais je n'ai peut être pas la bonne logique pour comprendre
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| Sub EnregistreEtiquette()
'******************************************************************************************************************************************************************************************
'I. DEBUT DECLARATION DES VARIABLE*********************************************************************************************************************************************************
'******************************************************************************************************************************************************************************************
Dim Chemin_Dossier_str As String
Dim Part_Number_str As String
Dim Indice_str As String
Dim Ref_Etiquette_str As String
Dim Release_str As String
Dim Nom_Fichier_str As String
Dim Ligne_int As Integer
Dim Derniere_Ligne_int As Integer
Dim Fichier_Existe_bool As Boolean
'******************************************************************************************************************************************************************************************
'II. CREATION BOUCLE DE GENERATION DES ETIQUETTES******************************************************************************************************************************************
'******************************************************************************************************************************************************************************************
'on cherche la derniere ligne du tableau des appro
Derniere_Ligne_int = ThisWorkbook.Sheets("APPRO").Range("A65536").End(xlUp).Row
'on crée une boucle entre la ligne 27 et la derniere du tableau
For Ligne_int = 27 To Derniere_Ligne_int
'on lit les variables de la feuille appro
Release_str = ThisWorkbook.Sheets("APPRO").Cells(Ligne_int, 10).Value
Part_Number_str = ThisWorkbook.Sheets("APPRO").Cells(Ligne_int, 8).Value
Indice_str = ThisWorkbook.Sheets("APPRO").Cells(Ligne_int, 9).Value
'on vérifie dans Si la variable release est ok
If Release_str = "OK" Then
'si release ok alors on verifie si il y a un indice
If Indice_str <> "" Then
'si il y a un indice alors on ecrit dans la variable ref etiquette le part number "-" indice
Ref_Etiquette_str = Part_Number_str & "-" & Indice_str
Else
'si pas d'indice on laisse juste le part number dans la variable ref etiquette
Ref_Etiquette_str = Part_Number_str
End If
'on ecrit la variable Ref_étiquette_str dans la feuilleetiquette template
ThisWorkbook.Sheets("TEMPLATE etiquette").Range(" B3 ").Value = Ref_Etiquette_str
'Nom de dossier
Chemin_Dossier_str = "G:\XXXXXXXXXX\XXXXXX\XXXXXXXXXXX\XXXXXXXXX\XXXXXXXXX\XXXXXXXXXXXXXXX\3_Dossier_étiquettes_QRcode\"
'Enregistrement au format PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Chemin_Dossier_str & Range("B3").Value & ".pdf", quality:= _
xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _
from:=1, To:=1, openafterpublish:=False
Else
'si release n'est pas ok on passe
End If
Next
End Sub |