Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

kenavo

XLDnaute Junior
Bonjour,

Mes débuts en VBA sont difficiles...

Je souhaite lancer une macro
1- qui ouvre un fichier excel, qui copie les données qui se trouve dans le feuille "sheet1" et les copier dans le fichier classeur2.xls ds le feuille "BD"
2-Ensuite, on choisit un critère de sélection, et cela copie les données filtrées dans une autre feuille

Le partie 1 ne fonctionne pas ( msg: l' indice n' appartient pas à la sélection")
Code:
Sub Ouvrir()
'Selection du fichier a ouvrir : fichier où se trouve les données à copier
Fichier = Application.GetOpenFilename("Fichier XLS (*.xls),*.xls")
Windows("Fichier").Activate
'Copie la feuille "sheet1" et la copier dans la feuille "BD" du classeur2
Sheets("sheet1").Copy After:=Workbooks("Classeur2.xls").Sheets(BD)
End Sub

La partie 2, merci à Formation Excel VBA JB

Code:
Sub ExtraitVersAutreFeuille()
  Call Ouvrir
  critere = InputBox("Critere?")
  If critere = "" Then Exit Sub
  [A2].AutoFilter Field:=2, Criteria1:=critere & "*"
  Sheets.Add After:=Sheets(Sheets.Count)
  ActiveSheet.Name = critere
  Sheets("BD").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy
  ActiveSheet.Paste
  Cells.EntireColumn.AutoFit
  Sheets("BD").ShowAllData
  
End Sub

Merci d' avance
 

tototiti2008

XLDnaute Barbatruc
Re : Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

Bonjour kenavo,
ou
Bonjour Aurevoir ;)

peut-être

Code:
Sheets("sheet1").Copy After:=Workbooks("Classeur2.xls").Sheets([COLOR=red][B]"[/B][/COLOR]BD[COLOR=red][B]"[/B][/COLOR])
 

kenavo

XLDnaute Junior
Re : Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

Ca avance !!!
Il ouvre et copie le feuille "sheet1" dans classeur2 ne copie pas les données dans la feuille BD!!


Code:
Sub Ouvrir()
'Selection du fichier a ouvrir : fichier où se trouve les données à copier
Fichier = Application.GetOpenFilename("Fichier XLS (*.xls),*.xls")
Workbooks.Open Filename:=Fichier
'Copie la feuille "sheet1" et la copier dans la feuille "BD" du classeur2
Sheets("sheet1").Copy After:=Workbooks("Classeur2.xls").Sheets("BD")
End Sub
 
Dernière édition:

kenavo

XLDnaute Junior
Re : Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

Bonjour à toutes et tous

Ok je suis passée avec l' enregistreur de macro , le code suivant fonctionne :
Code:
Sub Macro1()



Fichier = Application.GetOpenFilename("Fichier XLS (*.xls),*.xls")
Workbooks.Open Filename:=Fichier
        Sheets("sheet1").Select
    Cells.Select
    Selection.Copy
    Windows("Classeur2.xls").Activate
    Cells.Select
    ActiveSheet.Paste
End Sub
 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

Bonjour kenavo, tototiti, et à ceux qui passeront par là.

Voici un p'tit truc joint qui me sert de base pour ce dont j'ai besoin
de faire dans mes chantiers VBA.

La copie de la feuille est intégrale.

Tu peux au passage faire une sélection des cellules à copier de la
feuille provisoire et coller dans ta feuille de destination.
ou Worksheets("Feuil"x""). Cells(x, y).Value = ActiveSheet.Cells(r, c).Value

A voir

Amicalement, et "Bepred Breizh"

Yann
 

Pièces jointes

  • COPIE_FEUILLE.xls
    39 KB · Affichages: 315
  • COPIE_FEUILLE.xls
    39 KB · Affichages: 336
  • COPIE_FEUILLE.xls
    39 KB · Affichages: 345

kenavo

XLDnaute Junior
Re : Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

Merci pour ton fichier : il me servira surement!! ( je vais devoir travailler dur pour faire de même:eek: )

Voilà j' ai fini voici le résultat, si ça peut servir a qqn : cela fonctionne


Sub ExtraitVersAutreClasseur()

Dim nom As String
Dim wk As Workbook

critere = InputBox("Saisir le code ")
If critere = "" Then Exit Sub
[A2].AutoFilter Field:=2, Criteria1:=critere & "*"
'Sheets.Add After:=Sheets(Sheets.Count)
'ActiveSheet.Name = critere
Sheets("BD").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy

'création d' un nouveau fichier, le nom du fichier sera le code saisi
Set wk = Workbooks.Add
ActiveSheet.Paste
nom = ".xls"
ActiveWorkbook.SaveAs Filename:=critere & nom
ActiveWorkbook.Close
Application.DisplayAlerts = False

Cells.EntireColumn.AutoFit
Sheets("BD").ShowAllData

End Sub
 

Pièces jointes

  • Fichier de donnees.xls
    15.5 KB · Affichages: 211
  • Classeur2.xls
    35.5 KB · Affichages: 219
  • Classeur2.xls
    35.5 KB · Affichages: 235
  • Classeur2.xls
    35.5 KB · Affichages: 246
Dernière édition:

kenavo

XLDnaute Junior
Re : Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

Bonsoir,

J' ai un petit problème , je ne trouve pas comment faire pour fermer le fichier que j' ouvre pour copier les donner

Code:
Sub copie()
'
' Macro enregistrée le 31/05/2010 par F3956205
'
'
Dim fichier As String

fichier = Application.GetOpenFilename("Fichier XLS (*.xls),*.xls")
Workbooks.Open Filename:=fichier
 
   Sheets("sheet1").Select
    Cells.Select
    Selection.Copy
    ActiveWindow.Close
    Windows("Extraction V1.xls").Activate
    Sheets("BD").Select
    Cells.Select
    ActiveSheet.Paste

'referme le fichier d'origine

La je veux fermer le fichier sélectionner : fichier


End Sub
 

stefan373

XLDnaute Occasionnel
Re : Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

Bonjour ce code copie feuille "tablestemp" du fichier ouvert, vers un fichier fermé.
Ce n est pas de moi mais cela fonctionne chez moi.Cela peut t aider je pense.


Application.CutCopyMode = False
Sheets("Tablestemp").Select
Cells.Select
Selection.Copy
Workbooks.Open Filename:= _
"C:\fichier destination.xls"
Sheets("Tablestemp").Select
Range("A1").Select
ActiveWorkbook.ActiveSheet.Paste
Windows("fichier origine.xls").Activate
Windows("fichier destination.xls").Activate
ActiveWorkbook.ActiveSheet.Paste
ActiveWorkbook.Save
ActiveWorkbook.Close
 

kenavo

XLDnaute Junior
Re : Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

je regarde mais moi s'est l'inverse :rolleyes:

j'ai ma macro dans un fichier en la lancant elle demande de selectionner le fichier , à partir de ce fichier je copie sheet1 et je colle les donnees dans le fichier où est la macro dans le feuille BD et je voudrais fermer le fichier que j' ai sélectionné ( dont le nom peut varier)
 

tototiti2008

XLDnaute Barbatruc
Re : Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

Bonjour à tous,

un essai

Code:
Sub copie()
'
' Macro enregistrée le 31/05/2010 par F3956205
'
'
Dim fichier As String, Wkb as Workbook

fichier = Application.GetOpenFilename("Fichier XLS (*.xls),*.xls")
Set Wkb = Workbooks.Open (Filename:=fichier)
 
   Sheets("sheet1").Select
    Cells.Select
    Selection.Copy
    ActiveWindow.Close
    Windows("Extraction V1.xls").Activate
    Sheets("BD").Select
    Cells.Select
    ActiveSheet.Paste

'referme le fichier d'origine

'La je veux fermer le fichier sélectionner : fichier
Wkb.Close False

End Sub
 

kenavo

XLDnaute Junior
Re : Excel 2003. Ouvrir fichier et copier une feuille ds un autre classeur

Bonjour,

J' avais testé cela mais le probleme est que le temps de traitement est allonge serieusement et vu que j' ai 65 000 lignes j' ai un msg avec le presse papier qui contient trop d' information
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote