Compléter un code VBA

Re-Bonjour,

J'ai un code VBA auquel je souhaite rajouter une partie, mais je n'y parviens pas.

Il s'agit de copier dans l'onglet Synthèse les noms définis "Données" et "reliquats" dans un autre fichier nommé Fichier 2 à un emplacement défini.

J'ai essayé avec l'enregistreur de Macro, mais ça ne fonctionne pas.

Pourriez-vous m'aider?

Merci

13classeur1.xlsm (13.70 Ko)

Bonjour,

une proposition à affiner ...

Sub dd()
Set twb = ThisWorkbook
Set nwb = Workbooks.Open(Filename:=StrDossierTravail & "\Fichier2.xlsm")
twb.Range("données").Copy nwb.Sheets(1).Range("C6") ' copie données dans les mêmes cellules que dans le classeur source
twb.Range("reliquats").Copy nwb.Sheets(1).Range("E10") ' copie reliquats dans la même cellule que dans le classeur source

End Sub
h2so4 a écrit :

Bonjour,

une proposition à affiner ...

Sub dd()
Set twb = ThisWorkbook
Set nwb = Workbooks.Open(Filename:=StrDossierTravail & "\Fichier2.xlsm")
twb.Range("données").Copy nwb.Sheets(1).Range("C6") ' copie données dans les mêmes cellules que dans le classeur source
twb.Range("reliquats").Copy nwb.Sheets(1).Range("E10") ' copie reliquats dans la même cellule que dans le classeur source

End Sub

Bonjour h2so4,

Je vais tester. merci de ta réponse.bonne journée,

h2so4 a écrit :

Bonjour,

une proposition à affiner ...

Sub dd()
Set twb = ThisWorkbook
Set nwb = Workbooks.Open(Filename:=StrDossierTravail & "\Fichier2.xlsm")
twb.Range("données").Copy nwb.Sheets(1).Range("C6") ' copie données dans les mêmes cellules que dans le classeur source
twb.Range("reliquats").Copy nwb.Sheets(1).Range("E10") ' copie reliquats dans la même cellule que dans le classeur source

End Sub

Bonjour,

J'ai essayé et cela ne fonctionne pas. Est-il possible de faire l'instruction à part et de l'appeler ensuite?

Celle-ci ne fonctionne pas, car les données du classeur source ne sont pas à copier dans les mêmes cellules dans l'autre classeur. Cela m'affiche un message d'erreur avec une croix à rouge à l'intérieur?

Merci

bonjour,

merci de fournir un classeur exemple de la source et de la destination avec une indication précises des cellules que tu veux voir copiées tant au niveau de la source qu'au niveau de leur cellule de destination et la transformation éventuelle à faire sur ces données entre la source et la destination.

Bonjour,

Voici les deux classeurs:

le 1: dans lequel se trouve les données sources avec le code

le classeur 2: dans lequel on doit copier les données dans l'onglet n°5

Merci pour ton aide

4classeur2.xlsx (10.16 Ko)
4classeur1.xlsm (13.70 Ko)

bonjour,

voici une version adaptée. tu parles de l'onglet 5 mais dans ton document il semble que ce soit l'onglet 4.

je t'ai mis un indicateur des lignes à adapter à ton cas.

Sub dd()

Set twb = ThisWorkbook
StrDossierTravail = twb.Path & "\"  '<- à adapter
Set nwb = Workbooks.Open(Filename:=StrDossierTravail & "classeur2.xlsx") '<- à adapter
Set ongletdest = nwb.Sheets("feuil4") ' <- à adapter
Range("données").Copy ongletdest.Range("A6") ' copie données dans les mêmes cellules que dans le classeur source
Range("reliquats").Copy ongletdest.Range("C9") ' copie reliquats dans la même cellule que dans le classeur source

End Sub

Re

La fonction ne fonctionne pas. Faut-il faire un Call dans la fonction du dessus?

Par contre cela ne met aucun message d'erreur, mais elle ne copie rien.

Sub dd()

Set twb = ThisWorkbook

StrDossierTravail = twb.Path & "\" '<- à adapter C'est bien la feuille ou est le code que l'on met ici?

Set nwb = Workbooks.Open(Filename:=StrDossierTravail & "classeur2.xlsx") '<- à adapter Ici c'est la feuille où on veut copier les données?

Set ongletdest = nwb.Sheets("feuil4") ' <- à adapter

Range("données").Copy ongletdest.Range("A6") ' copie données dans les mêmes cellules que dans le classeur source

Range("reliquats").Copy ongletdest.Range("C9") ' copie reliquats dans la même cellule que dans le classeur source

End Sub

alex51300 a écrit :

Re

La fonction ne fonctionne pas. Faut-il faire un Call dans la fonction du dessus?

Par contre cela ne met aucun message d'erreur, mais elle ne copie rien.

Sub dd()

Set twb = ThisWorkbook

StrDossierTravail = twb.Path & "\" '<- à adapter C'est bien la feuille ou est le code que l'on met ici? non c'est le nom d'un répertoire dans leqel se trouve le classeur où l'on veut copier les données

Set nwb = Workbooks.Open(Filename:=StrDossierTravail & "classeur2.xlsx") '<- à adapter Ici c'est la feuille où on veut copier les données?

Set ongletdest = nwb.Sheets("feuil4") ' <- à adapter

Range("données").Copy ongletdest.Range("A6") ' copie données dans les mêmes cellules que dans le classeur source

Range("reliquats").Copy ongletdest.Range("C9") ' copie reliquats dans la même cellule que dans le classeur source

End Sub

h2so4 a écrit :
alex51300 a écrit :

Re

La fonction ne fonctionne pas. Faut-il faire un Call dans la fonction du dessus?

Par contre cela ne met aucun message d'erreur, mais elle ne copie rien.

Sub dd()

Set twb = ThisWorkbook

StrDossierTravail = twb.Path & "\" '<- à adapter Y a -til qch à mettre entre les guillemets? ou je laisse à vide? non c'est le nom d'un répertoire dans leqel se trouve le classeur où l'on veut copier les données

Set nwb = Workbooks.Open(Filename:=StrDossierTravail & "classeur2.xlsx") '<- à adapter Ici c'est la feuille où on veut copier les données?

Set ongletdest = nwb.Sheets("feuil4") ' <- à adapter

Range("données").Copy ongletdest.Range("A6") ' copie données dans les mêmes cellules que dans le classeur source

Range("reliquats").Copy ongletdest.Range("C9") ' copie reliquats dans la même cellule que dans le classeur source

End Sub

re-Bonjour, je vais prendre un exemple.

l'onglet dans lequel tu veux copier les données s'appelle "feuil4" dans le classeur "classeur2.xlsx" qui se trouve dans le répertoire "F:\ici\labas\"

le code dont les parties doivent être adaptées devient

strdossiertravail="F:\ici\labas\" ' le nom du répertoire dans lequel se trouve le classeur où l'on veut copier

Set nwb = Workbooks.Open(Filename:=StrDossierTravail & "classeur2.xlsx") ' Ici c'est la nom du classeur où on veut copier les données.

Set ongletdest = nwb.Sheets("feuil4") ' le nom de l'onglet (la feuille) dans lequel on veut copier les données

Rechercher des sujets similaires à "completer code vba"