Copier coller d'une feuillea de fichiera vers feuilleb de fichierb excel

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 466 fois - Téléchargée 36 fois

Contenu du snippet

Fonction qui copie colle un onglet d'un premier fichier EXCEL vers un autre onglet d'un autre fichier excel

Source / Exemple :


Function Importation_donnees_Rnd(FichierSource As String, FichierDest As String, OngletSource As String, OngletDest As String)
  
  
  Set Fichier_xls_Source = GetObject(FichierSource)
  Set Fichier_xls_Source = GetObject(, "Excel.application")

  Fichier_xls_Source.Application.Visible = True
  
  
  Fichier_xls_Source.Application.Workbooks.Open FileName:=FichierSource
  
  
  Fichier_xls_Source.Application.ActiveWorkbook.Worksheets(OngletSource).Activate
  Fichier_xls_Source.Application.ActiveWorkbook.Worksheets(OngletSource).Cells.Select
  Fichier_xls_Source.Application.Selection.Copy
  
  
  Set Fichier_xls_dest = CreateObject("Excel.application")
  
  Fichier_xls_dest.DisplayAlerts = False
  Fichier_xls_dest.Workbooks.Open FileName:=FichierDest, editable:=True
  Fichier_xls_dest.Visible = True
  
  
  Fichier_xls_dest.Application.Worksheets(OngletDest).Activate
  
  Fichier_xls_dest.Application.Worksheets(OngletDest).Cells.Select
  Fichier_xls_dest.Application.Worksheets(OngletDest).Paste
  
  Fichier_xls_dest.Application.DisplayAlerts = False
  Fichier_xls_dest.ActiveWorkbook.SaveAs FileName:=FichierDest
  Fichier_xls_dest.Application.Quit
  Fichier_xls_dest.Application.DisplayAlerts = True
  
  Fichier_xls_Source.Application.DisplayAlerts = False
  Fichier_xls_Source.Application.Quit
  Fichier_xls_Source.Application.DisplayAlerts = True
 
  Set Fichier_xls_Source = Nothing
  Set Fichier_xls_dest = Nothing
  
End Function

Conclusion :


Ne pas oublier de cocher la case dans "Projet" "Reference"
Microsoft EXCEL x.x object library

A voir également

Ajouter un commentaire

Commentaire

GMACJONES
Messages postés
2
Date d'inscription
dimanche 14 septembre 2008
Statut
Membre
Dernière intervention
14 septembre 2008
-
Bonjour,

(excusez-moi par avance pour l'absence d'accents, mais c'est plus complique d'en mettre avec un clavier QWERTY)

au hasard du site, j'ai essaye de concocter une macro qui me permette d'ouvrir un fichier excel B depuis un fichier excel A, d'y copier certaines donnees du fichier A, puis en parallele d'ouvrir Outlook et de preparer l'envoi d'un message.
Cependant, meme si le fichier B s'ouvre, la copie ne s'effectue pas. De plus Outlook ne s'ouvre carrement pas du tout. Ce deuxieme point pourrait etre laisse de cote pour l'instant : j'ai vu qu'il y avait un post a ce sujet et je ne souhaite pas vous faire perdre votre temps. Mais pensez-vous pouvoir m'aider sur la premiere partie du code VBA?

Voici la macro en entier :

Sub Deny3()
'
' Deny3 Macro
' Macro recorded 11/09/2008 by julien
'

'
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

Sheets("Automatic Denial Spreadsheet").Select
Range("B2:B11").Select
Selection.Copy


'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
appExcel.Workbooks.Open ("C:\-----------------\Exception Work order template.xls")
appExcel.Visible = True

Windows("Exception Work order template.xls").Activate
Sheets("General").Select
Range("B3:B12").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
MonMessage.from = "blabla@bla.com"
MonMessage.cc = "blabla@bla.com"
MonMessage.Subject = "Non bla bla bla"
Corps = "Hi"
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & "Voici le fichier convenu."
MonMessage.body = Corps
Set MonOutlook = Nothing

End Sub


Merci par avance pour votre reponse,

Julien

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.