Copier partiellement une seule feuille d'un workbook
Fermé
danibounn
Messages postés
7
Date d'inscription
mardi 8 juillet 2014
Statut
Membre
Dernière intervention
10 juillet 2014
-
Modifié par pijaku le 10/07/2014 à 12:42
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 10 juil. 2014 à 12:48
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 10 juil. 2014 à 12:48
A voir également:
- Copier partiellement une seule feuille d'un workbook
- Copier une vidéo youtube - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Super copier - Télécharger - Gestion de fichiers
- Fusionner plusieurs feuilles excel en une seule - Guide
- Feuille de pointage excel - Télécharger - Tableur
4 réponses
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
10 juil. 2014 à 10:27
10 juil. 2014 à 10:27
Bonjour,
As-tu essayé de te servir de l'enregistreur de macro?
As-tu essayé de te servir de l'enregistreur de macro?
Range("A2:AM998").Select Selection.Copy
danibounn
Messages postés
7
Date d'inscription
mardi 8 juillet 2014
Statut
Membre
Dernière intervention
10 juillet 2014
10 juil. 2014 à 10:46
10 juil. 2014 à 10:46
Bonjour,
Merci pour cette suggestion, je viens d'essayer, malheureusement le code ci-dessous copie toujours la totalité du workbook (il ajoute même les Macros et clickbuttons dont je n'ai aucunement besoin...)
Et pourtant ce qui est fou c'est que je vois bien excel en train de selectionner la zone (qui devient grisée pendant la procédure).
Je ne sais plus quoi essayer..........
Merci pour cette suggestion, je viens d'essayer, malheureusement le code ci-dessous copie toujours la totalité du workbook (il ajoute même les Macros et clickbuttons dont je n'ai aucunement besoin...)
Et pourtant ce qui est fou c'est que je vois bien excel en train de selectionner la zone (qui devient grisée pendant la procédure).
Je ne sais plus quoi essayer..........
Sub EXPORT()
Application.DisplayAlerts = False
Dim week As Currency
Dim nom As String
week = ActiveSheet.Range("A1")
nom = ActiveSheet.Range("J1")
Range("A2:AM998").Select
Selection.Copy
ChDir "F:\Heestership\_Repertoire Societe\WEEKLY\WEEK" & week
With ActiveWorkbook
.SaveAs Filename:=nom, FileFormat:=xlNormal
.Close
End With
MsgBox "FICHIER WEEKLY SAUVEGARDE AVEC SUCCES"
Application.DisplayAlerts = True
End Sub
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
10 juil. 2014 à 10:53
10 juil. 2014 à 10:53
C'est normal tu n'indiques pas où tu veux le copier. Fait toute l'opération avec l'enregistreur
danibounn
Messages postés
7
Date d'inscription
mardi 8 juillet 2014
Statut
Membre
Dernière intervention
10 juillet 2014
Modifié par danibounn le 10/07/2014 à 11:25
Modifié par danibounn le 10/07/2014 à 11:25
En enregistrant toute la procédure jusqu'à enregistrer le nouveau fichier et le fermer, il ne m'enregistre que les deux lignes de codes que tu m'as donné, rien de plus...
Bref, du coup j'ai codé un petit sous-programme qui me copie la partie que je veux dans un nouvel onglet du workbook, puis j'enregistre avec succès la totalité de cet onglet...
C'est vraiment moche, je l'avoue, mais ça marche parfaitement, même si il rame un peu pour copier les 998 lignes et que ça serait surement plus rapide d'utiliser la fonction selection.copy... Mais ça a le mérite de répondre à mon besoin....
Si tu ou quelqu'un d'autre à la solution, je modifierais le code
Bref, du coup j'ai codé un petit sous-programme qui me copie la partie que je veux dans un nouvel onglet du workbook, puis j'enregistre avec succès la totalité de cet onglet...
C'est vraiment moche, je l'avoue, mais ça marche parfaitement, même si il rame un peu pour copier les 998 lignes et que ça serait surement plus rapide d'utiliser la fonction selection.copy... Mais ça a le mérite de répondre à mon besoin....
Si tu ou quelqu'un d'autre à la solution, je modifierais le code
Sub EXPORT()
Application.DisplayAlerts = False
Dim week As Currency
Dim nom As String
week = ActiveSheet.Range("A1")
nom = ActiveSheet.Range("J1")
Call COPYWKS
Sheets("WEEKLY_").Copy
ChDir "F:\Heestership\_Repertoire Societe\WEEKLY\WEEK" & week
With ActiveWorkbook
.SaveAs Filename:=nom, FileFormat:=xlNormal
.Close
End With
MsgBox "FICHIER WEEKLY SAUVEGARDE AVEC SUCCES"
Application.DisplayAlerts = True
End Sub
Sub COPYWKS()
Dim cpy(999, 40)
Dim i As Currency
Dim j As Currency
For i = 2 To 998
For j = 1 To 39
cpy(i, j) = Sheets("WEEKLY").Cells(i, j)
Next j
Next i
For i = 2 To 998
For j = 1 To 39
Sheets("WEEKLY_").Cells(i, j) = cpy(i, j)
Next j
Next i
End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
10 juil. 2014 à 12:48
10 juil. 2014 à 12:48
Bonjour,
Il y a plus simple que deux double boucles :
Il y a plus simple que deux double boucles :
Sub COPYWKS() Dim cpy(999, 40) cpy = Sheets("WEEKLY").Range("A2:AM998") Sheets("WEEKLY_").Range("A2").Resize(998, 39) = cpy End Sub