GeoTrouvePas
XLDnaute Impliqué
Bonjour le forum,
Je viens de créer une petite procédure pour transférer "discrètement" une feuille d'un classeur à un autre.
Afin que cela soit invisible pour l'utilisateur, je crée une nouvelle instance Excel invisible dans laquelle j'ouvre le fichier source.
Or je viens de me rendre compte qu'il n'est pas possible de transférer une feuille entre deux instances par la méthode .Copy.
Auriez vous une idée pour contourner cette limitation tout en gardant le côté discret de la manip.
Voici le petit code que j'ai élaboré :
Edit : Question subsidiaire : j'ai également un problème lorsque deux versions d'excel sont installées sur le pc. Comment faire :
en précisant quelle version d'excel je veux que ça ouvre ?
Merci d'avance à tous et bonne journée
Je viens de créer une petite procédure pour transférer "discrètement" une feuille d'un classeur à un autre.
Afin que cela soit invisible pour l'utilisateur, je crée une nouvelle instance Excel invisible dans laquelle j'ouvre le fichier source.
Or je viens de me rendre compte qu'il n'est pas possible de transférer une feuille entre deux instances par la méthode .Copy.
Auriez vous une idée pour contourner cette limitation tout en gardant le côté discret de la manip.
Voici le petit code que j'ai élaboré :
Code:
Sub ImporterSauvegarde(FichierdeSauvegarde As String)
InstanceSauvegarde As Excel.Application
ClasseurSource As Workbook
FeuilleACopier As Worksheet
Set InstanceSauvegarde = CreateObject("Excel.Application")
InstanceSauvegarde.Visible = False
Set ClasseurSource = InstanceSauvegarde.Workbooks.Open(FichierdeSauvegarde)
Set FeuilleACopier = ClasseurSource.Sheets("Feuil1")
FeuilleACopier.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
End Sub
Edit : Question subsidiaire : j'ai également un problème lorsque deux versions d'excel sont installées sur le pc. Comment faire :
Code:
Set InstanceSauvegarde = CreateObject("Excel.Application")
en précisant quelle version d'excel je veux que ça ouvre ?
Merci d'avance à tous et bonne journée