Macro ouvrir classeur et copier-coller valeurs Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
M
Mel_mn
Jeune membre
Jeune membre
Messages : 20
Inscrit le : 8 avril 2014
Version d'Excel : 2003

Message par Mel_mn » 17 avril 2014, 09:03

Bonjour,

Je viens poster un nouveau sujet car je ne m'en sors pas du tout en MACRO VBA.
J'espère que vous pourrez m'aider car moi je désespère. :roll:
Mon problème est que j'ai un classeur vierge d'ouvert, et que je dois créer une macro pour pouvoir ouvrir un classeur qui s'appelle "PDM" et copier coller le tableau (qui contient des valeurs) à l'intérieur du classeur vierge, sachant qu'il y'a 5 onglets j'aimerais que les 5 onglets soient aussi dans le classeur vierge.

Je dois faire cela car les données du classeur PDM ne sont pas en valeurs et donc ça pose problème dès que je le modifie.

Cordialement,

Mélanie Morvan
Avatar du membre
Bluestar1991
Membre habitué
Membre habitué
Messages : 89
Inscrit le : 6 janvier 2014
Version d'Excel : 2003-2010

Message par Bluestar1991 » 17 avril 2014, 09:08

Salut
Tu peux envoyer tes fichiers en piece jointe
Cordialement
M
Mel_mn
Jeune membre
Jeune membre
Messages : 20
Inscrit le : 8 avril 2014
Version d'Excel : 2003

Message par Mel_mn » 17 avril 2014, 09:42

Je ne peux pas donner un vrai classeur, je vous donne donc un exemple.
Voici :
Classeur1.xls
(18 Kio) Téléchargé 196 fois
Avatar du membre
Bluestar1991
Membre habitué
Membre habitué
Messages : 89
Inscrit le : 6 janvier 2014
Version d'Excel : 2003-2010

Message par Bluestar1991 » 17 avril 2014, 10:07

Re

Alors voila la solution proposer (du code qui va te mettre sur la piste mais que tu va devoir modifier toi meme)
Sub ouvrir()



Workbooks.Open Filename:="C:\Users\Ben\Desktop\finale\cible - Copie2007ok.xlsm"

    Sheets("Feuil2").Select
    Application.CutCopyMode = False
    Sheets("Feuil2").Copy After:=Workbooks("cible - Copie2007ok.xlsm").Sheets(16)

End Sub
Workbooks.Open Filename:="C:\Users\Ben\Desktop\finale\cible - Copie2007ok.xlsm"
Alors workbooks.open permet d'ouvrir ton fichier PDM , pour cela il va falloir que tu trouve le chemin d'acces de ton fichier PDM

http://www.pcastuces.com/pratique/astuces/2817.htm

Ensuite le reste du code
   Sheets("Feuil2").Select
    Application.CutCopyMode = False
    Sheets("Feuil2").Copy After:=Workbooks("cible - Copie2007ok.xlsm").Sheets(16)
Fais avec l'enregistreur de macro , active le click droit sur ton onglet de feuille ->"déplacer ou copier" (il y'aura une liste déroulante avec tous tes classeurs) vers PDM (Attention il faut qu'il soit ouvert) puis envoie ta feuille en dernier , fais sa avec toutes feuilles , recupere le code que tu as créer
Voila fini
Cordialement
M
Mel_mn
Jeune membre
Jeune membre
Messages : 20
Inscrit le : 8 avril 2014
Version d'Excel : 2003

Message par Mel_mn » 17 avril 2014, 10:40

J'ai fais ton code seulement j'aimerais copier les données en valeur.
Et que veut dire cible ?

Voilà mon code qui ne marche pas du tout :
Sub Macro1Ouverture()


Workbooks.Open Filename:="T:\RDM\...\...\PDM ...\DONNEES\PDM"

    Sheets("860_PME01T").Select
    Application.CutCopyMode = False
    
           .Cells.Copy
           .Cells.PasteSpecial Paste:=xlPasteValues
           .Range("A1").Select Sheets("Feuil1").Copy After:=Workbooks("Feuille test.xlsm").Sheets(16)

End Sub


HELP PLEASE :(
Avatar du membre
Bluestar1991
Membre habitué
Membre habitué
Messages : 89
Inscrit le : 6 janvier 2014
Version d'Excel : 2003-2010

Message par Bluestar1991 » 17 avril 2014, 13:46

Cible est le nom d'un de mes fichiers ne t'en préoccupe pas c'était juste pour l'exemple ...
pour ton problème juste les valeurs
Tu as des formules mais tu veux juste récuperer les valeurs C'est cela que tu veux dire ?
M
Mel_mn
Jeune membre
Jeune membre
Messages : 20
Inscrit le : 8 avril 2014
Version d'Excel : 2003

Message par Mel_mn » 17 avril 2014, 13:53

Oui c'est ça exactement !
Avatar du membre
Bluestar1991
Membre habitué
Membre habitué
Messages : 89
Inscrit le : 6 janvier 2014
Version d'Excel : 2003-2010

Message par Bluestar1991 » 17 avril 2014, 14:07

Re
Sub Macro4()
    Sheets("Feuil1").Select
    'A mettre dans le fihcier avec le tableau
    ActiveSheet.UsedRange.Select
    'selectionne ton tableau
    Selection.Copy
    'copie
    Windows("cible - Copie2007ok.xls").Activate
    'Ouvre ton classeur
    Sheets("Feuil1").Select
    'selectionne feuil3
    Range("A1").Select
    'A la cellule A1
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    'colle les données copier (juste les valeurs)
End Sub
Code détaillé a fond , si tu t'en sort pas je pige pas la

Cordialement Bluestar
M
Mel_mn
Jeune membre
Jeune membre
Messages : 20
Inscrit le : 8 avril 2014
Version d'Excel : 2003

Message par Mel_mn » 17 avril 2014, 15:43

C'est parfait, je vous remercie beaucoup :D
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message