Bonjour à tous les Codeurs,
Voici mon sujet du jour.
Je cherche à copier une plage de cellule dans un nouveau fichier.
J'ai codé ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Worksheets("Selection").Copy
With ActiveWorkbook
     .SaveAs Filename:=nouveau_fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With
Mon onglet "Selection" est copié depuis mon fichier d'origine dans un nouveau fichier qui est enregistré sous "nouveau_fichier". La variable "Nouveau_fichier" contient le chemin et le nom.
ça marche bien.

ça ce gate quand je veux limiter la copy à une plage.
J'ai tenté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Worksheets("Selection").Range("b4:d57").Copy
Mais il se contente de renommer mon fichier d'origine.

De plus j'aimerai retrouver dans le nouveau fichier la mise en format et les largeurs de colonnes d'origine.

Enfin, certaines cellules de la zone copiée porte des formules qui font référence à des cellules hors zone, voir à d'autres onglets. Il me faut donc coller uniquement les valeurs.
J'avais ça qui marchait bien dans une autre macro :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
        ActiveWorkbook.BreakLink Name:=nom_fichier_source, Type:=xlExcelLinks
Mais ici...marche plus.

Merci d'avance à celui qui voudra bien se pencher sur mon cas.
Cordialement
Benoit