XL 2019 Vérifier si Fichier PDF existe dans sauvegarde

AIXELS

XLDnaute Occasionnel
Bonjour à tous les Amis du Forum. :)
Grâce à votre aide et vos compétences, j'avance sur mon projet.
Je reviens vers vous une fois de plus de l'aide concernant
le contrôle de la présence du fichier archivé sous format PDF.
La vérification est à faire uniquement sur le numéro "D2022-09-158"
pas sur les infos qui suivent le nom de l'archive. Ce numéro évolue
dans le temps bien sûr au fur et à mesure de la la création des devis

S'il n'existe pas, on l'archive et s'il existe, un message s'affiche
"Fichier déjà existant dans l'archivage, voulez-vous l'écraser ?"
Voir les explications sur le fichier joint.

J'ai déjà commencé à le sauvegarder en PDF, mais je ne sais pas
comment faire la vérification. (Voir la macro qui fonctionne très bien)
Merci pour votre aide.
Bien cordialement.
 

Pièces jointes

  • VERIF_DEVIS.xlsm
    41.2 KB · Affichages: 6

AIXELS

XLDnaute Occasionnel
Mais si tu lis bien #32, tu devrais déjà résoudre ton problème de sortie de macro. ;)
VB:
If Rep = vbCancel Then Exit Sub

J'ai remplacé vbNo par vbCancel
Mais mes messages sont mal placés.
Je n'arrive pas à placer au bon endroit :

VB:
MsgBox Buttons:=vbInformation, Prompt:="         L'archivage du Devis " & Chr(10) & "       N°-->  " & Sheets("DEVIS").[B7] & Chr(10) & _
                                                                                                                                              "     annulé par l'utilisateur !", Title:="  Info"

VB:
'Sauvegarde pour archivage des Devis dans la Base (onglet HISTORIQUE DEVIS)
'Garder un historique des devis crées à des fins de recherches si nécessaire
Private Sub CommandButton6_Click()

    Dim tablo, DL%, C%
    Dim Ligne As Variant

    Application.ScreenUpdating = True
    Sheets("DEVIS").Select
    Range("B7").Select

    Application.ScreenUpdating = True

    tablo = Array("B7", "C7", "D7", "E7", "E8", "F7", "F8", "F22", "E21")
    With Sheets("HISTORIQUE_DEVIS")
        If Application.CountIf(.[A:A], [B7]) <> 0 Then


            Application.ExecuteExcel4Macro "SOUND.PLAY(,""C:\Windows\Media\Alarm10.wav"")"


            Rep = MsgBox(Buttons:=vbOKCancel + vbDefaultButton2 + vbCritical, Prompt:="    N°--> " & Sheets("DEVIS").[B7] & Chr(10) & "    Ce devis est déjà archivé" & vbNewLine & _
                         "    Dois-je l'écraser ?", Title:="GoTo HandleExitN° de devis déjà existant")
      
      
            If Rep = vbCancel Then Exit Sub
            Ligne = Application.Match([B7], .[A:A], 0)
        End If
        If Ligne <> "" Then DL = Ligne Else DL = .Range("A65500").End(xlUp).Row + 1
        For C = 1 To 1 + UBound(tablo)
            .Cells(DL, C) = Range(tablo(C - 1))
                
        Next C
    
        MsgBox Buttons:=vbInformation, Prompt:="         L'archivage du Devis " & Chr(10) & "       N°-->  " & Sheets("DEVIS").[B7] & Chr(10) & _
                                                                                                                                              "     s'est déroulé avec succès !", Title:="  Info"
    
    End With
 

AIXELS

XLDnaute Occasionnel
J'ai rajouté goto Fin après End With.
C'est la seule solution que j'ai trouvée pour sauter
le message en cas de réponse "OUI" écraser le fichier
et ne pas afficher le message " Annulé par l'utilisateur"
Si tu as mieux ou plus logique, je prends

VB:
        MsgBox Buttons:=vbInformation, Prompt:="         L'archivage du Devis " & Chr(10) & "       N°-->  " & Sheets("DEVIS").[B7] & Chr(10) & _
                                                                                                                                              "     s'est déroulé avec succès !", Title:="  Info"
    
    End With
        GoTo Fin
        
        MsgBox Buttons:=vbInformation, Prompt:="         L'archivage du Devis " & Chr(10) & "       N°-->  " & Sheets("DEVIS").[B7] & Chr(10) & _
                                                                                                                                              "     annulé par l'utilisateur !", Title:="  Info"
Fin:
End Sub

Merci pour ton aide.
Bon week-end.
Bien cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
311 723
Messages
2 081 932
Membres
101 844
dernier inscrit
pktla