Macro pour copier la valeur de la plage

Résolu
Bonjour,

J'ai trouvé une macro pour copier la plage d'un document dans un autre document, seulement c'est la formule qui est copiée, ce qui fausse mes calculs.

La macro est la suivante :

Dim MonSystème, MonDossier, MonFichier
Dim MonClasseur As Workbook, MaFeuille As Worksheet, Plage As Range
Application.DisplayAlerts = False
Application.AskToUpdateLinks = False
Set MonSystème = CreateObject("Scripting.FileSystemObject")
Set MonDossier = MonSystème.Getfolder("D:\documents and settings\leroud\Bureau\Itinéraires 2013\V2\Teorem")
For Each MonFichier In MonDossier.Files
If Right(MonFichier.Name, 4) = ".xls" Then
Workbooks.Open MonFichier.Path
Set MonClasseur = ActiveWorkbook
For Each MaFeuille In MonClasseur.Worksheets
If MaFeuille.Name = "Feuil1" Then
With MaFeuille
Set Plage = Intersect(.Range("D36:O36"), .UsedRange)
Plage.Copy ThisWorkbook.Sheets("Analyse").Range("W20:AH20")
End With
End If
Next MaFeuille
MonClasseur.Close savechanges:=False
End If
Next MonFichier
Application.AskToUpdateLinks = True
Application.DisplayAlerts = True

J'imagine qu'il faut rajouter un .Value quelque part, mais où ?
D'avance merci.

Cordialement,

Elyana

3 réponses

  1. Contributeur
    Bonjour à tous,

    sinon tu peux tenter en remplaçant :
    Plage.Copy ThisWorkbook.Sheets("Analyse").Range("W20:AH20")
    par :
    Plage.Copy 
    ThisWorkbook.Sheets("Analyse").Range("W20:AH20").PasteSpecial Paste:=xlPasteValues
    

    eric

    1
    1. Bonjour,
      Pouvez-vous indiquer où est le problème ?
      Avec le fichier et quelques valeurs ce serait mieux... !

      0
      1. Merci d'avoir été le premier à vous intéresser à mon problème.
        0
    2. Merci Eric, c'est exactement ce qu'il me fallait !
      0