XL 2010 copier plusieurs feuille

auverland

XLDnaute Occasionnel
Bonjour

Avez-vous une tite macro qui permet de copier toutes les feuilles d'un classeur fermer sur le classeur actif ?
Le classeur cible à déjà toute les feuilles nommé du classeur fermer


Il faut vraiment copier / coller car par importation cela donne des "(2)" et j'ai nommer des cellules sur le classeur cible. Un remplacement des feuilles rompt les nommages

Merci d'avance et bonne semaine
 

job75

XLDnaute Barbatruc
Bonjour auverland,

Placez le fichier source dans le même répertoire que le fichier de destination.

Collez cette macro dans le VBA (Alt+F11) du fichier de destination :
Code:
Sub MAJ()
Dim nom$, chemin$, ad$, w As Worksheet, f$
nom = "Source.xlsx" 'nom du fichier source, à adapter
ad = "A1:J200" 'plage maximum à copier
chemin = ThisWorkbook.Path 'à adapter si nécessaire
Application.ScreenUpdating = False
For Each w In Worksheets
  f = "'" & chemin & "\[" & nom & "]" & w.Name & "'!"
  If Not IsError(ExecuteExcel4Macro(f & "R1C1")) Then 'test de sécurité
    With w.Range(ad)
      .FormulaArray = "=IF(" & f & ad & "=0,""""," & f & ad & ")" 'formule matricielle
      .Value = .Value 'supprime les formules
      .Columns.AutoFit 'ajustement largeur
    End With
  End If
Next
End Sub
Edit : j'ai mis une formule matricielle, c'est nettement plus rapide si la plage est grande.

Lancez la macro après avoir adapté les variables nom et ad.

Vous remarquerez qu'on n'ouvre pas le fichier source.

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 137
dernier inscrit
Billly