Erreur 76 sur fichier
Bonjour à toutes et tous.
J'étais déjà venu vers vous pour ce fichier, mais j'ai changé une partie du code et je n'arrive plus à le faire fonctionner.
Mon problème viens du chemin de destination, a chaque fois j'ai une erreur 76, je pense que la vérification de l'existance du répertoire de destination et la création ne se fait plus... Et aucune idée pour "réparer" mes dégats...
Autre question en passant, certin collègues ne savent pas utiliser le fichier car le bouton n'est pas actif malgrés que leur excel accepte le VBA, se pourrais-t'il qu'il n'aient pas l'erreur 76 mais que ce soit lié?????
Auriez-vous l'amabilité d'y jeter un oeil svp.
Merci d'avance
edit Modo : Modifié titre du sujet (Oups, erreur76, j'ai cassé le fichier)
Bonjour Heavy_B
Sauf erreur, la fonction MKDIR() ne peur créer que le dernier dossier donné dans le chemin
Si le/les dossier(s) parent(s) est/sont à créer également, il faut le faire avant
A+
Bonjour BrunoM45,
Je ne crée que le dernier dossier, le reste est existant.
Re,
Ok, il faudrait regarder ce que contient la variable "repertorypath" au moment du bug
Chez moi (j'ai remplacé mon nom par des X) :
debug.Print repertorypath
C:\Users\XXXX\Eurofiber Nederland BV\Design - Documents\17_Design\INFRABEL\OPR\2023\337501.001, 123456.001\
A+
Bonjour,
cela semble logique car le répertoire créé prend le nom des projets inscrit dans les cellules D12 à D15 du sheet "OPR INFO". par contre les projets devrais être séparé par un "-".
Mais même en changeant le "calcul du nom" dans la cellule H12 du sheet "DROP List" cela ne résoud pas le soucis.
Edit : je viens de changer le path en pointant vers mon C:/ et cela ne fonctionne que si j'ai un répertoire "2023" existant dans mon c:.
Donc je confirme que le "MKDIR()" ne crée que 1 répertoire. --> comment faire pour en créer plusieurs en même temps? (ce qui ne devrais arriver qu'une fois par année...)
par contre la seconde partie de ma question (à savoir le bouton inactif malgrès que le VBA est autorisé chez mes collègues) reste.
Re,
Voici le fichier modifié,
- j'ai remplacé la fonction de nettoyage
- j'ai mis le MkDir dans la Sub "DefinitionCheminNomFichier"
- et ajouté une forme pour le bouton plutôt qu'un ActiveX
A tester
Edit : fichier modifié 12h54
A+
Merci déjà pour ceci, par contre j'ai maintenant une erreur 1004 qui pointe vers le module1:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=RepertoryPath & FileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
si c'est plus simple, tu peux changer le path général en "C:\OPR request\" & Sheets("Information Page").Range("C13").Text & "\"
Re,
J'ai oublié d'enlever l'apostrophe des lignes en commentaire : If Dir(
Il faut qu'elle soit comme ceci
' Répertoire de sauvegarde du PDF
Public Sub DefinitionCheminNomFichier(ByRef RepertoryPath$, ByRef FileName$)
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Set Ws1 = Sheets("Information page")
Set Ws2 = Sheets(Sheets("OPR info").Range("B4").Value)
' Sélectionne les 2 onglets définis ci-dessus
Sheets(Array(Ws1.Name, Ws2.Name)).Select
RepertoryPath = "C:\Users\" & Environ("USERNAME") & "\Eurofiber Nederland BV\Design - Documents\17_Design\INFRABEL\OPR\" & Year(Now())
' #Modification BrunoM45 du 11/01/2023
' Vérifier si chemin existe avec l'année, sinon le créer
If Dir(RepertoryPath, vbDirectory) = "" Then MkDir RepertoryPath
' Chemin définitif
RepertoryPath = RepertoryPath & "\" & Sheets("Information Page").Range("C13").Text & "\"
' Vérifier si chemin existe, sinon le créer
If Dir(RepertoryPath, vbDirectory) = "" Then MkDir RepertoryPath
' Nom du fichier
FileName = "OPR_" & Func_additionnel.NettoyageNom(Sheets("Information Page").Range("C13").Text)
' On vérifie si "fileName" contient déja un "."
If InStr(FileName, ".") = 0 Then
FileName = FileName & ".pdf"
Else
FileName = Left(FileName, InStr(1, FileName, ".")) & "pdf"
End If
End SubA+
Placé en résolu, un grand merci
Je vais maintenant remettre les "données sensibles" et remettre la sauvegarde vers le sharepoint.
Encore merci
Re,
Merci du retour et de rien,
c'est un grand plaisir de pouvoir aider et dépanner
A+