Copier/coller puis Enregistrement sous excel

Copier/coller puis Enregistrement sous excel - VB/VBA/VBS - Programmation

Marsh Posté le 02-11-2018 à 14:11:17    

Bonjour,
je viens de finaliser une automatisation d'un process long...
mais j'ai une question pour bien clore mon dossier...
 
j'ouvre un fichier copi une partie du fichier pour le coller dans une autre
solution qui fonctionne (je suis sur que l'ensemble de ma macro peut être améliorer mais cela fonctionne bien comme ca pour le moment):
 
' Ouvrir fichier
    Dim ws As Worksheet
    Workbooks.Open ("mon fichier source" )
    Worksheets("feuille source" ).ShowAllData
   
'copier le tableau
    DerniereLigne = Range("B65536" ).End(xlUp).Row
    Range("B5:Q" & DerniereLigne).Select
    Selection.Copy
    Workbooks("mon fichier source" ).Close SaveChanges:=False
    Sheets(2).Paste
 
mais quand je referme "mon fichier source" cela me demande si je veux garder "mon copier" dans le presse papier du coup je dois cliquer sur "OK".
Est ce que l'on peut toujours dans la macro faire en sorte de dire "oui" a cette question ?
car le but étant de juste lancer la macro d'un bouton et d'imprimer ensuite...
 
MERCI

Reply

Marsh Posté le 02-11-2018 à 14:11:17   

Reply

Marsh Posté le 02-11-2018 à 15:10:01    

Bonjour,
 
Quelques pistes que tu peux tester :
 
Application.DisplayAlerts = False
ou
Application.CutCopyMode = False (pas certain de comportement comme tu fermes ton fichier avant de coller les données)
ou
Application.CutCopyMode = False et coller tes données avant de fermer le classeur.
ou
Faire une macro sans utiliser le copier/coller et affecter directement les valeurs aux cellules ciblées, mais contrairement à ce qu'on retrouve sur le net je ne pense pas que ce soit une bonne idée, je pense que ça fait perdre en perfs.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 03-11-2018 à 00:32:41    

bonjour,
 
Il suffit de faire une copie directe, sans passer par le presse-papier :
MaPlage.Copy MaDestination


---------------
Cordialement, Patrice
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed