Macro Excel - pb ouverture et fermeture classeurs
Résolu/Fermé
A voir également:
- Macro Excel - pb ouverture et fermeture classeurs
- Liste déroulante excel - Guide
- Si et excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Word et excel gratuit - Guide
- Formule excel - Guide
1 réponse
Bonjour,
Pour ouvrir un fichier il faut toujours mettre Workbooks.Open
suivi entre parenthèse du chemin complet + le Nom du fichier
Pour la fermeture j'ai créé une boucle de recherche pour qu'il active le fichier à fermer suivi du code de fermeture suivant : ActiveWorkbook.Close
Ce dernier peut être suivi de True où False si tu souhaites forcer la sauvegarde ou non du fichier.
Voici le code Modfié :
Sub CommandButton3_Click()
Dim Chemin As String, i As Long
'Stoque le Nom du Fichier Initial
Initial = ActiveWorkbook.Name
'Stoque Le Chemin d'accès du Fichier Initial
Chemin = ActiveWorkbook.Path & "\"
For i = 1 To 3
j = Cells(i + 7, 1)
'Détermination du nom du fichier de destination
Nom_Fichier = "BOM_" & j & ".xlsm"
ActiveWorkbook.SaveAs Filename:=Chemin & Nom_Fichier
ActiveWorkbook.Unprotect
ActiveWorkbook.Sheets(3).Name = j
ActiveWorkbook.Protect
ActiveWorkbook.Save
'Ouverture du Fichier Initial
Workbooks.Open (Chemin & Initial)
'Recherche du Fichier Destination pour Fermeture
For u = 1 To Workbooks.Count
Nom_Bis = Workbooks(u).Name
If Nom_Fichier = Nom_Bis Then
Workbooks(u).Activate
ActiveWorkbook.Close
Exit For
End If
Next u
Next i
End Sub
Pour ouvrir un fichier il faut toujours mettre Workbooks.Open
suivi entre parenthèse du chemin complet + le Nom du fichier
Pour la fermeture j'ai créé une boucle de recherche pour qu'il active le fichier à fermer suivi du code de fermeture suivant : ActiveWorkbook.Close
Ce dernier peut être suivi de True où False si tu souhaites forcer la sauvegarde ou non du fichier.
Voici le code Modfié :
Sub CommandButton3_Click()
Dim Chemin As String, i As Long
'Stoque le Nom du Fichier Initial
Initial = ActiveWorkbook.Name
'Stoque Le Chemin d'accès du Fichier Initial
Chemin = ActiveWorkbook.Path & "\"
For i = 1 To 3
j = Cells(i + 7, 1)
'Détermination du nom du fichier de destination
Nom_Fichier = "BOM_" & j & ".xlsm"
ActiveWorkbook.SaveAs Filename:=Chemin & Nom_Fichier
ActiveWorkbook.Unprotect
ActiveWorkbook.Sheets(3).Name = j
ActiveWorkbook.Protect
ActiveWorkbook.Save
'Ouverture du Fichier Initial
Workbooks.Open (Chemin & Initial)
'Recherche du Fichier Destination pour Fermeture
For u = 1 To Workbooks.Count
Nom_Bis = Workbooks(u).Name
If Nom_Fichier = Nom_Bis Then
Workbooks(u).Activate
ActiveWorkbook.Close
Exit For
End If
Next u
Next i
End Sub
16 juil. 2013 à 14:29
Pour la recherche du fichier Destination pour fermeture, comme ma macro copie le classeur ouvert en faisant un enregistrer sous, à la fin, je ne me retrouve qu'avec un seul autre classeur ouvert que je peut directement appeler avec la variable Nom_Fichier. Merci pour tout !!!