copier des onglet dans un autre fichier

11 réponses
Avatar
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

10 réponses

1 2
Avatar
Frederic LE GUEN - MVP Excel
On 25 août, 18:59, Pellet15 wrote:
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 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
Avatar
pellet15
On 25 août, 13:47, Frederic LE GUEN - MVP Excel
wrote:
On 25 août, 18:59, Pellet15 wrote:









> 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 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
Avatar
pellet15
On 28 août, 12:11, pellet15 wrote:
On 25 août, 13:47, Frederic LE GUEN - MVP Excel
wrote:









> On 25 août, 18:59, Pellet15 wrote:

> > Bonjour a tous

> > J'ai besoin de copier 3 onglet dans un autre fichier ,mais je voudrai t
> > 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 ongle ts dans
> le fichier " & Nom_Classeur.Name, vbYesNo)
>         If Retour_Message = 6 Then
>             Sheets(Array("Soumission", "data", "rapport_ins p")).Select
>             Sheets("rapport_insp").Activate
>             ActiveSheet.Buttons.Add(87, 0, 165, 17.25).Sele ct
>             Sheets(Array("Soumission", "data", "rapport_ins p")).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
Avatar
Gloops
Pellet15 a écrit, le 25/08/2011 18:59 :
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



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.
Avatar
pellet15
On 29 août, 04:21, Gloops wrote:
Pellet15 a écrit, le 25/08/2011 18:59 :









> 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

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
Avatar
LSteph
Bonjour,

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 wrote:
On 29 août, 04:21, Gloops wrote:









> Pellet15 a écrit, le 25/08/2011 18:59 :

> > Bonjour a tous

> > J'ai besoin de copier 3 onglet dans un autre fichier ,mais je voudrai t
> > 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

> 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'utilisate ur ?

> 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 cec i
> pour la deuxième :

>http://support.microsoft.com/kb/161930/fr

> Dans l'exemple proposé on sélectionne un fichier texte, il y a just e 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
Avatar
pellet15
On 29 août, 10:56, LSteph wrote:
Bonjour,

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 wrote:







> On 29 août, 04:21, Gloops wrote:

> > Pellet15 a écrit, le 25/08/2011 18:59 :

> > > Bonjour a tous

> > > J'ai besoin de copier 3 onglet dans un autre fichier ,mais je voudr ait
> > > 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")).Sele ct
> > >      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

> > 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'utilisa teur ?

> > 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 c eci
> > pour la deuxième :

> >http://support.microsoft.com/kb/161930/fr

> > Dans l'exemple proposé on sélectionne un fichier texte, il y a ju ste 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 l es onglets
> dans le fichier " & Nom_Classeur.Name, vbYesNo)
>         If Retour_Message = 6 Then
>             Sheets(Array("Soumission", "data", "rapport_ins p")).Select
>    'Sheets("rapport_insp").Activate
>    'Sheets(Array("Soumission", "data", "rapport_insp")).Copy
> Before:=Workbooks("DP.xlsx").Sheets(1)
>             Sheets(Array("Soumission", "data", "rapport_ins p")).Copy

>              Range("D6").Select
>         End If
>     Next
> End Sub

> Merci



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
Avatar
MichD
Bonjour,

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 wrote:
Bonjour,

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 wrote:







> On 29 août, 04:21, Gloops wrote:

> > Pellet15 a écrit, le 25/08/2011 18:59 :

> > > 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

> > 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



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
Avatar
Jacquouille
Bonsoir
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 wrote:
Bonjour,

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 wrote:







> On 29 août, 04:21, Gloops wrote:

> > Pellet15 a écrit, le 25/08/2011 18:59 :

> > > 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

> > 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



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
Avatar
LSteph
;o))

On Aug 29, 7:19 pm, "MichD" wrote:
Bonjour,

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_Class eur.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", "rappo rt_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 wrote:









> Bonjour,

> 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 ongle ts 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_ins p")).Copy
> After:=myF

>             Exit For
>         End If
>     Next
> Set myF = Nothing
> End Sub

> 'LSteph

> On Aug 29, 3:56 pm, pellet15 wrote:

> > On 29 août, 04:21, Gloops wrote:

> > > Pellet15 a écrit, le 25/08/2011 18:59 :

> > > > Bonjour a tous

> > > > J'ai besoin de copier 3 onglet dans un autre fichier ,mais je vou drait
> > > > 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")).Se lect
> > > >      Sheets("rapport_insp").Activate
> > > >      ActiveSheet.Buttons.Add(87, 0, 165, 17.25).Select
> > > >      Sheets(Array("Soumission", "data", "rapport_insp")).Co py
> > > > Before:=Workbooks( _
> > > >          "DP.xlsx").Sheets(1)
> > > >      ActiveWindow.TabRatio = 0.689
> > > >      Range("B30").Select
> > > > End Sub

> > > > 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'utili sateur ?

> > > 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_i nsp")).Select
> >    'Sheets("rapport_insp").Activate
> >    'Sheets(Array("Soumission", "data", "rapport_insp")).Copy
> > Before:=Workbooks("DP.xlsx").Sheets(1)
> >             Sheets(Array("Soumission", "data", "rapport_i nsp")).Copy

> >              Range("D6").Select
> >         End If
> >     Next
> > End Sub

> > Merci

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
1 2