Copier Coller en valeurs entre fichiers sans .select
Résolu
curiosity42
Messages postés
3
Statut
Membre
-
curiosity42 Messages postés 3 Statut Membre -
curiosity42 Messages postés 3 Statut Membre -
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) :
Donc je résume, j'ai besoin de faire exactement ça, mais de coller en valeurs.
Merci :)
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:
- Copier Coller en valeurs entre fichiers sans .select
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
- Copier coller pdf - Guide
- Style d'écriture a copier coller - Guide
- Symbole clavier copier coller - Guide
1 réponse
Bonsoir Curiosity, bonsoir le forum,
Essaie comme ça :
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
curiosity42
Messages postés
3
Statut
Membre
Super ça marche ! Merci !