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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager