Copy/Past environ 300 onglets

Le
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
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #21609391
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" :
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
Daniel.C
Le #21609381
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
Vader
Le #21609531
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" :
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

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



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

michdenis
Le #21609971
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"
Comment procèdes-tu ? Est-ce possible de voir la macro ?
Peux-tu la publier dans ton prochain message ?



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

Vader
Le #21609961
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" :
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" > 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
>
Vader
Le #21609951
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


.

Daniel.C
Le #21610161
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" 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

michdenis
Le #21610151
As-tu essayé le site Cijoint.fr ?



"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" 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" > 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
>
Jacquouille
Le #21610511
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"
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


.

Publicité
Poster une réponse
Anonyme