Variable integer dans un DIM
Bonjour à tous, j'ai un problème de DIM. J'ai trouver deux codes sur internet qui j'ai adapter pour faire une jonction de PDF.
Option Explicit
Public nbfichier As Integer
Sub Fusion()
'macro par Kiki29
Dim Pdf As Object, Fichiers(135) ' J'aimerais mettre ici la variable "nbfichier"
Dim intcount As Integer
Set Pdf = CreateObject("pdfforge.pdf.pdf")
For intcount = 1 To nbfichier
Fichiers(intcount) = ThisWorkbook.Path & "\" & "*.pdf"
Next
MsgBox ThisWorkbook.Path & "\" & intcount & ".pdf"
Pdf.MergePDFFiles_2 Fichiers, ThisWorkbook.Path & "\" & "Fusion.pdf", True
Set Pdf = Nothing
End Sub
Sub compter()
'Macro par Hervé
Dim Chemin As String
Dim rep As String
Chemin = "C:\Users\nomutilisateur\Documents\"
rep = Dir(Chemin & "*.pdf")
While Not rep = ""
nbfichier = nbfichier + 1
rep = Dir
Wend
Fusion
End Sub
Dans ma macro "fusion", à Dim Pdf As Object, Fichiers(135) j'aimerais mettre la constante "nbfichier" qui viens de la macro "compter". Est-ce qu'il y a un moyen pour faire cela? Même si ma variable "nbfichier"= 135, lorsque j'entre dans la macro "fusion", j'ai un message d'erreur. Erreur de compilation: constante requise. La raison pour mettre cette variable, est que le nombre de fichier pdf dans le répertoire ne sera jamais le même.
merci de votre aide
bonjour,
Option Explicit
Public nbfichier As Integer
Sub Fusion()
'macro par Kiki29
Dim Pdf As Object, Fichiers() ' J'aimerais mettre ici la variable "nbfichier"
Dim intcount As Integer
redim fichiers(nbfichier)
Set Pdf = CreateObject("pdfforge.pdf.pdf")
For intcount = 1 To nbfichier
Fichiers(intcount) = ThisWorkbook.Path & "\" & "*.pdf"
Next
MsgBox ThisWorkbook.Path & "\" & intcount & ".pdf"
Pdf.MergePDFFiles_2 Fichiers, ThisWorkbook.Path & "\" & "Fusion.pdf", True
Set Pdf = Nothing
End Sub
Sub compter()
'Macro par Hervé
Dim Chemin As String
Dim rep As String
Chemin = "C:\Users\nomutilisateur\Documents\"
rep = Dir(Chemin & "*.pdf")
While Not rep = ""
nbfichier = nbfichier + 1
rep = Dir
Wend
Fusion
End Sub
Bonjour h2so4, merci pour la réponse, je n'avais pas penser à faire un redim. Ça fonctionne très bien.
merci beaucoup.
Bonsoir
pour répondre à ton message en MP,
je ne connais pas pdfforge, mais d'après ce que j'ai pu trouver sur internet voici comment tu devrais écrire ce code.J'ai modifié mon code selon
ce que tu m'as dit mais j'ai toujours un problème dont je ne trouve pas la
réponse.
voici le code modifié:
Sub CompterFusionnerPDF()
Dim Chemin As String
Dim rep As String
Dim Pdf As Object, Fichiers()
Dim intcount As Integer
'Chemin = "C:\Users\jsgermain\Documents\"
rep = Dir(strChemin2 & "*.pdf")
MsgBox strChemin2
While Not rep = ""
nbfichier = nbfichier + 1
rep = Dir
Wend
nbfichier = nbfichier - 1
ReDim Fichiers(nbfichier)
Set Pdf = CreateObject("pdfforge.pdf.pdf")
For intcount = 0 To nbfichier
BoucleFichiers
Name strChemin2 & "\" & strNomFichier As strChemin2 & "\" & "Z" &
intcount & ".pdf"
Fichiers(intcount) = strChemin2 & "\" & "Z" & intcount & ".pdf"
Next
N = intcount - 2
Pdf.MergePDFFiles_N Fichiers, strChemin2 & "\" & "Fusion.pdf", True
Set Pdf = Nothing
End Sub
dans la troisième avant dernière ligne, j'ai comme écriture :
Pdf.MergePDFFiles_4 ou le "4" représente le nombre de fichier lu en rapport
avec la variable nfichier. Si je met une variable ex: N à cet endroit, le
code ne fonctionne pas, j'ai une erreur de : Propriété ou méthode non géré
par cette objet.
est-ce possible de lui affecter une variable?
merci pour l'aide
Sub CompterFusionnerPDF()
Dim Chemin As String
Dim rep As String
Dim Pdf As Object, Fichiers()
Dim intcount As Integer
'Chemin = "C:\Users\jsgermain\Documents\"
rep = Dir(strChemin2 & "*.pdf")
MsgBox strChemin2
While Not rep = ""
nbfichier = nbfichier + 1
rep = Dir
Wend
nbfichier = nbfichier - 1
ReDim Fichiers(nbfichier)
Set Pdf = CreateObject("pdfforge.pdf.pdf")
For intcount = 0 To nbfichier
BoucleFichiers
Name strChemin2 & "\" & strNomFichier As strChemin2 & "\" & "Z" &
intcount & ".pdf"
Fichiers(intcount) = strChemin2 & "\" & "Z" & intcount & ".pdf"
Next
N = intcount - 2
Pdf.MergePDFFiles_2 Fichiers, strChemin2 & "\" & "Fusion.pdf", True
Set Pdf = Nothing
End Sub
merci j'ai trouvé la réponse à mon problème. Il y avait une erreur dans le comptage.
merci pour l'aide.
infodes a écrit :merci j'ai trouvé la réponse à mon problème. Il y avait une erreur dans le comptage.
merci pour l'aide.
peux-tu mettre ta solution qui fonctionne ?