Macro pour cop coller valeur un onglet dans un nouveau classeur

Fermé
sbrughera Messages postés 3 Date d'inscription vendredi 20 décembre 2013 Statut Membre Dernière intervention 24 décembre 2013 - 23 déc. 2013 à 14:48
m@rina Messages postés 21211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 27 décembre 2024 - 24 déc. 2013 à 14:48
Bonjour,

Voici une petite énigme ...

J'ai un bon de commande qui reprend l'adresse de mon fournisseur et la date du jour grâce à des formules dans un premier classeur "BDC TYPE".
Afin d'envoyer leurs bons de commandes à mes fournisseurs, il faut que je copie colle valeur dans un nouveau dossier à chaque fois.

Est -il possible de créer une macro qui ouvre un nouveau dossier, et qui copie colle valeur le premier onglet de mon dossier?


Deuxième partie d'énigme...

Peut on renommer ce nouveau classeur selon la cellule O2?

Je vous remercie par avance de votre aide :)

Bonnes fêtes!
A voir également:

6 réponses

via55 Messages postés 14504 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 21 décembre 2024 2 738
23 déc. 2013 à 16:38
Bonjour

Essaie avec cette macro à faire executer en étant sur la feuille à copier

Sub nouveau_classeur()

ActiveSheet.Copy

ActiveWorkbook.SaveAs Range("O2").Value & ".xls"

End sub

Bonnes fêtes également

Cdlmnt
0
Merci ça marche pour le titre!
0
m@rina Messages postés 21211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 27 décembre 2024 11 372
23 déc. 2013 à 17:10
Bonjour,

via555 ne traite pas tout le problème !;)

La macro suivante copie colle la première feuille de ton classeur dans un nouveau classeur. Ensuite elle recopie sans les formules. Et enfin elle l'enregistre avec le nom spécifié en O2 :

Sub sbrughera ()
Dim feuille, nom, Export
Set feuille = ActiveWorkbook.Sheets(1)
nom = feuille.Range("O2") & ".xlsx"

Application.Workbooks.Add
Export = ActiveWorkbook.Name
feuille.Cells.Copy

With Workbooks(Export).Sheets(1).Cells
.PasteSpecial Paste:=xlPasteAll
.PasteSpecial Paste:=xlPasteValues
End With
Workbooks(Export).SaveAs nom & "xlsx"

Application.CutCopyMode = False

End Sub

m@rina

0
via55 Messages postés 14504 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 21 décembre 2024 2 738
23 déc. 2013 à 17:42
Exact Marina !
J'avais lu un peu vite et pas capté le copier VALEUR
Merci d'avoir complété
A corriger dans ta macro : Workbooks(Export).SaveAs nom & "xlsx" supprimer le & "xlsx" à la fin puisqu'il est déjà compris dans nom (nom = feuille.Range("O2") & ".xlsx")

Cdlmnt
0
m@rina Messages postés 21211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 27 décembre 2024 11 372
23 déc. 2013 à 17:43
Exact pour le xlsx ! Merci ! ;)
m@rina
0
sbrughera Messages postés 3 Date d'inscription vendredi 20 décembre 2013 Statut Membre Dernière intervention 24 décembre 2013
23 déc. 2013 à 18:01
merci,

Dois je la mettre dans la nouvelle feuille ou dans celle que je veux copier?

Ca s'arrête au niveau de : .PasteSpecial Paste:=xlPasteValues


En tout cas merci à vous!
0
m@rina Messages postés 21211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 27 décembre 2024 11 372
23 déc. 2013 à 23:22
Bonjour,

Tu la mets dans ton classeur source puisque la macro va créer un nouveau classeur.

m@rina
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sbrughera Messages postés 3 Date d'inscription vendredi 20 décembre 2013 Statut Membre Dernière intervention 24 décembre 2013
24 déc. 2013 à 10:26
Bonjour et merci!

J'exécute la macro:

Sub sbrughera()

Dim feuille, nom, Export
Set feuille = ActiveWorkbook.Sheets(1)
nom = feuille.Range("N11") & ".xlsx"

Application.Workbooks.Add
Export = ActiveWorkbook.Name
feuille.Cells.Copy

With Workbooks(Export).Sheets(1).Cells
.PasteSpecial Paste:=xlPasteAll
.PasteSpecial Paste:=xlPasteValues
End With
Workbooks(Export).SaveAs nom

Application.CutCopyMode = False

End Sub

Mais en paste values on m'indique qu'il n'est pas possible car il faut que les cellules soient identiques

Je ne comprends pas très bien pourquoi.

Encore merci!
0
m@rina Messages postés 21211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 27 décembre 2024 11 372
24 déc. 2013 à 14:48
Bonjour,

Je ne vois pas pourquoi : s'il accepte XlPasteAll, il n'y a pas de raison qu'il n'accepte pas xlPasteValues qui ne fait que copier à l'identique sans les formules.

Si je n'ai pas mis directement XlPasteAll, c'est pour que tu puisses conserver le formatage.

Quelle est ta version d'Excel ? Et quand le nouveau classeur est créé, ne serait-il pas en mode Compatibilité ?

m@rina
0