Bonjour à tous,
J'ai besoin de votre aide pour un soucis que je rencontre.
Je possède 3 documents Excel (disons Excel1, Excel2 et Excel3). Dans Excel1 j'ai créé une macro qui me permet d'aller copier les cellules d'une feuille de Excel2 puis d'aller les coller dans Excel3. Excel3 possède 2 feuilles : une feuille nommée "Synthèse" et la feuille dans laquelle on vient de copier/coller les données, qu'on appellera Sheet3.
Dans la feuille "Synthèse" de Excel3, se trouve des cellules au format "Comptabilité" et d'autres en "Pourcentage", "Standard"... Le problème est que quand je copie colle mes données sur la feuille Sheet3 à l'aide de la macro, le format des cellules Comptabilité de la feuille "Synthèse" est modifié, alors que je ne touche à aucun moment à cette feuille là. Les cellules qui étaient en format Comptabilité prennent alors un mode personnalisé, ce que je ne veux pas.
Voici ma macro :
Sub copier_coller()
'Récupération des données nécessaires
.... partie qui fonctionne bien
'Classeur recevant les informations -> Excel 3
Dim WB1 As Excel.Workbook
Set WB1 = Workbooks.Open(Adresse_fichier_a_modif)
'La feuille d'où provient les données -> Excel 2
Dim WB2 As Excel.Workbook
Set WB2 = Workbooks.Open(Adresse_fichier_Pilot)
'Feuille qui va recevoir les données -> Sheet3
Dim sh1 As Excel.Worksheet
Set sh1 = WB1.Sheets(Nom_feuille_a_modifier)
'Première feuille du fichier à copier -> Feuille d'Excel2 à copier
Dim sh2 As Excel.Worksheet
Set sh2 = WB2.Sheets(Nom_feuille_a_copier)
'On supprime les données précédentes -> on nettoie Sheet3 avant de coller
sh1.Cells.Clear
' On cherche le nb de colonnes et lignes max
Last_Row2 = sh2.Range("A" & Rows.Count).End(xlUp).Row
Last_Col2 = sh2.UsedRange.Columns.Count
Last_Col2 = Replace(Left(Cells(1, Last_Col2).Address, 3), "$", "", , , vbTextCompare)
' On copie colle les données
sh2.Range("A1:" & Last_Col2 & Last_Row2).Copy
sh1.Range("A1").PasteSpecial Paste:=xlPasteValues
sh1.Range("A1").PasteSpecial Paste:=xlPasteFormats
'On sauvegarde et ferme les fichiers
WB1.Save
WB1.Close
WB2.Close
End Sub
Dites moi si ce n'est pas suffisamment clair je vous enverrai un Excel d'exemple.
J'espère que vous pourrez m'aider à résoudre ce problème ! Merci d'avance !! :D