copier des onglet dans un autre fichier
Le
Pellet15

Bonjour a tous
J'ai besoin de copier 3 onglet dans un autre fichier ,mais je voudrait
que une boite message s'ouvre pour me demander dans quel fichier je
veut coller les onglet.
voici ce que j'ai commencer mais pas complet.
Sub Macro10()
Sheets(Array("Soumission", "data", "rapport_insp")).Select
Sheets("rapport_insp").Activate
ActiveSheet.Buttons.Add(87, 0, 165, 17.25).Select
Sheets(Array("Soumission", "data", "rapport_insp")).Copy
Before:=Workbooks( _
"DP.xlsx").Sheets(1)
ActiveWindow.TabRatio = 0.689
Range("B30").Select
End Sub
Merci
J'ai besoin de copier 3 onglet dans un autre fichier ,mais je voudrait
que une boite message s'ouvre pour me demander dans quel fichier je
veut coller les onglet.
voici ce que j'ai commencer mais pas complet.
Sub Macro10()
Sheets(Array("Soumission", "data", "rapport_insp")).Select
Sheets("rapport_insp").Activate
ActiveSheet.Buttons.Add(87, 0, 165, 17.25).Select
Sheets(Array("Soumission", "data", "rapport_insp")).Copy
Before:=Workbooks( _
"DP.xlsx").Sheets(1)
ActiveWindow.TabRatio = 0.689
Range("B30").Select
End Sub
Merci
J'ai repris ton code que j'ai inclus dans une boucle et un test après
l'affichage d'une boîte de dialogue.
Je pars du principe que tu veuilles copier tes onglets dans un
classeur qui est déjà ouvert
Sub Macro10()
Dim Nom_Classeur As Object
Dim Retour_Message As Long
For Each Nom_Classeur In Workbooks
Retour_Message = MsgBox("Voulez-vous copier les onglets dans
le fichier " & Nom_Classeur.Name, vbYesNo)
If Retour_Message = 6 Then
Sheets(Array("Soumission", "data", "rapport_insp")).Select
Sheets("rapport_insp").Activate
ActiveSheet.Buttons.Add(87, 0, 165, 17.25).Select
Sheets(Array("Soumission", "data", "rapport_insp")).Copy
Before:=Workbooks("DP.xlsx").Sheets(1)
ActiveWindow.TabRatio = 0.689
Range("B30").Select
End If
Next
End Sub
Bonjour Frédérique
J'ai besoin que le message me demande dans quel fichier ci il y en n'a
des fichier ouvert ou
me demande de le chercher le bon fichier.
et après coller les trois onglet.
Merci
comment faire pour avoir le choix des fichiers ...
Merci
Bonjour,
A ce que j'ai compris, il y a deux questions :
- comment mettre dans une liste déroulante la liste des classeurs
ouverts, pour en choisir un ?
- comment faire sélectionner un fichier sur le disque par l'utilisateur ?
Je vais laisser quelqu'un s'amuser avec la première question (et
peut-être préciser ensuite une feuille/un champ), et je propose ceci
pour la deuxième :
http://support.microsoft.com/kb/161930/fr
Dans l'exemple proposé on sélectionne un fichier texte, il y a juste un
argument à changer si c'est un autre type de fichier qu'on veut.
La procédure suivante copie mais pas dans le fichier que j'ai
sélectionner "oui" il ouvre un nouveau classeur ???
Sub Copie_onglet()
Dim Nom_Classeur As Object
Dim Retour_Message As Long
For Each Nom_Classeur In Workbooks
Retour_Message = MsgBox("Voulez-vous copier les onglets
dans le fichier " & Nom_Classeur.Name, vbYesNo)
If Retour_Message = 6 Then
Sheets(Array("Soumission", "data", "rapport_insp")).Select
'Sheets("rapport_insp").Activate
'Sheets(Array("Soumission", "data", "rapport_insp")).Copy
Before:=Workbooks("DP.xlsx").Sheets(1)
Sheets(Array("Soumission", "data", "rapport_insp")).Copy
Range("D6").Select
End If
Next
End Sub
Merci
Sub Macro10()
Dim Nom_Classeur As Object, myF As Worksheet
Dim Retour_Message As Long
For Each Nom_Classeur In Workbooks
Retour_Message = MsgBox("Voulez-vous copier les onglets dans
le fichier " & Nom_Classeur.Name, vbYesNo)
If Retour_Message = 6 Then
'ici tout ce que tu as à faire avant
Set myF = Workbooks(Nom_Classeur.Name).Sheets(1)
Sheets(Array("Soumission", "data", "rapport_insp")).Copy
After:=myF
Exit For
End If
Next
Set myF = Nothing
End Sub
'LSteph
On Aug 29, 3:56 pm, pellet15
bonjour LSteph
ça fonctionne très bien mais comment faire pour qu'il ne me demande
pas de copier dans le fichier qui contient la macro
(donc la ou sont les onglets a copier) et plus tôt les autre fichier
actif.
Merci
Comme ceci pendant que LSteph est au petit coin!
;-))
'-------------------------------------
Sub Macro10()
Dim Nom_Classeur As Workbook, myF As Worksheet
Dim Retour_Message As Long
For Each Nom_Classeur In Workbooks
If Nom_Classeur.Name <> ThisWorkbook.Name Then
Retour_Message = MsgBox("Voulez-vous copier les onglets " & _
"dans le fichier " & Nom_Classeur.Name, vbYesNo)
If Retour_Message = 6 Then
'ici tout ce que tu as à faire avant
Set myF = Workbooks(Nom_Classeur.Name).Sheets(1)
Sheets(Array("Soumission", "data", "rapport_insp")).Copy After:=myF
Exit For
End If
End If
Next
Set myF = Nothing
End Sub
'-------------------------------------
MichD
--------------------------------------------
"pellet15" a écrit dans le message de groupe de discussion :
On 29 août, 10:56, LSteph
bonjour LSteph
ça fonctionne très bien mais comment faire pour qu'il ne me demande
pas de copier dans le fichier qui contient la macro
(donc la ou sont les onglets a copier) et plus tôt les autre fichier
actif.
Merci
Vous serait-il possible de répondre en haut du message, svp? C'est fatigant
pour la roulette de débobiner 50 cm de message à chaque fois.
Un grand merci et bonne chance
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"pellet15" a écrit dans le message de groupe de discussion :
On 29 août, 10:56, LSteph
bonjour LSteph
ça fonctionne très bien mais comment faire pour qu'il ne me demande
pas de copier dans le fichier qui contient la macro
(donc la ou sont les onglets a copier) et plus tôt les autre fichier
actif.
Merci
On Aug 29, 7:19 pm, "MichD"