Copier coller des feuilles d'un classeur à un autre classeur Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 1'941
Appréciations reçues : 29
Inscrit le : 13 mai 2014
Version d'Excel : 2007-201364bits-2011MAC

Message par fred2406 » 7 juillet 2015, 09:42

Rajoute a la fin
activeworkbook.save
fred
Je ne réponds pas aux M.P. non sollicités.
Fred
s
soukaina
Membre habitué
Membre habitué
Messages : 100
Inscrit le : 23 mai 2014
Version d'Excel : excel2010

Message par soukaina » 7 juillet 2015, 12:46

Merci Fred.
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 1'941
Appréciations reçues : 29
Inscrit le : 13 mai 2014
Version d'Excel : 2007-201364bits-2011MAC

Message par fred2406 » 7 juillet 2015, 17:15

Si la solution convient
:btres:
Merci
Fred
Je ne réponds pas aux M.P. non sollicités.
Fred
s
soukaina
Membre habitué
Membre habitué
Messages : 100
Inscrit le : 23 mai 2014
Version d'Excel : excel2010

Message par soukaina » 13 juillet 2015, 12:30

Bonjour Fred,


j'ai besoin de créer un fichier depuis mon tableau croisé dynamique c'est à dire : sur mon fichier PF CDE j'ai deux onglets Préparation du jour & Prévision transport.

Je veux copier l'onglet "Préparation du jour" en créant un fichier et le nommer "Miramas"+ date du jour.
Je veux copier l'onglet "Prévision transport" en créant un fichier et le nommer "Miramas" + date du jour.


J'ai essayé ce code ci dessous mais ça n'a pas marché.
Sub Macro1()
Dim fichier As String, chemin As String
chemin = ThisWorkbook.Path
With ThisWorkbook
    Sheets(Array("Préparation du jour", "Prévision transport")).Copy
    fichier = ThisWorkbook.Name & "Miramas" & Format(Date, "yy-mm-dd")
End With
With ActiveWorkbook
    .SaveAs chemin & "C:\Users\Soussou\Desktop\test" & fichier
    .Close
End With
End Sub
Bien cordialement
Soukaina
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 1'941
Appréciations reçues : 29
Inscrit le : 13 mai 2014
Version d'Excel : 2007-201364bits-2011MAC

Message par fred2406 » 13 juillet 2015, 12:44

bonjour
deux choses
1e) tu ne peux pas faire le chemin du fichier actuel + un chemin en plus :
 chemin & "C:\Users\Soussou\Desktop\test"
c'est soit l'un soit l'autre....
2e) si c'est la deuxième partie qui doit servir de lieu d’enregistrement il manque peut être un "\" dans le chemin d'enregistrement écrit en dire à la fin après test
 .SaveAs "C:\Users\Soussou\Desktop\test\" & fichier
fred
Je ne réponds pas aux M.P. non sollicités.
Fred
s
soukaina
Membre habitué
Membre habitué
Messages : 100
Inscrit le : 23 mai 2014
Version d'Excel : excel2010

Message par soukaina » 13 juillet 2015, 12:49

"chemin & "C:\Users\Soussou\Desktop\test" " c'est le chemin du lieu d'enregistrement du fichier créer depuis l'onglet.


Cdlt

Quand je lance ma macro cette phrase se met en jaune " Sheets(Array("Préparation du jour", "Prévision transport")).Copy" erreur 9.
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 1'941
Appréciations reçues : 29
Inscrit le : 13 mai 2014
Version d'Excel : 2007-201364bits-2011MAC

Message par fred2406 » 13 juillet 2015, 13:47

re
Difficile de dire encore une fois sans avoir de fichier (problème d'orthographe dans les noms ? ....)

mais encore bcp trop de choses qui ne vont pas pour moi dans tes quelques lignes de codes

supposons ton fichier contenant la macro s'appelle
toto.xlsm
et se trouve sur le bureau "C:\Users\Soussou\Desktop"

tu essayes de concatener
chemin & "C:\Users\Soussou\Desktop\test"
hors
chemin = ThisWorkbook.Path
donc tu essaye d'ecrire dans un chemin :
C:\Users\Soussou\DesktopC:\Users\Soussou\Desktop\test & nomdufichier
donc c'est impossible....


le nouveau nom que tu essaye de faire pour le nouvel enregistrement :
fichier = ThisWorkbook.Name & "Miramas" & Format(Date, "yy-mm-dd")
donc le nom de ton fichier sera si je reprends mon exemple en cours
toto.xlsmmiramas15-07-13 ce qui est impossible aussi



je te propose le code suivant en espérant que cela soit ce que tu désires
Sub Macro1()
Dim fichier As String
    fichier = "Miramas" & Format(Date, "yy-mm-dd")
    Sheets(Array("Préparation du jour", "Prévision transport")).Copy
With ActiveWorkbook
    .SaveAs "C:\Users\Soussou\Desktop\test\" & fichier
    .Close
End With
End Sub
fred
Je ne réponds pas aux M.P. non sollicités.
Fred
s
soukaina
Membre habitué
Membre habitué
Messages : 100
Inscrit le : 23 mai 2014
Version d'Excel : excel2010

Message par soukaina » 14 juillet 2015, 12:25

Bonjour Fred,

j'ai essayé le code ça marche très bien. je vous remercie vous m'avez aidé de gagner un énormément du temps perdu.

La maintenant il me faut un code à l'ouverture du fichier il lance automatiquement le calcul des feuilles et actualise le tableau croisé dynamique.

Bien cordialement
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 1'941
Appréciations reçues : 29
Inscrit le : 13 mai 2014
Version d'Excel : 2007-201364bits-2011MAC

Message par fred2406 » 14 juillet 2015, 18:12

bonjour
il faudrait un fichier exemple pour cela... avec des données bidons
fred
Je ne réponds pas aux M.P. non sollicités.
Fred
s
soukaina
Membre habitué
Membre habitué
Messages : 100
Inscrit le : 23 mai 2014
Version d'Excel : excel2010

Message par soukaina » 16 juillet 2015, 18:31

Bonjour Fred,

J'ai pas pu envoyé le fichier parce que je travaille encore sur certaines formules.


J'ai cette formule qu'elle marche très bien sauf que j'ai des N/A, est ce qu'il y a un moyen de simplifier cette formule et éviter les N/A.

=SI(OU(CJ4>=(SI(ESTNA(RECHERCHEV(L4;'Planning general'!E:Q;11;FAUX)=FAUX);1;RECHERCHEV(L4;'Planning general'!E:Q;11;FAUX)));(SI(ESTNA(RECHERCHEV(L4;'Planning general'!E:Q;11;FAUX)=FAUX);1;RECHERCHEV(L4;'Planning general'!E:Q;11;FAUX)))=1);"Oui";"Non")

Pour expliquer ma formule je fais une recherche V en fonction du thème et le numéro de la semaine sur une feuille.

CJ4 numéro de la semaine
L4 le thème

Cdlt
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message