PasteSpecial Paste

tactic6

XLDnaute Impliqué
Bonne année le forum tous les membres et les autres
j'essaie depuis quelques temps déjà d'adapter un "ActiveSheet.Cells.PasteSpecial Paste:=xlPasteValues"
mais je n'y arrive pas
pourriez vous me dire comment modifier ce bout de code pour que les copies se fassent sans les macros ?
Code:
Nomfichier = Sheets("SAISIE").Range("G6") & " " & Sheets("SAISIE").Range("J6") & " " & Sheets("SAISIE").Range("g8")
Sheets("Recap_Facture").Copy

ActiveWorkbook.SaveAs DossierSauvegarde & Nomfichier & " " 
ActiveWorkbook.Close
Nume = [SAISIE!J6]  ' vérifie j'ai mis J6
Sheets("SAISIE").Copy
ActiveWorkbook.SaveAs DossierSauvegarde2 & Nomfichier & " " & xlsx 
ActiveWorkbook.SaveAs DossierSauvegarde3 & Nomfichier & " " & xlsx 

ActiveWorkbook.Close
Merci
 
Dernière édition:

tactic6

XLDnaute Impliqué
Re : PasteSpecial Paste

Merci Kjin mais je n'ai pas encore compris
je vais essayer d'approfondir et de voir si il n'y a pas un exemple qui se rapproche du mien
je voudrais juste éviter le message de Microsoft Excel me demandant à chaque ouverture si je veux modifier les liaisons ou pas
 

tactic6

XLDnaute Impliqué
Re : PasteSpecial Paste

Re
en ajoutant ton bout de code
Code:
 With ActiveWorkbook.VBProject
        For Each Vbc In .VBComponents 'tous les types de modules seront effacés
            Select Case Vbc.Type
            Case 1, 2, 3
                .VBComponents.Remove Vbc
            Case 100
                Vbc.CodeModule.DeleteLines 1, Vbc.CodeModule.CountOfLines
            End Select
        Next Vbc
    End With
juste apres ma ligne
Code:
Sheets("SAISIE").Copy
je dirais que ça me va
merci

Apres controle c'est pareil
pfffff
 
Dernière édition:

bruno33

XLDnaute Occasionnel
Re : PasteSpecial Paste

Bonjour et bonne année à tous

A plusieurs reprises j'ai crée des fichiers avec sauvegarde sans macros. Je fais beaucoup d'Excel pour le boulot et ce forum m'a été très utile.

Il faut faire copier coller valeurs dans un nouveau classeur. On peut le sauvegarder selon un nom dans un cellule.

A ton service
 

tactic6

XLDnaute Impliqué
Re : PasteSpecial Paste

RE
pour tous ceux qui en auront besoin
ça marche a condition de mettre le code apres chaque ligne de sauvegarde
Code:
ActiveWorkbook.SaveAs DossierSauvegarde2 & Nomfichier & " " & xlsx
[COLOR="Blue"]With ActiveWorkbook.VBProject
        For Each Vbc In .VBComponents 'tous les types de modules seront effacés
            Select Case Vbc.Type
            Case 1, 2, 3
                .VBComponents.Remove Vbc
            Case 100
                Vbc.CodeModule.DeleteLines 1, Vbc.CodeModule.CountOfLines
            End Select
        Next Vbc
    End With[/COLOR] 
ActiveWorkbook.SaveAs DossierSauvegarde3 & Nomfichier & " " & xlsx 
[COLOR="RoyalBlue"]With ActiveWorkbook.VBProject
        For Each Vbc In .VBComponents 'tous les types de modules seront effacés
            Select Case Vbc.Type
            Case 1, 2, 3
                .VBComponents.Remove Vbc
            Case 100
                Vbc.CodeModule.DeleteLines 1, Vbc.CodeModule.CountOfLines
            End Select
        Next Vbc
    End With[/COLOR]
 

kjin

XLDnaute Barbatruc
Re : PasteSpecial Paste

Re,
Le code que tu as fournis et l'explication sont incompréhensibles
Si c'est juste le pb du message parce que tu as des liaisons, dans le menu Excel Outils/Option/Modification (2007 je ne sait pas) décoche confirmer mise à jour auto des liaisons
Sinon, fait passer ton fichier allégé --> en xls
A+
kjin
 

tactic6

XLDnaute Impliqué
Re : PasteSpecial Paste

Merci Kjin
mais expliquer des fois c'est pas facile
c'est bien pour cela qu'un bout de fichier est toujours le bienvenu
mais vous êtes tellement au top que malgré tout on trouve toujours la solution
pour ce qui est de fournir un bout de fichier dans mon cas il va falloir que je dégrossisse un max (mon fichier allégé fait 5 Mo le complet 17Mo)
je vais essayer de voir pour en faire 50 Ko mais qu'on y comprenne quand même quelque chose
merci encore pour votre aide
 

kjin

XLDnaute Barbatruc
Re : PasteSpecial Paste

Re, bonjour Bruno,
Lorsque tu sauvegardes le fichier en cours sous un nouveau nom, tu en crées une copie donc tu copies également le code
Comme te l'as dis bruno, tu pourrais aussi créer un nouveau classeur dans lequel tu auras copier les feuilles souhaitées (en spécifiant que tu ne veux copier que les valeurs si tu le souhaites), et de fait le code ne sera pas intégré dans ce nouveau classeur
A+
kjin
 

Paritec

XLDnaute Barbatruc
Re : PasteSpecial Paste

Bonjour kjin, le forum,
moi je cherchais une macro capable de faire cela de puis longtemps, alors merci beaucoup.
j'en avais trouvé une sur Développer.com, mais je copiais bien mais malgré tout à l'ouverture du fichier copié malgré le fait que je n'avais aucun module dedans j'avais la demande d'activation des macros là avec ta macro non
merci
Papou
 

Paritec

XLDnaute Barbatruc
Re : PasteSpecial Paste

Bonsoir à tous,
Tactic 6 le code de Kjin c'est top tu peux essayer, moi j'ai modifié comme suit pour mon utilisation mais c'est parfait pour toi c'est sur
NewClas = Sheets("Feuil2").Range("B1").Value & " " & Format(Date, "yymmdd") 'Nom du Nouveau Classeur
bonne soirée
papou
 

Discussions similaires

Réponses
2
Affichages
743

Statistiques des forums

Discussions
312 489
Messages
2 088 848
Membres
103 972
dernier inscrit
steeter