Bonjour
En VBA comment faire pour transférer un onglet d un fichier vers un autre fichier?
Merci








Bonjour
En VBA comment faire pour transférer un onglet d un fichier vers un autre fichier?
Merci








Utilise la méthode Move de l'objet Worksheet correspondant.
Sinon, la méthode Copy sans paramètre copie la feuille dans un nouveau classeur
Pour ce genre d'opération de base, tu peux facilement trouver la solution en faisant Outils/Macro/Nouvelle Macro ou Affichage/Macro/Enregistrer une macro (pour 2007), effectuer manuellement les opération dont tu souhaites connaitre la correspondance en VBA, et consulter le code généré automatiquement.








Bonjour,
évidemment c est la première action que j ai mené, et bien sûr cela ne marche pas.
Voici mon code:
et voici le message d'erreur sur la ligne de code suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18Dim Message, Title, MyValue Message = "Entrez un nom" Title = "Transfert vers plan d'action" ' Définit le titre. MyValue = InputBox(Message, Title) Sheets("transfert").Select Workbooks.Open Filename:="R:\test\Plans d'actions.xls" Sheets("transfert").Copy after:=Workbooks("Plans d'actions.xls").Sheets(4) Sheets("transfert").Name = MyValue
Erreur d'éxécution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sheets("transfert").Copy after:=Workbooks("Plans d'actions.xls").Sheets(4)
L'indice n'appartient pas à la sélection.
Le but de mon code est de pouvoir rassembler dans un seul fichier la synthèse de plusieurs gros fichiers, j'aurai plusieurs onglets à ajouter les uns après les autres en provenance à chaque fois de plusieurs fichiers.








Donc ton problème n'est pas de savoir copier, mais de déboguer ton code, et en l'occurence de savoir pourquoi tu ne peux accéder au classuer ou à la feuille que tu désires atteindre.
Pour déboguer, avant la ligne qui plante, ecrit ces deux lignes, qui te permettront de savoir si c'est le classeur que tu n'apelles pas correctement ou la feuille à l'indice 4 qui n'existe pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Debug.Print Workbooks("Plans d'actions.xls").Name ' Si Erreur => Ce classeur n'est pas ouvert dans l'application Excel active Debug.Print Workbooks("Plans d'actions.xls").Sheets(4).Name ' Si Erreur => C'est la feuille d'indice 4 qui n'existe pas








Merci mais cela ne m'avance pas trop
Le programme me repond
Plans d'actions.xls
test
test étant la quatrième feuille du fichier plan d'action.xls








Donc tu n'as pas d'erreur ???![]()
Partager