Copier Coller en valeurs entre fichiers sans .select

Résolu/Fermé
curiosity42 Messages postés 2 Date d'inscription dimanche 7 décembre 2014 Statut Membre Dernière intervention 8 décembre 2014 - Modifié par pijaku le 8/12/2014 à 15:09
curiosity42 Messages postés 2 Date d'inscription dimanche 7 décembre 2014 Statut Membre Dernière intervention 8 décembre 2014 - 8 déc. 2014 à 14:34
Bonjour à tous,

Voilà je suis depuis plusieurs semaines sur l'automatisation d'un fichier excel.
J'ai bien galéré et finalement je m'en suis sorti pour pas mal de choses.
Mais là je bloque, j'arrive à copier coller des données de plusieurs fichiers sur un fichier récap (2 fichiers dans mon exemple). Mais ce que je veux c'est copier en valeur et non pas les formules. J'ai essayé de mettre du .Sheets("...").range("...").select / Selection.Copy / Puis pasteSpecial ....

Mais je n'y arrive pas avec cette syntaxe du coup j'utilise ça (il est pas magnifique mon code mais je suis débutant et ça marche comme ça :p) :


Dim monclasseur As Workbook


 
'désactivation mode "lecture seule"
SetAttr "C:\Users\Curiosity\Documents\SuiviHeures\Synthese\FichierSynthese.xlsm", vbNormal


'ouverture classeur
Set monclasseur = Workbooks.Open("C:\Users\Curiosity\Documents\SuiviHeures\Synthese\FichierSynthese.xlsm")

If ThisWorkbook.Sheets("FicheTemps").Range("B3") = "DUPONT" Then
ThisWorkbook.Sheets("Total").Rows("1:16").Copy monclasseur.Sheets("Recap").Range("A1")

Else

If ThisWorkbook.Sheets("FicheTemps").Range("B3") = "DURAND" Then
ThisWorkbook.Sheets("Total").Rows("1:16").Copy monclasseur.Sheets("AMEG").Range("A18")

End If
End If

'fermeture et sauvegarde du classeur
monclasseur.Close True
ThisWorkbook.Close True 'Pour qu'ils ne puissent pas le modifier. En plus on met un mdp sur le dossiers des fichiers arrivant

End Sub



Donc je résume, j'ai besoin de faire exactement ça, mais de coller en valeurs.

Merci :)
A voir également:

1 réponse

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
7 déc. 2014 à 23:19
Bonsoir Curiosity, bonsoir le forum,

Essaie comme ça :

Sub Macro1()
Dim monclasseur As Workbook

'désactivation mode "lecture seule"
SetAttr "C:\Users\Curiosity\Documents\SuiviHeures\Synthese\FichierSynthese.xlsm", vbNormal
'ouverture classeur
Set monclasseur = Workbooks.Open("C:\Users\Curiosity\Documents\SuiviHeures\Synthese\FichierSynthese.xlsm")
If ThisWorkbook.Sheets("FicheTemps").Range("B3") = "DUPONT" Then
    ThisWorkbook.Sheets("Total").Rows("1:16").Copy
    monclasseur.Sheets("Recap").Range("A1").PasteSpecial (xlPasteValues)
Else
    If ThisWorkbook.Sheets("FicheTemps").Range("B3") = "DURAND" Then
        ThisWorkbook.Sheets("Total").Rows("1:16").Copy
        monclasseur.Sheets("AMEG").Range("A18").PasteSpecial (xlPasteValues)
    End If
End If
Application.CutCopyMode = False
'fermeture et sauvegarde du classeur
monclasseur.Close True
ThisWorkbook.Close True 'Pour qu'ils ne puissent pas le modifier. En plus on met un mdp sur le dossiers des fichiers arrivant
End Sub

0
curiosity42 Messages postés 2 Date d'inscription dimanche 7 décembre 2014 Statut Membre Dernière intervention 8 décembre 2014
8 déc. 2014 à 14:34
Super ça marche ! Merci !
0