Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copy/Past environ 300 onglets

10 réponses
Avatar
Vader
Bonjour,

J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
celle-ci plante synthèmatiquement au bout de 15/20 onglets copiés-collés.

Méthode qui plante :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

Méthode qui marche mais extrement longue :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sauver puis fermer le fichier d'arrivée
4. Ouvrir le fichier d'arrivée
5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir sont
de plus en plus long à mesure que le nombre d'onglets augmente (je fini avec
+ de 300 onglets).

J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une solution
"vider le Presse Papier" entre deux copies sans succés.

Je séche ... help ^^

Merci à tous pour votre aide,
Antoine

******************



'____________________________________________________________________________________________
'
' Traitement de l'impression du EXCE
'____________________________________________________________________________________________


Private Function Trait_XLS()

Dim Wk As Workbook, Sh As Worksheet
Set Wk = Workbooks.Add(-4167)


ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"

'-------------------------------------------
' Duplication des onglets en Collage valeur
'-------------------------------------------

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select


For i = 2 To ActiveSheet.UsedRange.Rows.Count

Application.ScreenUpdating = True
Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Application.ScreenUpdating = False

If Cells(i, 4) = "NA" Then
GoTo sautelena:

ElseIf Cells(i, 4) = "" Then
Exit For
End If

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Classeur_XLS = Cells(i, 1).Value
Feuille_XLS = Cells(i, 2).Value

If Cells(i, 1) = "Macro Edition MR.xls" Then
Classeur_XLS = File_EditionMR_Name
End If

Windows(Classeur_XLS).Activate
Sheets(Feuille_XLS).Select
Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST & ".xls").Sheets(1)
Sheets(Feuille_XLS).Move after:=Workbooks(Onglet_LIST &
".xls").Sheets(Sheets.Count)

ActiveWorkbook.Save
ActiveWorkbook.Close
'Call Vider_PP
Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"

sautelena:

Next

End Function

10 réponses

Avatar
michdenis
Bonjour,

Si le but que tu recherches est de créer un second classeur avec
tous les onglets du fichier Source, pourquoi ne pas simplement
"enregistrer sous" le fichier source sous un autre nom ? Au besoin,
tu ajoutes au nouveau classeur peut-être un ou 2 onglets qui lui
sera spécifique.

Trop simple ?






"Vader" a écrit dans le message de groupe de discussion
:
Bonjour,

J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
celle-ci plante synthèmatiquement au bout de 15/20 onglets copiés-collés.

Méthode qui plante :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

Méthode qui marche mais extrement longue :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sauver puis fermer le fichier d'arrivée
4. Ouvrir le fichier d'arrivée
5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir sont
de plus en plus long à mesure que le nombre d'onglets augmente (je fini avec
+ de 300 onglets).

J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une solution
"vider le Presse Papier" entre deux copies sans succés.

Je séche ... help ^^

Merci à tous pour votre aide,
Antoine

******************



'____________________________________________________________________________________________
'
' Traitement de l'impression du EXCEL
'____________________________________________________________________________________________


Private Function Trait_XLS()

Dim Wk As Workbook, Sh As Worksheet
Set Wk = Workbooks.Add(-4167)


ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"

'-------------------------------------------
' Duplication des onglets en Collage valeur
'-------------------------------------------

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select


For i = 2 To ActiveSheet.UsedRange.Rows.Count

Application.ScreenUpdating = True
Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Application.ScreenUpdating = False

If Cells(i, 4) = "NA" Then
GoTo sautelena:

ElseIf Cells(i, 4) = "" Then
Exit For
End If

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Classeur_XLS = Cells(i, 1).Value
Feuille_XLS = Cells(i, 2).Value

If Cells(i, 1) = "Macro Edition MR.xls" Then
Classeur_XLS = File_EditionMR_Name
End If

Windows(Classeur_XLS).Activate
Sheets(Feuille_XLS).Select
Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST & ".xls").Sheets(1)
Sheets(Feuille_XLS).Move after:=Workbooks(Onglet_LIST &
".xls").Sheets(Sheets.Count)

ActiveWorkbook.Save
ActiveWorkbook.Close
'Call Vider_PP
Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"

sautelena:

Next

End Function
Avatar
Daniel.C
Bonjour.
Une autre voie à explorer.
1. Déterminer quel est le classeur qui a le plus de feuilles à copier
pour créer un nouveau classeur. L'enregistrer en tant que classeur
cible; supprimer les feuilles superflues. Copier les feuilles du
classeur ayant le moins de feuilles à copier dans le classeur
temporaire.
Bien sûr, des liaisons peuvent compliquer la tâche.
Appliquer ensuite ta méthode "lente", éventuellement avec une macro.
Cordialement.
Daniel


Bonjour,

J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
celle-ci plante synthèmatiquement au bout de 15/20 onglets copiés-collés.

Méthode qui plante :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

Méthode qui marche mais extrement longue :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sauver puis fermer le fichier d'arrivée
4. Ouvrir le fichier d'arrivée
5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir sont
de plus en plus long à mesure que le nombre d'onglets augmente (je fini avec
+ de 300 onglets).

J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une solution
"vider le Presse Papier" entre deux copies sans succés.

Je séche ... help ^^

Merci à tous pour votre aide,
Antoine

******************



'____________________________________________________________________________________________
'
' Traitement de l'impression du EXCEL
'____________________________________________________________________________________________


Private Function Trait_XLS()

Dim Wk As Workbook, Sh As Worksheet
Set Wk = Workbooks.Add(-4167)


ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"

'-------------------------------------------
' Duplication des onglets en Collage valeur
'-------------------------------------------

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select


For i = 2 To ActiveSheet.UsedRange.Rows.Count

Application.ScreenUpdating = True
Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Application.ScreenUpdating = False

If Cells(i, 4) = "NA" Then
GoTo sautelena:

ElseIf Cells(i, 4) = "" Then
Exit For
End If

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Classeur_XLS = Cells(i, 1).Value
Feuille_XLS = Cells(i, 2).Value

If Cells(i, 1) = "Macro Edition MR.xls" Then
Classeur_XLS = File_EditionMR_Name
End If

Windows(Classeur_XLS).Activate
Sheets(Feuille_XLS).Select
Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST &
".xls").Sheets(1) Sheets(Feuille_XLS).Move after:=Workbooks(Onglet_LIST &
".xls").Sheets(Sheets.Count)

ActiveWorkbook.Save
ActiveWorkbook.Close
'Call Vider_PP
Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"

sautelena:

Next

End Function
Avatar
Vader
Beh vi trop simple ^^

Il y a 15 fichiers sources, je ne prends pas tous les onglets ... et ils
doivent être classés dans un ordre spécifique dans le fichier de sortie.

Je travaille avec une liste à double entrée "fichier à ouvrir" / "onglet à
copier", une ligne par couple à copier et la macro parcours cette liste en
copiant chaque onglet.

Les joies des reporting sous Excel ... lol

"michdenis" wrote:

Bonjour,

Si le but que tu recherches est de créer un second classeur avec
tous les onglets du fichier Source, pourquoi ne pas simplement
"enregistrer sous" le fichier source sous un autre nom ? Au besoin,
tu ajoutes au nouveau classeur peut-être un ou 2 onglets qui lui
sera spécifique.

Trop simple ?






"Vader" a écrit dans le message de groupe de discussion
:
Bonjour,

J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
celle-ci plante synthèmatiquement au bout de 15/20 onglets copiés-collés.

Méthode qui plante :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

Méthode qui marche mais extrement longue :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sauver puis fermer le fichier d'arrivée
4. Ouvrir le fichier d'arrivée
5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir sont
de plus en plus long à mesure que le nombre d'onglets augmente (je fini avec
+ de 300 onglets).

J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une solution
"vider le Presse Papier" entre deux copies sans succés.

Je séche ... help ^^

Merci à tous pour votre aide,
Antoine

******************



'____________________________________________________________________________________________
'
' Traitement de l'impression du EXCEL
'____________________________________________________________________________________________


Private Function Trait_XLS()

Dim Wk As Workbook, Sh As Worksheet
Set Wk = Workbooks.Add(-4167)


ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"

'-------------------------------------------
' Duplication des onglets en Collage valeur
'-------------------------------------------

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select


For i = 2 To ActiveSheet.UsedRange.Rows.Count

Application.ScreenUpdating = True
Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Application.ScreenUpdating = False

If Cells(i, 4) = "NA" Then
GoTo sautelena:

ElseIf Cells(i, 4) = "" Then
Exit For
End If

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Classeur_XLS = Cells(i, 1).Value
Feuille_XLS = Cells(i, 2).Value

If Cells(i, 1) = "Macro Edition MR.xls" Then
Classeur_XLS = File_EditionMR_Name
End If

Windows(Classeur_XLS).Activate
Sheets(Feuille_XLS).Select
Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST & ".xls").Sheets(1)
Sheets(Feuille_XLS).Move after:=Workbooks(Onglet_LIST &
".xls").Sheets(Sheets.Count)

ActiveWorkbook.Save
ActiveWorkbook.Close
'Call Vider_PP
Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"

sautelena:

Next

End Function

Avatar
michdenis
Comment procèdes-tu ? Est-ce possible de voir la macro ?
Peux-tu la publier dans ton prochain message ?



"Vader" a écrit dans le message de groupe de discussion
:
Beh vi trop simple ^^

Il y a 15 fichiers sources, je ne prends pas tous les onglets ... et ils
doivent être classés dans un ordre spécifique dans le fichier de sortie.

Je travaille avec une liste à double entrée "fichier à ouvrir" / "onglet à
copier", une ligne par couple à copier et la macro parcours cette liste en
copiant chaque onglet.

Les joies des reporting sous Excel ... lol

"michdenis" wrote:

Bonjour,

Si le but que tu recherches est de créer un second classeur avec
tous les onglets du fichier Source, pourquoi ne pas simplement
"enregistrer sous" le fichier source sous un autre nom ? Au besoin,
tu ajoutes au nouveau classeur peut-être un ou 2 onglets qui lui
sera spécifique.

Trop simple ?






"Vader" a écrit dans le message de groupe de
discussion
:
Bonjour,

J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
celle-ci plante synthèmatiquement au bout de 15/20 onglets copiés-collés.

Méthode qui plante :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

Méthode qui marche mais extrement longue :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sauver puis fermer le fichier d'arrivée
4. Ouvrir le fichier d'arrivée
5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir sont
de plus en plus long à mesure que le nombre d'onglets augmente (je fini avec
+ de 300 onglets).

J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une solution
"vider le Presse Papier" entre deux copies sans succés.

Je séche ... help ^^

Merci à tous pour votre aide,
Antoine

******************



'____________________________________________________________________________________________
'
' Traitement de l'impression du EXCEL
'____________________________________________________________________________________________


Private Function Trait_XLS()

Dim Wk As Workbook, Sh As Worksheet
Set Wk = Workbooks.Add(-4167)


ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"

'-------------------------------------------
' Duplication des onglets en Collage valeur
'-------------------------------------------

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select


For i = 2 To ActiveSheet.UsedRange.Rows.Count

Application.ScreenUpdating = True
Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Application.ScreenUpdating = False

If Cells(i, 4) = "NA" Then
GoTo sautelena:

ElseIf Cells(i, 4) = "" Then
Exit For
End If

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Classeur_XLS = Cells(i, 1).Value
Feuille_XLS = Cells(i, 2).Value

If Cells(i, 1) = "Macro Edition MR.xls" Then
Classeur_XLS = File_EditionMR_Name
End If

Windows(Classeur_XLS).Activate
Sheets(Feuille_XLS).Select
Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST & ".xls").Sheets(1)
Sheets(Feuille_XLS).Move after:=Workbooks(Onglet_LIST &
".xls").Sheets(Sheets.Count)

ActiveWorkbook.Save
ActiveWorkbook.Close
'Call Vider_PP
Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"

sautelena:

Next

End Function

Avatar
michdenis
Et dans le fichier de destination, qu'as-tu de besoin ?
de tout ce que contient la feuille, Format de cellules,
mise en page, formules et données ? Seulement les données ?


"michdenis" a écrit dans le message de groupe de discussion :

Comment procèdes-tu ? Est-ce possible de voir la macro ?
Peux-tu la publier dans ton prochain message ?



"Vader" a écrit dans le message de groupe de discussion
:
Beh vi trop simple ^^

Il y a 15 fichiers sources, je ne prends pas tous les onglets ... et ils
doivent être classés dans un ordre spécifique dans le fichier de sortie.

Je travaille avec une liste à double entrée "fichier à ouvrir" / "onglet à
copier", une ligne par couple à copier et la macro parcours cette liste en
copiant chaque onglet.

Les joies des reporting sous Excel ... lol

"michdenis" wrote:

Bonjour,

Si le but que tu recherches est de créer un second classeur avec
tous les onglets du fichier Source, pourquoi ne pas simplement
"enregistrer sous" le fichier source sous un autre nom ? Au besoin,
tu ajoutes au nouveau classeur peut-être un ou 2 onglets qui lui
sera spécifique.

Trop simple ?






"Vader" a écrit dans le message de groupe de
discussion
:
Bonjour,

J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
celle-ci plante synthèmatiquement au bout de 15/20 onglets copiés-collés.

Méthode qui plante :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

Méthode qui marche mais extrement longue :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sauver puis fermer le fichier d'arrivée
4. Ouvrir le fichier d'arrivée
5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir sont
de plus en plus long à mesure que le nombre d'onglets augmente (je fini avec
+ de 300 onglets).

J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une solution
"vider le Presse Papier" entre deux copies sans succés.

Je séche ... help ^^

Merci à tous pour votre aide,
Antoine

******************



'____________________________________________________________________________________________
'
' Traitement de l'impression du EXCEL
'____________________________________________________________________________________________


Private Function Trait_XLS()

Dim Wk As Workbook, Sh As Worksheet
Set Wk = Workbooks.Add(-4167)


ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"

'-------------------------------------------
' Duplication des onglets en Collage valeur
'-------------------------------------------

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select


For i = 2 To ActiveSheet.UsedRange.Rows.Count

Application.ScreenUpdating = True
Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Application.ScreenUpdating = False

If Cells(i, 4) = "NA" Then
GoTo sautelena:

ElseIf Cells(i, 4) = "" Then
Exit For
End If

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Classeur_XLS = Cells(i, 1).Value
Feuille_XLS = Cells(i, 2).Value

If Cells(i, 1) = "Macro Edition MR.xls" Then
Classeur_XLS = File_EditionMR_Name
End If

Windows(Classeur_XLS).Activate
Sheets(Feuille_XLS).Select
Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST & ".xls").Sheets(1)
Sheets(Feuille_XLS).Move after:=Workbooks(Onglet_LIST &
".xls").Sheets(Sheets.Count)

ActiveWorkbook.Save
ActiveWorkbook.Close
'Call Vider_PP
Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"

sautelena:

Next

End Function

Avatar
Vader
J'essaye de poster le fichier Excel qui sert à gérer la macro ... car sans
cela tu ne vas pas pouvoir comprendre la totalité de la démarche : il y a du
code + des onglets Excel (ouverts pour que l'utilisateur puisse modifier sans
rentrer dans la macro).

Vous connaissez un site de DL ? c'est pas mal filtré du bureau ... et
l'habituel dl.free.fr est HS.

Merci de votre aide



"michdenis" wrote:

Comment procèdes-tu ? Est-ce possible de voir la macro ?
Peux-tu la publier dans ton prochain message ?



"Vader" a écrit dans le message de groupe de discussion
:
Beh vi trop simple ^^

Il y a 15 fichiers sources, je ne prends pas tous les onglets ... et ils
doivent être classés dans un ordre spécifique dans le fichier de sortie.

Je travaille avec une liste à double entrée "fichier à ouvrir" / "onglet à
copier", une ligne par couple à copier et la macro parcours cette liste en
copiant chaque onglet.

Les joies des reporting sous Excel ... lol

"michdenis" wrote:

> Bonjour,
>
> Si le but que tu recherches est de créer un second classeur avec
> tous les onglets du fichier Source, pourquoi ne pas simplement
> "enregistrer sous" le fichier source sous un autre nom ? Au besoin,
> tu ajoutes au nouveau classeur peut-être un ou 2 onglets qui lui
> sera spécifique.
>
> Trop simple ?
>
>
>
>
>
>
> "Vader" a écrit dans le message de groupe de
> discussion
> :
> Bonjour,
>
> J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
> celle-ci plante synthèmatiquement au bout de 15/20 onglets copiés-collés.
>
> Méthode qui plante :
> 1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
> 2. Copie sans lien dans un fichier d'arrivée
> 3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.
>
> Méthode qui marche mais extrement longue :
> 1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
> 2. Copie sans lien dans un fichier d'arrivée
> 3. Sauver puis fermer le fichier d'arrivée
> 4. Ouvrir le fichier d'arrivée
> 5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.
>
> La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir sont
> de plus en plus long à mesure que le nombre d'onglets augmente (je fini avec
> + de 300 onglets).
>
> J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
> fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une solution
> "vider le Presse Papier" entre deux copies sans succés.
>
> Je séche ... help ^^
>
> Merci à tous pour votre aide,
> Antoine
>
> ******************
>
>
>
> '____________________________________________________________________________________________
> '
> ' Traitement de l'impression du EXCEL
> '____________________________________________________________________________________________
>
>
> Private Function Trait_XLS()
>
> Dim Wk As Workbook, Sh As Worksheet
> Set Wk = Workbooks.Add(-4167)
>
>
> ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"
>
> '-------------------------------------------
> ' Duplication des onglets en Collage valeur
> '-------------------------------------------
>
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
>
>
> For i = 2 To ActiveSheet.UsedRange.Rows.Count
>
> Application.ScreenUpdating = True
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
> Application.ScreenUpdating = False
>
> If Cells(i, 4) = "NA" Then
> GoTo sautelena:
>
> ElseIf Cells(i, 4) = "" Then
> Exit For
> End If
>
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
> Classeur_XLS = Cells(i, 1).Value
> Feuille_XLS = Cells(i, 2).Value
>
> If Cells(i, 1) = "Macro Edition MR.xls" Then
> Classeur_XLS = File_EditionMR_Name
> End If
>
> Windows(Classeur_XLS).Activate
> Sheets(Feuille_XLS).Select
> Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST & ".xls").Sheets(1)
> Sheets(Feuille_XLS).Move after:=Workbooks(Onglet_LIST &
> ".xls").Sheets(Sheets.Count)
>
> ActiveWorkbook.Save
> ActiveWorkbook.Close
> 'Call Vider_PP
> Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"
>
> sautelena:
>
> Next
>
> End Function
>
Avatar
Vader
Bonne idée mais elle ne va pas me faire gagner bq de temps ... les onglets
sont vraiment partout.
J'appliquerai ton idée en cas d'échec sur le reste ^^
Merci

"Daniel.C" wrote:

Bonjour.
Une autre voie à explorer.
1. Déterminer quel est le classeur qui a le plus de feuilles à copier
pour créer un nouveau classeur. L'enregistrer en tant que classeur
cible; supprimer les feuilles superflues. Copier les feuilles du
classeur ayant le moins de feuilles à copier dans le classeur
temporaire.
Bien sûr, des liaisons peuvent compliquer la tâche.
Appliquer ensuite ta méthode "lente", éventuellement avec une macro.
Cordialement.
Daniel


> Bonjour,
>
> J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
> celle-ci plante synthèmatiquement au bout de 15/20 onglets copiés-collés.
>
> Méthode qui plante :
> 1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
> 2. Copie sans lien dans un fichier d'arrivée
> 3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.
>
> Méthode qui marche mais extrement longue :
> 1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
> 2. Copie sans lien dans un fichier d'arrivée
> 3. Sauver puis fermer le fichier d'arrivée
> 4. Ouvrir le fichier d'arrivée
> 5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.
>
> La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir sont
> de plus en plus long à mesure que le nombre d'onglets augmente (je fini avec
> + de 300 onglets).
>
> J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
> fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une solution
> "vider le Presse Papier" entre deux copies sans succés.
>
> Je séche ... help ^^
>
> Merci à tous pour votre aide,
> Antoine
>
> ******************
>
>
>
> '____________________________________________________________________________________________
> '
> ' Traitement de l'impression du EXCEL
> '____________________________________________________________________________________________
>
>
> Private Function Trait_XLS()
>
> Dim Wk As Workbook, Sh As Worksheet
> Set Wk = Workbooks.Add(-4167)
>
>
> ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"
>
> '-------------------------------------------
> ' Duplication des onglets en Collage valeur
> '-------------------------------------------
>
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
>
>
> For i = 2 To ActiveSheet.UsedRange.Rows.Count
>
> Application.ScreenUpdating = True
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
> Application.ScreenUpdating = False
>
> If Cells(i, 4) = "NA" Then
> GoTo sautelena:
>
> ElseIf Cells(i, 4) = "" Then
> Exit For
> End If
>
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
> Classeur_XLS = Cells(i, 1).Value
> Feuille_XLS = Cells(i, 2).Value
>
> If Cells(i, 1) = "Macro Edition MR.xls" Then
> Classeur_XLS = File_EditionMR_Name
> End If
>
> Windows(Classeur_XLS).Activate
> Sheets(Feuille_XLS).Select
> Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST &
> ".xls").Sheets(1) Sheets(Feuille_XLS).Move after:=Workbooks(Onglet_LIST &
> ".xls").Sheets(Sheets.Count)
>
> ActiveWorkbook.Save
> ActiveWorkbook.Close
> 'Call Vider_PP
> Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"
>
> sautelena:
>
> Next
>
> End Function


.

Avatar
Daniel.C
Peut-être pourrais-tu faire un test de déplacer les feuilles au lieu de
les copier ? (sans sauvegarder les fichiers sources, bien sûr).
Daniel

Beh vi trop simple ^^

Il y a 15 fichiers sources, je ne prends pas tous les onglets ... et ils
doivent être classés dans un ordre spécifique dans le fichier de sortie.

Je travaille avec une liste à double entrée "fichier à ouvrir" / "onglet à
copier", une ligne par couple à copier et la macro parcours cette liste en
copiant chaque onglet.

Les joies des reporting sous Excel ... lol

"michdenis" wrote:

Bonjour,

Si le but que tu recherches est de créer un second classeur avec
tous les onglets du fichier Source, pourquoi ne pas simplement
"enregistrer sous" le fichier source sous un autre nom ? Au besoin,
tu ajoutes au nouveau classeur peut-être un ou 2 onglets qui lui
sera spécifique.

Trop simple ?






"Vader" a écrit dans le message de groupe
de discussion



Bonjour,

J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
celle-ci plante synthèmatiquement au bout de 15/20 onglets copiés-collés.

Méthode qui plante :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

Méthode qui marche mais extrement longue :
1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
2. Copie sans lien dans un fichier d'arrivée
3. Sauver puis fermer le fichier d'arrivée
4. Ouvrir le fichier d'arrivée
5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.

La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir sont
de plus en plus long à mesure que le nombre d'onglets augmente (je fini avec
+ de 300 onglets).

J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une solution
"vider le Presse Papier" entre deux copies sans succés.

Je séche ... help ^^

Merci à tous pour votre aide,
Antoine

******************



'____________________________________________________________________________________________
'
' Traitement de l'impression du EXCEL
'____________________________________________________________________________________________


Private Function Trait_XLS()

Dim Wk As Workbook, Sh As Worksheet
Set Wk = Workbooks.Add(-4167)


ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"

'-------------------------------------------
' Duplication des onglets en Collage valeur
'-------------------------------------------

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select


For i = 2 To ActiveSheet.UsedRange.Rows.Count

Application.ScreenUpdating = True
Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Application.ScreenUpdating = False

If Cells(i, 4) = "NA" Then
GoTo sautelena:

ElseIf Cells(i, 4) = "" Then
Exit For
End If

Windows(File_EditionMR_Name).Activate
Sheets(Onglet_LIST).Select
Classeur_XLS = Cells(i, 1).Value
Feuille_XLS = Cells(i, 2).Value

If Cells(i, 1) = "Macro Edition MR.xls" Then
Classeur_XLS = File_EditionMR_Name
End If

Windows(Classeur_XLS).Activate
Sheets(Feuille_XLS).Select
Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST &
".xls").Sheets(1) Sheets(Feuille_XLS).Move after:=Workbooks(Onglet_LIST
& ".xls").Sheets(Sheets.Count)

ActiveWorkbook.Save
ActiveWorkbook.Close
'Call Vider_PP
Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"

sautelena:

Next

End Function

Avatar
michdenis
As-tu essayé le site Cijoint.fr ?



"Vader" a écrit dans le message de groupe de discussion
:
J'essaye de poster le fichier Excel qui sert à gérer la macro ... car sans
cela tu ne vas pas pouvoir comprendre la totalité de la démarche : il y a du
code + des onglets Excel (ouverts pour que l'utilisateur puisse modifier sans
rentrer dans la macro).

Vous connaissez un site de DL ? c'est pas mal filtré du bureau ... et
l'habituel dl.free.fr est HS.

Merci de votre aide



"michdenis" wrote:

Comment procèdes-tu ? Est-ce possible de voir la macro ?
Peux-tu la publier dans ton prochain message ?



"Vader" a écrit dans le message de groupe de
discussion
:
Beh vi trop simple ^^

Il y a 15 fichiers sources, je ne prends pas tous les onglets ... et ils
doivent être classés dans un ordre spécifique dans le fichier de sortie.

Je travaille avec une liste à double entrée "fichier à ouvrir" / "onglet à
copier", une ligne par couple à copier et la macro parcours cette liste en
copiant chaque onglet.

Les joies des reporting sous Excel ... lol

"michdenis" wrote:

> Bonjour,
>
> Si le but que tu recherches est de créer un second classeur avec
> tous les onglets du fichier Source, pourquoi ne pas simplement
> "enregistrer sous" le fichier source sous un autre nom ? Au besoin,
> tu ajoutes au nouveau classeur peut-être un ou 2 onglets qui lui
> sera spécifique.
>
> Trop simple ?
>
>
>
>
>
>
> "Vader" a écrit dans le message de groupe de
> discussion
> :
> Bonjour,
>
> J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
> celle-ci plante synthèmatiquement au bout de 15/20 onglets copiés-collés.
>
> Méthode qui plante :
> 1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
> 2. Copie sans lien dans un fichier d'arrivée
> 3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.
>
> Méthode qui marche mais extrement longue :
> 1. Je sélectionne l'onglet dans le fichier source (fichier source Frozen)
> 2. Copie sans lien dans un fichier d'arrivée
> 3. Sauver puis fermer le fichier d'arrivée
> 4. Ouvrir le fichier d'arrivée
> 5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.
>
> La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir sont
> de plus en plus long à mesure que le nombre d'onglets augmente (je fini avec
> + de 300 onglets).
>
> J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
> fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une solution
> "vider le Presse Papier" entre deux copies sans succés.
>
> Je séche ... help ^^
>
> Merci à tous pour votre aide,
> Antoine
>
> ******************
>
>
>
> '____________________________________________________________________________________________
> '
> ' Traitement de l'impression du EXCEL
> '____________________________________________________________________________________________
>
>
> Private Function Trait_XLS()
>
> Dim Wk As Workbook, Sh As Worksheet
> Set Wk = Workbooks.Add(-4167)
>
>
> ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"
>
> '-------------------------------------------
> ' Duplication des onglets en Collage valeur
> '-------------------------------------------
>
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
>
>
> For i = 2 To ActiveSheet.UsedRange.Rows.Count
>
> Application.ScreenUpdating = True
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
> Application.ScreenUpdating = False
>
> If Cells(i, 4) = "NA" Then
> GoTo sautelena:
>
> ElseIf Cells(i, 4) = "" Then
> Exit For
> End If
>
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
> Classeur_XLS = Cells(i, 1).Value
> Feuille_XLS = Cells(i, 2).Value
>
> If Cells(i, 1) = "Macro Edition MR.xls" Then
> Classeur_XLS = File_EditionMR_Name
> End If
>
> Windows(Classeur_XLS).Activate
> Sheets(Feuille_XLS).Select
> Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST & ".xls").Sheets(1)
> Sheets(Feuille_XLS).Move after:=Workbooks(Onglet_LIST &
> ".xls").Sheets(Sheets.Count)
>
> ActiveWorkbook.Save
> ActiveWorkbook.Close
> 'Call Vider_PP
> Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"
>
> sautelena:
>
> Next
>
> End Function
>
Avatar
Jacquouille
Bonjour
Et l'idée inverse ?
Copier l'intégralité du fichier, puis supprimer les onglets inutiles?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Vader" a écrit dans le message de news:

Bonne idée mais elle ne va pas me faire gagner bq de temps ... les onglets
sont vraiment partout.
J'appliquerai ton idée en cas d'échec sur le reste ^^
Merci

"Daniel.C" wrote:

Bonjour.
Une autre voie à explorer.
1. Déterminer quel est le classeur qui a le plus de feuilles à copier
pour créer un nouveau classeur. L'enregistrer en tant que classeur
cible; supprimer les feuilles superflues. Copier les feuilles du
classeur ayant le moins de feuilles à copier dans le classeur
temporaire.
Bien sûr, des liaisons peuvent compliquer la tâche.
Appliquer ensuite ta méthode "lente", éventuellement avec une macro.
Cordialement.
Daniel


> Bonjour,
>
> J'ai un petit problème avec ma méthode de copier-coller d'onglet ...
> celle-ci plante synthèmatiquement au bout de 15/20 onglets
> copiés-collés.
>
> Méthode qui plante :
> 1. Je sélectionne l'onglet dans le fichier source (fichier source
> Frozen)
> 2. Copie sans lien dans un fichier d'arrivée
> 3. Sélection d'un nouvel onglet dans le fichier source et rebelotte.
>
> Méthode qui marche mais extrement longue :
> 1. Je sélectionne l'onglet dans le fichier source (fichier source
> Frozen)
> 2. Copie sans lien dans un fichier d'arrivée
> 3. Sauver puis fermer le fichier d'arrivée
> 4. Ouvrir le fichier d'arrivée
> 5. Sélection d'un nouvel onglet dans le fichier source et rebelotte.
>
> La seconde méthode marche mais les cycle de copier-coller-fermer-ouvrir
> sont
> de plus en plus long à mesure que le nombre d'onglets augmente (je fini
> avec
> + de 300 onglets).
>
> J'aimerai comprendre pourquoi Excel plante lorsque je copie-colle sans
> fermer / ouvrir le fichier arrivée. D'autant que j'ai testé une
> solution
> "vider le Presse Papier" entre deux copies sans succés.
>
> Je séche ... help ^^
>
> Merci à tous pour votre aide,
> Antoine
>
> ******************
>
>
>
> '____________________________________________________________________________________________
> '
> ' Traitement de l'impression du EXCEL
> '____________________________________________________________________________________________
>
>
> Private Function Trait_XLS()
>
> Dim Wk As Workbook, Sh As Worksheet
> Set Wk = Workbooks.Add(-4167)
>
>
> ActiveWorkbook.SaveAs Directory & Onglet_LIST & ".xls"
>
> '-------------------------------------------
> ' Duplication des onglets en Collage valeur
> '-------------------------------------------
>
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
>
>
> For i = 2 To ActiveSheet.UsedRange.Rows.Count
>
> Application.ScreenUpdating = True
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
> Application.ScreenUpdating = False
>
> If Cells(i, 4) = "NA" Then
> GoTo sautelena:
>
> ElseIf Cells(i, 4) = "" Then
> Exit For
> End If
>
> Windows(File_EditionMR_Name).Activate
> Sheets(Onglet_LIST).Select
> Classeur_XLS = Cells(i, 1).Value
> Feuille_XLS = Cells(i, 2).Value
>
> If Cells(i, 1) = "Macro Edition MR.xls" Then
> Classeur_XLS = File_EditionMR_Name
> End If
>
> Windows(Classeur_XLS).Activate
> Sheets(Feuille_XLS).Select
> Sheets(Feuille_XLS).Copy before:=Workbooks(Onglet_LIST &
> ".xls").Sheets(1) Sheets(Feuille_XLS).Move
> after:=Workbooks(Onglet_LIST &
> ".xls").Sheets(Sheets.Count)
>
> ActiveWorkbook.Save
> ActiveWorkbook.Close
> 'Call Vider_PP
> Workbooks.Open Filename:=Directory & Onglet_LIST & ".xls"
>
> sautelena:
>
> Next
>
> End Function


.