Macro pour copier la valeur de la plage
Résolu
Elyana_
Messages postés
30
Statut
Membre
-
Elyana_ Messages postés 30 Statut Membre -
Elyana_ Messages postés 30 Statut Membre -
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
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
A voir également:
- Macro pour copier la valeur de la plage
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment copier une vidéo youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Image originale de la plage pix - Forum Graphisme
- Visualiser une image présente dans le cache ✓ - Forum Google Chrome
3 réponses
Bonjour à tous,
sinon tu peux tenter en remplaçant :
eric
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