cathodique
XLDnaute Barbatruc
Bonjour,
Je me suis aidé de ce que j'ai trouvé sur le forum et là je bloque vraiment.
Je me tourne vers vous car je n'arrive pas à repérer mes erreurs. Je voudrais éditer des feuilles en PDF et créer un classeur. Mais à priori, je voudrais vérifier l'existence de dossiers et fichiers.
C-à-d, si le dossier n'existe pas il est créer et idem pour le fichier avec un message pour confirmer l'écrasement ou pas. Mais mon code sort de la procédure si le fichier n'existe pas, par contre il poursuit son exécution si le fichier existe. Je n'ai vraiment pas compris pourquoi. Je vous remercie pour votre aide.
Pour la procédure de création du classeur, le code bug sur la ligne qui nomme la 4ème feuille. Je suppose que c'est parce que par défaut Excel ouvre un nouveau classeur avec 3 feuilles. Comment faire, sans passer par les options d'Excel à forcer la création d'un nouveau classeur avec 4 feuilles?
Je vous remercie par avance.
Cordialement,
Je me suis aidé de ce que j'ai trouvé sur le forum et là je bloque vraiment.
Je me tourne vers vous car je n'arrive pas à repérer mes erreurs. Je voudrais éditer des feuilles en PDF et créer un classeur. Mais à priori, je voudrais vérifier l'existence de dossiers et fichiers.
C-à-d, si le dossier n'existe pas il est créer et idem pour le fichier avec un message pour confirmer l'écrasement ou pas. Mais mon code sort de la procédure si le fichier n'existe pas, par contre il poursuit son exécution si le fichier existe. Je n'ai vraiment pas compris pourquoi. Je vous remercie pour votre aide.
Code:
Sub Verification_existence_fichier_PDF()
Dim nomdossier As String, chemin As String, Fichier As String, nomfichier As String
'----------------------------------------------------------------------------------------------
Application.ScreenUpdating = True
nomdossier = Year(Sheets("MaFeuille").Range("C1"))
nomfichier = "Situation " & StrConv(Format(Sheets("MaFeuille").Range("C1"), "mmm yyyy"), vbProperCase) & ".pdf"
chemin = ThisWorkbook.Path
ChDir chemin 'se place sur le repertoire du programme
If Dir(chemin & "\" & nomdossier & "\", vbDirectory) = "" Then
MkDir chemin & "\" & nomdossier
End If
repert = chemin & "\" & nomdossier
ChDir repert
Fichier = repert & "\" & nomfichier
If Dir(Fichier) <> "" Then If MsgBox("Le fichier existe déjà," & Chr(10) & _
"Voulez-vous l'écraser?", vbYesNo) = vbYes Then GoTo suite:
Exit Sub
suite:
Publier_PDF
End Sub
Sub Publier_PDF()
Sheets(Array("A", "B", "C")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fichier, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
Sub Verification_existence_fichier_Xl()
Dim nomdossier As String, chemin As String, Fichier As String, nomfichier As String
'----------------------------------------------------------------------------------------------
Application.ScreenUpdating = True
Application.DisplayAlerts = False
nomdossier = Year(Sheets("MaFeuille").Range("C1"))
nomfichier = "Situation " & StrConv(Format(Sheets("MaFeuille").Range("C1"), "mmm yyyy"), vbProperCase) & ".xls"
chemin = ThisWorkbook.Path
ChDir chemin 'se place sur le repertoire du programme
If Dir(chemin & "\" & nomdossier & "\", vbDirectory) = "" Then
MkDir chemin & "\" & nomdossier
End If
repert = chemin & "\" & nomdossier
ChDir repert
Fichier = repert & "\" & nomfichier
If Dir(Fichier) <> "" Then If MsgBox("Le fichier existe déjà," & Chr(10) & _
"Voulez-vous l'écraser?", vbYesNo) = vbYes Then GoTo suite:
Exit Sub
suite:
'création fichier xl
Création_Classeur
End Sub
Sub Création_Classeur()
Application.ScreenUpdating = False
chemin = ThisWorkbook.Path
nomfichier = "Situation " & StrConv(Format(Sheets("MaFeuille").Range("C1"), "mmm yyyy"), vbProperCase) & ".xls"
Workbooks.Add.Activate
ActiveWorkbook.SaveAs nomfichier
Sheets("Feuil1").Name = "A"
Sheets("Feuil2").Name = "B"
Sheets("Feuil3").Name = "C"
Sheets("Feuil4").Name = "D" **code plante aussi ici
Application.ScreenUpdating = True
End Sub
Je vous remercie par avance.
Cordialement,