VBA - copier/coller feuilles Excel en valeurs
Bonjour a tous :)
Je ne suis pas très douée en vba mais je persiste !
J'ai besoin de faire un copier/coller valeurs de plusieurs feuilles d'un même classeur vers un nouveau classeur excel.
Ce bout de code fonctionnait dans certains fichiers mais la j'ai un message d'erreur sur le "cells.select" --> vba m'affiche "la méthode select de la classe range a échoué"
Voici le code :
Application.DisplayAlerts = False
Sheets(Array("Achats", "Ventes", "Suivi")).Select
Sheets("Suivi").Activate
Sheets(Array("Achats", "Ventes", "Suivi")).Copy
Sheets(Array("Achats", "Ventes", "Suivi")).Select
Sheets("Achats").Activate
Cells.Select
Range("AG28").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Comment puis-je remédier à ça ?
Merci d'avance :)
Bonsoir, je vais essayer d'apporter un élément de réponse, je pense que tu devrais effectuer les copies des différentes feuilles les unes après les autres.
Je ne sais pas s'il est possible de sélectionner des plages dans plusieurs feuilles en même temps (les noms des cellules étant les mêmes : A1 ; A2 ; A3 ; ...).
Selon moi il est possible que la sélection échoue à cause de ceci.
Bonne soirée :) Nathan
Bonjour,
Je pense que ce code devrait correspondre à votre besoin.
sub CopierCollerValeursOnglets ()
Dim Wb as Workbook
Dim Ws as Worksheet
dim NomNouveauWb$
ThisWorkbook.Sheets(Array("Achats" ,"Ventes" , "Suivi")).Copy 'copie des onglets dans nouveau classeur
Set Wb = ActiveWorkbook 'Variable nouveau classeur
For each Ws in Wb 'pour chaque onglet de Wb
With Ws
.Cells.copy 'Copier tout
.Cells(1,1).PasteSpecial Paste:=xlPasteValues 'Collage special valeurs
'.Cells(1,1).PasteSpecial Paste:=xlPasteFormats
End with
Next Ws
NomNouveauWb = thisworkbook.path &"\"&"Copie onglets HA VT SUIVI.xlsx" 'Chemin du nouveau classeur
Wb.SaveAs Filename:=NomNouveauWb 'Sauvegarde
Wb.close true 'Fermeture
ThisWorkbook.activate 'Réactivation classeur source
Msgbox "Copie de vos onglets achevée." & VbCrLf & VbCrLf & "Chemin : " & NomNouveauWb
end subIl est à personnaliser avec selon vos souhaits.
Cordialement,