alucard_xs
XLDnaute Occasionnel
boucle qui écrase des fichiers deja présents
Bonjour,
voilà j'ai continuer mon programme mais j'ai un soucis, j'explique :
dans mon programme, via un bouton, j'applique une grosse macro qui va couper les fichiers se trouvant dans le repertoire indiqué dans la cellule A3 dans le repertoire "excel", puis crée, s'ils n'existent pas deux autres répertoires, le probleme, c'est que si par exmple, je remet des nouveaux fichiers dans le repertoire de départ, et que j'execute la macro, mon programme me supprime les fichiers déjà crées ... comment faire ?
Merci, voici mon code
de plus concernant ce bout de code :
comment lui dire voila, si le nom du fichier ouvert = 12 alors tu m'ouvres fichier1, par contre si nom du fichier ouvert = 'lalala.xls" ou 'lalala2.xls" ou "lalala3.xls" alors tu m'ouvres fichier2 et enfin si nomfichier ouvert différent de 12 ou différent des 3 fichiers nommés ci dessus alors tu m'ouvre "fichier3.xls" ?
Merci à tous
Bonjour,
voilà j'ai continuer mon programme mais j'ai un soucis, j'explique :
dans mon programme, via un bouton, j'applique une grosse macro qui va couper les fichiers se trouvant dans le repertoire indiqué dans la cellule A3 dans le repertoire "excel", puis crée, s'ils n'existent pas deux autres répertoires, le probleme, c'est que si par exmple, je remet des nouveaux fichiers dans le repertoire de départ, et que j'execute la macro, mon programme me supprime les fichiers déjà crées ... comment faire ?
Merci, voici mon code
Code:
Private Sub CommandButton9_Click()
If Worksheets("Feuil1").Cells(3, 1).Value <> "" Then
nomRep1 = Worksheets("Feuil1").Cells(3, 1).Value & "\" & "Données "
Nomrep2 = Worksheets("Feuil1").Cells(3, 1).Value & "\" & "Fiches El"
Nomrep3 = Worksheets("Feuil1").Cells(3, 1).Value & "\" & "Fiches P"
If Len(Dir(Worksheets("Feuil1").Cells(3, 1).Value & "\" & "Données", vbDirectory)) = 0 Then
MkDir nomRep1
MkDir Nomrep2
MkDir Nomrep3
End If
'End If
'Définition des variables
Dim oFSO As Scripting.FileSystemObject
Dim chemin_et_fichier As String
Dim fichier_demo As String
Dim ws As Worksheet
Dim sCurPrinter As String
Set oFSO = New Scripting.FileSystemObject
oFSO.MoveFile Worksheets("Feuil1").Cells(3, 1).Value & "\*.xls", nomRep1
nomfichier = Dir(nomRep1 & "\*.xls")
fichier1 = "D:\ghr02q\Privé\1.xls"
fichier2 = "D:\ghr02q\Privé\2.xls"
Application.ScreenUpdating = False
Dim nouvo_fichier As String
Dim chemin_et_nouveau_fichier As String
While nomfichier <> ""
chemin_et_fichier = nomRep1 & "\" & nomfichier
Dim CL1 As Workbook
Dim CL2 As Workbook
Workbooks.Open (chemin_et_fichier)
DoEvents
Set CL1 = ActiveWorkbook
'changement de fiche
If Len(ActiveWorkbook.Name) = 12 Then
Workbooks.Open (fichier1)
Else: Workbooks.Open (fichier2)
End If
DoEvents
Set CL2 = ActiveWorkbook
CL1.Worksheets(1).Range("A1:CG36").Copy CL2.Worksheets("RP-CAFn-CAFn-1").Range("A1")
DoEvents
ActiveWorkbook.SaveAs Filename:=Nomrep2 & "\" & "f_" & nomfichier, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
DoEvents
nouvo_fichier = "f_" & nomfichier
chemin_et_nouveau_fichier = Nomrep2 & "\" & nouvo_fichier
'Impression sur imprimante virtuelle en .ps (postscript)
Application.ActivePrinter = "Adobe PDF sur NE00:"
ActiveWorkbook.Worksheets(1).PrintOut copies:=1, PrintToFile:=True, ActivePrinter:="Adobe PDF sur NE00:", prtofilename:=Nomrep3 & "\" & nomfichier & ".ps"
Application.ActivePrinter = "\\s56slin\RICOH 3030 SED sur Ne02:"
Set CL1 = Nothing
Set CL2 = Nothing
Set wbkFichier = Workbooks.Open(Filename:=chemin_et_fichier)
wbkFichier.Close savechanges:=False
Set wbkFichier2 = Workbooks.Open(Filename:=chemin_et_nouveau_fichier)
wbkFichier2.Close savechanges:=False
nomfichier = Dir
Wend
MsgBox "terminée"
Else: MsgBox "veuillez choisir un répertoire de travail"
End If
End Sub
de plus concernant ce bout de code :
Code:
If Len(ActiveWorkbook.Name) = 12 Then
Workbooks.Open (fichier1)
Else: Workbooks.Open (fichier2)
End If
comment lui dire voila, si le nom du fichier ouvert = 12 alors tu m'ouvres fichier1, par contre si nom du fichier ouvert = 'lalala.xls" ou 'lalala2.xls" ou "lalala3.xls" alors tu m'ouvres fichier2 et enfin si nomfichier ouvert différent de 12 ou différent des 3 fichiers nommés ci dessus alors tu m'ouvre "fichier3.xls" ?
Merci à tous
Dernière édition: