Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

code vba pour excel

8 réponses
Avatar
Louis
Bojour

dans l'excel qui s'apelle 'exceldata base' la colonne b1 à b75 doit être
transposée dans le document 'Databasere_validation.xls'
bien entendu je devrai pouvoir introduire les données à la suite des données
précédantes

J'ai fait un bout de macro qui me permet d'ouvrire l'excel
Databasere_validierung.xls
(Workbooks.Open Filename:="C:\Databasere_validation.xls")
mais je suis complètement bloqué, comemnt faire pour introduire les données
du document 'exceldata base' et en plus le document
'Databasere_validierung.xls devrai se fermer automatiquement aprés avoir
transféré les données

Je suis novice dans le domaine des macros.

Merci pour votre précieuse aide

8 réponses

Avatar
michdenis
Bonjour,

Essaie ceci :

'----------------------------------------------
Sub test()
Dim Wk As Workbook

'ouvre le fichier
Set Wk = Workbooks.Open(Filename:="C:Databasere_validation.xls")

'Ce fichier est présumé déjà ouvert : "'exceldata base.xls'"
'La plage que tu veux copier est B1:B75
'remplace "NomDeLaFeuille" par le vrai nom que porte la feuille

'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
'Remplace NomDeLaFeuille par le vrai nom de la feuille
'Remplace A1 par l'addresse de la première cellule où les
'données seront copiées

Workbooks("'exceldata base.xls'"). _
Worksheets("NomDeLaFeuille").Range("b1:b75").Copy _
Wk.Worksheets("NomDeLaFeuille").Range("A1")

'Le fichier que tu viens d'ouvrir se ferme
'et sauvegarde les nouvelles données
Wk.Close True
End Sub
'----------------------------------------------



"Louis" a écrit dans le message de groupe de discussion
:
Bojour

dans l'excel qui s'apelle 'exceldata base' la colonne b1 à b75 doit être
transposée dans le document 'Databasere_validation.xls'
bien entendu je devrai pouvoir introduire les données à la suite des données
précédantes

J'ai fait un bout de macro qui me permet d'ouvrire l'excel
Databasere_validierung.xls
(Workbooks.Open Filename:="C:Databasere_validation.xls")
mais je suis complètement bloqué, comemnt faire pour introduire les données
du document 'exceldata base' et en plus le document
'Databasere_validierung.xls devrai se fermer automatiquement aprés avoir
transféré les données

Je suis novice dans le domaine des macros.

Merci pour votre précieuse aide
Avatar
Louis
Bonjour michdenis

J' ai installé la macro mais elle bug sur la ligne
Wk.Worksheets("database").Range ("A1")

Les données à copier sont sur la feuille excel base
les données à coller sur la feuille Databasere_validierung.xls l'onglet
s'apelle feuil1.

merci pour ta precieuse aide



Dim Wk As Workbook

Set Wk = Workbooks.Open(Filename:="C:Databasere_validierung.xls")
Wk.Worksheets("Feuil1").Range ("A1")
Workbooks("'exceldata base.xls'"). _
Worksheets("Feuil1").Range("b1:b75").Copy _
Wk.Worksheets("database").Range("A4")

Wk.Close True
End Sub



"michdenis" a écrit :

Bonjour,

Essaie ceci :

'----------------------------------------------
Sub test()
Dim Wk As Workbook

'ouvre le fichier
Set Wk = Workbooks.Open(Filename:="C:Databasere_validation.xls")

'Ce fichier est présumé déjà ouvert : "'exceldata base.xls'"
'La plage que tu veux copier est B1:B75
'remplace "NomDeLaFeuille" par le vrai nom que porte la feuille

'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
'Remplace NomDeLaFeuille par le vrai nom de la feuille
'Remplace A1 par l'addresse de la première cellule où les
'données seront copiées

Workbooks("'exceldata base.xls'"). _
Worksheets("NomDeLaFeuille").Range("b1:b75").Copy _
Wk.Worksheets("NomDeLaFeuille").Range("A1")

'Le fichier que tu viens d'ouvrir se ferme
'et sauvegarde les nouvelles données
Wk.Close True
End Sub
'----------------------------------------------



"Louis" a écrit dans le message de groupe de discussion
:
Bojour

dans l'excel qui s'apelle 'exceldata base' la colonne b1 à b75 doit être
transposée dans le document 'Databasere_validation.xls'
bien entendu je devrai pouvoir introduire les données à la suite des données
précédantes

J'ai fait un bout de macro qui me permet d'ouvrire l'excel
Databasere_validierung.xls
(Workbooks.Open Filename:="C:Databasere_validation.xls")
mais je suis complètement bloqué, comemnt faire pour introduire les données
du document 'exceldata base' et en plus le document
'Databasere_validierung.xls devrai se fermer automatiquement aprés avoir
transféré les données

Je suis novice dans le domaine des macros.

Merci pour votre précieuse aide

Avatar
michdenis
| Wk.Worksheets("Feuil1").Range ("A1")

Dans le code que je t'ai transmis, il y a une apostrophe
devant cette ligne comme ceci :
'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")

elle est là à titre informatif, elle ne fait pas partie des
lignes de code à exécuter. Si tu désires, tu peux l'effacer totalement.





"Louis" a écrit dans le message de groupe de discussion
:
Bonjour michdenis

J' ai installé la macro mais elle bug sur la ligne
Wk.Worksheets("database").Range ("A1")

Les données à copier sont sur la feuille excel base
les données à coller sur la feuille Databasere_validierung.xls l'onglet
s'apelle feuil1.

merci pour ta precieuse aide



Dim Wk As Workbook

Set Wk = Workbooks.Open(Filename:="C:Databasere_validierung.xls")
Wk.Worksheets("Feuil1").Range ("A1")
Workbooks("'exceldata base.xls'"). _
Worksheets("Feuil1").Range("b1:b75").Copy _
Wk.Worksheets("database").Range("A4")

Wk.Close True
End Sub



"michdenis" a écrit :

Bonjour,

Essaie ceci :

'----------------------------------------------
Sub test()
Dim Wk As Workbook

'ouvre le fichier
Set Wk = Workbooks.Open(Filename:="C:Databasere_validation.xls")

'Ce fichier est présumé déjà ouvert : "'exceldata base.xls'"
'La plage que tu veux copier est B1:B75
'remplace "NomDeLaFeuille" par le vrai nom que porte la feuille

'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
'Remplace NomDeLaFeuille par le vrai nom de la feuille
'Remplace A1 par l'addresse de la première cellule où les
'données seront copiées

Workbooks("'exceldata base.xls'"). _
Worksheets("NomDeLaFeuille").Range("b1:b75").Copy _
Wk.Worksheets("NomDeLaFeuille").Range("A1")

'Le fichier que tu viens d'ouvrir se ferme
'et sauvegarde les nouvelles données
Wk.Close True
End Sub
'----------------------------------------------



"Louis" a écrit dans le message de groupe de
discussion
:
Bojour

dans l'excel qui s'apelle 'exceldata base' la colonne b1 à b75 doit être
transposée dans le document 'Databasere_validation.xls'
bien entendu je devrai pouvoir introduire les données à la suite des données
précédantes

J'ai fait un bout de macro qui me permet d'ouvrire l'excel
Databasere_validierung.xls
(Workbooks.Open Filename:="C:Databasere_validation.xls")
mais je suis complètement bloqué, comemnt faire pour introduire les données
du document 'exceldata base' et en plus le document
'Databasere_validierung.xls devrai se fermer automatiquement aprés avoir
transféré les données

Je suis novice dans le domaine des macros.

Merci pour votre précieuse aide

Avatar
Louis
Merci la macro fonctionne.

J'ai encore une demande, comment faire pour transposé la colonne en ligne.
et la macro ecrit toujours sur la meme ligne, comment faire pour écrire les
données sur la ligne suivante.

Merci pour ta patience


"michdenis" a écrit :

| Wk.Worksheets("Feuil1").Range ("A1")

Dans le code que je t'ai transmis, il y a une apostrophe
devant cette ligne comme ceci :
'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")

elle est là à titre informatif, elle ne fait pas partie des
lignes de code à exécuter. Si tu désires, tu peux l'effacer totalement.





"Louis" a écrit dans le message de groupe de discussion
:
Bonjour michdenis

J' ai installé la macro mais elle bug sur la ligne
Wk.Worksheets("database").Range ("A1")

Les données à copier sont sur la feuille excel base
les données à coller sur la feuille Databasere_validierung.xls l'onglet
s'apelle feuil1.

merci pour ta precieuse aide



Dim Wk As Workbook

Set Wk = Workbooks.Open(Filename:="C:Databasere_validierung.xls")
Wk.Worksheets("Feuil1").Range ("A1")
Workbooks("'exceldata base.xls'"). _
Worksheets("Feuil1").Range("b1:b75").Copy _
Wk.Worksheets("database").Range("A4")

Wk.Close True
End Sub



"michdenis" a écrit :

> Bonjour,
>
> Essaie ceci :
>
> '----------------------------------------------
> Sub test()
> Dim Wk As Workbook
>
> 'ouvre le fichier
> Set Wk = Workbooks.Open(Filename:="C:Databasere_validation.xls")
>
> 'Ce fichier est présumé déjà ouvert : "'exceldata base.xls'"
> 'La plage que tu veux copier est B1:B75
> 'remplace "NomDeLaFeuille" par le vrai nom que porte la feuille
>
> 'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
> 'Remplace NomDeLaFeuille par le vrai nom de la feuille
> 'Remplace A1 par l'addresse de la première cellule où les
> 'données seront copiées
>
> Workbooks("'exceldata base.xls'"). _
> Worksheets("NomDeLaFeuille").Range("b1:b75").Copy _
> Wk.Worksheets("NomDeLaFeuille").Range("A1")
>
> 'Le fichier que tu viens d'ouvrir se ferme
> 'et sauvegarde les nouvelles données
> Wk.Close True
> End Sub
> '----------------------------------------------
>
>
>
> "Louis" a écrit dans le message de groupe de
> discussion
> :
> Bojour
>
> dans l'excel qui s'apelle 'exceldata base' la colonne b1 à b75 doit être
> transposée dans le document 'Databasere_validation.xls'
> bien entendu je devrai pouvoir introduire les données à la suite des données
> précédantes
>
> J'ai fait un bout de macro qui me permet d'ouvrire l'excel
> Databasere_validierung.xls
> (Workbooks.Open Filename:="C:Databasere_validation.xls")
> mais je suis complètement bloqué, comemnt faire pour introduire les données
> du document 'exceldata base' et en plus le document
> 'Databasere_validierung.xls devrai se fermer automatiquement aprés avoir
> transféré les données
>
> Je suis novice dans le domaine des macros.
>
> Merci pour votre précieuse aide
>
Avatar
michdenis
Pour transposer, tu peux copier dans le presse-papier
la colonne, sélectionner la cellule de départ où tu
copieras tes données et utiliser Collage spécial
sans oublier de cocher la case Transpose

Exemple en vba de transposer :
'------------------------
Sub test()
With Worksheets("Feuil1")
.Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy
.Range("B1").PasteSpecial Paste:=xlPasteAll, Transpose:=True
End With
End Sub
'------------------------

Écrire à la ligne suivante :
Exemple tu as des données de A1 à A10 en feuil1
tu veux copier les données de la feuil2 plage A25:A50
à partir de la cellule A11 de la feuil1

'----------------------------------------
Sub test()
Dim Adr As String

With Worksheets("Feuil1")
Adr = .Range("A" & .Range("A65536").End(xlUp)(2).Row).Address
End With

Worksheets("Feuil2").Range("A25:A50").Copy _
Worksheets("Feuil1").Range(Adr)
End Sub
'----------------------------------------

"Louis" a écrit dans le message de groupe de discussion
:
Merci la macro fonctionne.

J'ai encore une demande, comment faire pour transposé la colonne en ligne.
et la macro ecrit toujours sur la meme ligne, comment faire pour écrire les
données sur la ligne suivante.

Merci pour ta patience


"michdenis" a écrit :

| Wk.Worksheets("Feuil1").Range ("A1")

Dans le code que je t'ai transmis, il y a une apostrophe
devant cette ligne comme ceci :
'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")

elle est là à titre informatif, elle ne fait pas partie des
lignes de code à exécuter. Si tu désires, tu peux l'effacer totalement.





"Louis" a écrit dans le message de groupe de
discussion
:
Bonjour michdenis

J' ai installé la macro mais elle bug sur la ligne
Wk.Worksheets("database").Range ("A1")

Les données à copier sont sur la feuille excel base
les données à coller sur la feuille Databasere_validierung.xls l'onglet
s'apelle feuil1.

merci pour ta precieuse aide



Dim Wk As Workbook

Set Wk = Workbooks.Open(Filename:="C:Databasere_validierung.xls")
Wk.Worksheets("Feuil1").Range ("A1")
Workbooks("'exceldata base.xls'"). _
Worksheets("Feuil1").Range("b1:b75").Copy _
Wk.Worksheets("database").Range("A4")

Wk.Close True
End Sub



"michdenis" a écrit :

> Bonjour,
>
> Essaie ceci :
>
> '----------------------------------------------
> Sub test()
> Dim Wk As Workbook
>
> 'ouvre le fichier
> Set Wk = Workbooks.Open(Filename:="C:Databasere_validation.xls")
>
> 'Ce fichier est présumé déjà ouvert : "'exceldata base.xls'"
> 'La plage que tu veux copier est B1:B75
> 'remplace "NomDeLaFeuille" par le vrai nom que porte la feuille
>
> 'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
> 'Remplace NomDeLaFeuille par le vrai nom de la feuille
> 'Remplace A1 par l'addresse de la première cellule où les
> 'données seront copiées
>
> Workbooks("'exceldata base.xls'"). _
> Worksheets("NomDeLaFeuille").Range("b1:b75").Copy _
> Wk.Worksheets("NomDeLaFeuille").Range("A1")
>
> 'Le fichier que tu viens d'ouvrir se ferme
> 'et sauvegarde les nouvelles données
> Wk.Close True
> End Sub
> '----------------------------------------------
>
>
>
> "Louis" a écrit dans le message de groupe de
> discussion
> :
> Bojour
>
> dans l'excel qui s'apelle 'exceldata base' la colonne b1 à b75 doit être
> transposée dans le document 'Databasere_validation.xls'
> bien entendu je devrai pouvoir introduire les données à la suite des données
> précédantes
>
> J'ai fait un bout de macro qui me permet d'ouvrire l'excel
> Databasere_validierung.xls
> (Workbooks.Open Filename:="C:Databasere_validation.xls")
> mais je suis complètement bloqué, comemnt faire pour introduire les données
> du document 'exceldata base' et en plus le document
> 'Databasere_validierung.xls devrai se fermer automatiquement aprés avoir
> transféré les données
>
> Je suis novice dans le domaine des macros.
>
> Merci pour votre précieuse aide
>
Avatar
Louis
Mille mercis

pour les macros mais si j'ose te demander encore un service.....

j'ai essayé d'inserer une partie des deux dernier code dans to première
macro mais décidément je suis trés nulle et je n'arrive pas.

merci encore





"michdenis" a écrit :

Pour transposer, tu peux copier dans le presse-papier
la colonne, sélectionner la cellule de départ où tu
copieras tes données et utiliser Collage spécial
sans oublier de cocher la case Transpose

Exemple en vba de transposer :
'------------------------
Sub test()
With Worksheets("Feuil1")
.Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy
.Range("B1").PasteSpecial Paste:=xlPasteAll, Transpose:=True
End With
End Sub
'------------------------

Écrire à la ligne suivante :
Exemple tu as des données de A1 à A10 en feuil1
tu veux copier les données de la feuil2 plage A25:A50
à partir de la cellule A11 de la feuil1

'----------------------------------------
Sub test()
Dim Adr As String

With Worksheets("Feuil1")
Adr = .Range("A" & .Range("A65536").End(xlUp)(2).Row).Address
End With

Worksheets("Feuil2").Range("A25:A50").Copy _
Worksheets("Feuil1").Range(Adr)
End Sub
'----------------------------------------

"Louis" a écrit dans le message de groupe de discussion
:
Merci la macro fonctionne.

J'ai encore une demande, comment faire pour transposé la colonne en ligne.
et la macro ecrit toujours sur la meme ligne, comment faire pour écrire les
données sur la ligne suivante.

Merci pour ta patience


"michdenis" a écrit :

> | Wk.Worksheets("Feuil1").Range ("A1")
>
> Dans le code que je t'ai transmis, il y a une apostrophe
> devant cette ligne comme ceci :
> 'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
>
> elle est là à titre informatif, elle ne fait pas partie des
> lignes de code à exécuter. Si tu désires, tu peux l'effacer totalement.
>
>
>
>
>
> "Louis" a écrit dans le message de groupe de
> discussion
> :
> Bonjour michdenis
>
> J' ai installé la macro mais elle bug sur la ligne
> Wk.Worksheets("database").Range ("A1")
>
> Les données à copier sont sur la feuille excel base
> les données à coller sur la feuille Databasere_validierung.xls l'onglet
> s'apelle feuil1.
>
> merci pour ta precieuse aide
>
>
>
> Dim Wk As Workbook
>
> Set Wk = Workbooks.Open(Filename:="C:Databasere_validierung.xls")
> Wk.Worksheets("Feuil1").Range ("A1")
> Workbooks("'exceldata base.xls'"). _
> Worksheets("Feuil1").Range("b1:b75").Copy _
> Wk.Worksheets("database").Range("A4")
>
> Wk.Close True
> End Sub
>
>
>
> "michdenis" a écrit :
>
> > Bonjour,
> >
> > Essaie ceci :
> >
> > '----------------------------------------------
> > Sub test()
> > Dim Wk As Workbook
> >
> > 'ouvre le fichier
> > Set Wk = Workbooks.Open(Filename:="C:Databasere_validation.xls")
> >
> > 'Ce fichier est présumé déjà ouvert : "'exceldata base.xls'"
> > 'La plage que tu veux copier est B1:B75
> > 'remplace "NomDeLaFeuille" par le vrai nom que porte la feuille
> >
> > 'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
> > 'Remplace NomDeLaFeuille par le vrai nom de la feuille
> > 'Remplace A1 par l'addresse de la première cellule où les
> > 'données seront copiées
> >
> > Workbooks("'exceldata base.xls'"). _
> > Worksheets("NomDeLaFeuille").Range("b1:b75").Copy _
> > Wk.Worksheets("NomDeLaFeuille").Range("A1")
> >
> > 'Le fichier que tu viens d'ouvrir se ferme
> > 'et sauvegarde les nouvelles données
> > Wk.Close True
> > End Sub
> > '----------------------------------------------
> >
> >
> >
> > "Louis" a écrit dans le message de groupe de
> > discussion
> > :
> > Bojour
> >
> > dans l'excel qui s'apelle 'exceldata base' la colonne b1 à b75 doit être
> > transposée dans le document 'Databasere_validation.xls'
> > bien entendu je devrai pouvoir introduire les données à la suite des données
> > précédantes
> >
> > J'ai fait un bout de macro qui me permet d'ouvrire l'excel
> > Databasere_validierung.xls
> > (Workbooks.Open Filename:="C:Databasere_validation.xls")
> > mais je suis complètement bloqué, comemnt faire pour introduire les données
> > du document 'exceldata base' et en plus le document
> > 'Databasere_validierung.xls devrai se fermer automatiquement aprés avoir
> > transféré les données
> >
> > Je suis novice dans le domaine des macros.
> >
> > Merci pour votre précieuse aide
> >
Avatar
michdenis
Voici une macro générale sur la manière de copier
une plage de cellules d'un classeur vers un autre.

Si tu en es à tes débuts en programmation VBA, ce n'est
pas évident de comprendre ce qui suit. En plus de suivre
ce forum, la consultation d'un bon livre sur le sujet pourrait
t'aider à comprendre la base.

Le principe est simple:
Source vers Destination

Workbooks("NomDuClasseurSource"). _
Worksheets("SonNom").Range("A1:A25").Copy _
Workbooks("NomClasseurDestination"). _
Worksheets("SonNom").Range("G25")


'-------------------------------------
Sub test()

'Déclaration des variables Objet
Dim Wk As Workbook
Dim Source As Range
Dim Destination As Range

Dim Fichier As String

'Chemin et nom du fichier que tu dois ouvrir
Fichier = "C:UsersDMDocumentsClasseur1.xls"

'Ouverture du fichier
Set Wk = Workbooks.Open(Fichier)

'Déterminer où copier les données dans le fichier
'venant d'être ouvert. Première ligne disponble
'en colonne A -> c'est un exemple.

'Adapte le nom de la feuille où sont tes données dans
'le classeur que tu viens d'ouvrir
With Wk.Worksheets("Feuil1")
'Détermine où seront copiées les données
Set Destination = .Range("A" & .Range("A65536").End(xlUp)(2).Row)
End With

'Déterminer où sont les données à copier
'En supposant que ces données soient dans le classeur
'où j'ai copié cette macro

With ThisWorkbook
'Adapte le nom de la feuille où sont tes données à copier
With .Worksheets("Sheet2")
Set Source = .Range("b1:b75")
End With
End With

'Copie de la plage Source vers la plage destination
Source.Copy Destination

End Sub
'-------------------------------------





"Louis" a écrit dans le message de groupe de discussion
:
Mille mercis

pour les macros mais si j'ose te demander encore un service.....

j'ai essayé d'inserer une partie des deux dernier code dans to première
macro mais décidément je suis trés nulle et je n'arrive pas.

merci encore





"michdenis" a écrit :

Pour transposer, tu peux copier dans le presse-papier
la colonne, sélectionner la cellule de départ où tu
copieras tes données et utiliser Collage spécial
sans oublier de cocher la case Transpose

Exemple en vba de transposer :
'------------------------
Sub test()
With Worksheets("Feuil1")
.Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy
.Range("B1").PasteSpecial Paste:=xlPasteAll, Transpose:=True
End With
End Sub
'------------------------

Écrire à la ligne suivante :
Exemple tu as des données de A1 à A10 en feuil1
tu veux copier les données de la feuil2 plage A25:A50
à partir de la cellule A11 de la feuil1

'----------------------------------------
Sub test()
Dim Adr As String

With Worksheets("Feuil1")
Adr = .Range("A" & .Range("A65536").End(xlUp)(2).Row).Address
End With

Worksheets("Feuil2").Range("A25:A50").Copy _
Worksheets("Feuil1").Range(Adr)
End Sub
'----------------------------------------

"Louis" a écrit dans le message de groupe de
discussion
:
Merci la macro fonctionne.

J'ai encore une demande, comment faire pour transposé la colonne en ligne.
et la macro ecrit toujours sur la meme ligne, comment faire pour écrire les
données sur la ligne suivante.

Merci pour ta patience


"michdenis" a écrit :

> | Wk.Worksheets("Feuil1").Range ("A1")
>
> Dans le code que je t'ai transmis, il y a une apostrophe
> devant cette ligne comme ceci :
> 'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
>
> elle est là à titre informatif, elle ne fait pas partie des
> lignes de code à exécuter. Si tu désires, tu peux l'effacer totalement.
>
>
>
>
>
> "Louis" a écrit dans le message de groupe de
> discussion
> :
> Bonjour michdenis
>
> J' ai installé la macro mais elle bug sur la ligne
> Wk.Worksheets("database").Range ("A1")
>
> Les données à copier sont sur la feuille excel base
> les données à coller sur la feuille Databasere_validierung.xls l'onglet
> s'apelle feuil1.
>
> merci pour ta precieuse aide
>
>
>
> Dim Wk As Workbook
>
> Set Wk = Workbooks.Open(Filename:="C:Databasere_validierung.xls")
> Wk.Worksheets("Feuil1").Range ("A1")
> Workbooks("'exceldata base.xls'"). _
> Worksheets("Feuil1").Range("b1:b75").Copy _
> Wk.Worksheets("database").Range("A4")
>
> Wk.Close True
> End Sub
>
>
>
> "michdenis" a écrit :
>
> > Bonjour,
> >
> > Essaie ceci :
> >
> > '----------------------------------------------
> > Sub test()
> > Dim Wk As Workbook
> >
> > 'ouvre le fichier
> > Set Wk = Workbooks.Open(Filename:="C:Databasere_validation.xls")
> >
> > 'Ce fichier est présumé déjà ouvert : "'exceldata base.xls'"
> > 'La plage que tu veux copier est B1:B75
> > 'remplace "NomDeLaFeuille" par le vrai nom que porte la feuille
> >
> > 'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
> > 'Remplace NomDeLaFeuille par le vrai nom de la feuille
> > 'Remplace A1 par l'addresse de la première cellule où les
> > 'données seront copiées
> >
> > Workbooks("'exceldata base.xls'"). _
> > Worksheets("NomDeLaFeuille").Range("b1:b75").Copy _
> > Wk.Worksheets("NomDeLaFeuille").Range("A1")
> >
> > 'Le fichier que tu viens d'ouvrir se ferme
> > 'et sauvegarde les nouvelles données
> > Wk.Close True
> > End Sub
> > '----------------------------------------------
> >
> >
> >
> > "Louis" a écrit dans le message de groupe de
> > discussion
> > :
> > Bojour
> >
> > dans l'excel qui s'apelle 'exceldata base' la colonne b1 à b75 doit être
> > transposée dans le document 'Databasere_validation.xls'
> > bien entendu je devrai pouvoir introduire les données à la suite des données
> > précédantes
> >
> > J'ai fait un bout de macro qui me permet d'ouvrire l'excel
> > Databasere_validierung.xls
> > (Workbooks.Open Filename:="C:Databasere_validation.xls")
> > mais je suis complètement bloqué, comemnt faire pour introduire les données
> > du document 'exceldata base' et en plus le document
> > 'Databasere_validierung.xls devrai se fermer automatiquement aprés avoir
> > transféré les données
> >
> > Je suis novice dans le domaine des macros.
> >
> > Merci pour votre précieuse aide
> >
Avatar
Louis
Merci pour ton aide

Salutations

"michdenis" a écrit :

Voici une macro générale sur la manière de copier
une plage de cellules d'un classeur vers un autre.

Si tu en es à tes débuts en programmation VBA, ce n'est
pas évident de comprendre ce qui suit. En plus de suivre
ce forum, la consultation d'un bon livre sur le sujet pourrait
t'aider à comprendre la base.

Le principe est simple:
Source vers Destination

Workbooks("NomDuClasseurSource"). _
Worksheets("SonNom").Range("A1:A25").Copy _
Workbooks("NomClasseurDestination"). _
Worksheets("SonNom").Range("G25")


'-------------------------------------
Sub test()

'Déclaration des variables Objet
Dim Wk As Workbook
Dim Source As Range
Dim Destination As Range

Dim Fichier As String

'Chemin et nom du fichier que tu dois ouvrir
Fichier = "C:UsersDMDocumentsClasseur1.xls"

'Ouverture du fichier
Set Wk = Workbooks.Open(Fichier)

'Déterminer où copier les données dans le fichier
'venant d'être ouvert. Première ligne disponble
'en colonne A -> c'est un exemple.

'Adapte le nom de la feuille où sont tes données dans
'le classeur que tu viens d'ouvrir
With Wk.Worksheets("Feuil1")
'Détermine où seront copiées les données
Set Destination = .Range("A" & .Range("A65536").End(xlUp)(2).Row)
End With

'Déterminer où sont les données à copier
'En supposant que ces données soient dans le classeur
'où j'ai copié cette macro

With ThisWorkbook
'Adapte le nom de la feuille où sont tes données à copier
With .Worksheets("Sheet2")
Set Source = .Range("b1:b75")
End With
End With

'Copie de la plage Source vers la plage destination
Source.Copy Destination

End Sub
'-------------------------------------





"Louis" a écrit dans le message de groupe de discussion
:
Mille mercis

pour les macros mais si j'ose te demander encore un service.....

j'ai essayé d'inserer une partie des deux dernier code dans to première
macro mais décidément je suis trés nulle et je n'arrive pas.

merci encore





"michdenis" a écrit :

> Pour transposer, tu peux copier dans le presse-papier
> la colonne, sélectionner la cellule de départ où tu
> copieras tes données et utiliser Collage spécial
> sans oublier de cocher la case Transpose
>
> Exemple en vba de transposer :
> '------------------------
> Sub test()
> With Worksheets("Feuil1")
> .Range("A1:A" & .Range("A65536").End(xlUp).Row).Copy
> .Range("B1").PasteSpecial Paste:=xlPasteAll, Transpose:=True
> End With
> End Sub
> '------------------------
>
> Écrire à la ligne suivante :
> Exemple tu as des données de A1 à A10 en feuil1
> tu veux copier les données de la feuil2 plage A25:A50
> à partir de la cellule A11 de la feuil1
>
> '----------------------------------------
> Sub test()
> Dim Adr As String
>
> With Worksheets("Feuil1")
> Adr = .Range("A" & .Range("A65536").End(xlUp)(2).Row).Address
> End With
>
> Worksheets("Feuil2").Range("A25:A50").Copy _
> Worksheets("Feuil1").Range(Adr)
> End Sub
> '----------------------------------------
>
> "Louis" a écrit dans le message de groupe de
> discussion
> :
> Merci la macro fonctionne.
>
> J'ai encore une demande, comment faire pour transposé la colonne en ligne.
> et la macro ecrit toujours sur la meme ligne, comment faire pour écrire les
> données sur la ligne suivante.
>
> Merci pour ta patience
>
>
> "michdenis" a écrit :
>
> > | Wk.Worksheets("Feuil1").Range ("A1")
> >
> > Dans le code que je t'ai transmis, il y a une apostrophe
> > devant cette ligne comme ceci :
> > 'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
> >
> > elle est là à titre informatif, elle ne fait pas partie des
> > lignes de code à exécuter. Si tu désires, tu peux l'effacer totalement.
> >
> >
> >
> >
> >
> > "Louis" a écrit dans le message de groupe de
> > discussion
> > :
> > Bonjour michdenis
> >
> > J' ai installé la macro mais elle bug sur la ligne
> > Wk.Worksheets("database").Range ("A1")
> >
> > Les données à copier sont sur la feuille excel base
> > les données à coller sur la feuille Databasere_validierung.xls l'onglet
> > s'apelle feuil1.
> >
> > merci pour ta precieuse aide
> >
> >
> >
> > Dim Wk As Workbook
> >
> > Set Wk = Workbooks.Open(Filename:="C:Databasere_validierung.xls")
> > Wk.Worksheets("Feuil1").Range ("A1")
> > Workbooks("'exceldata base.xls'"). _
> > Worksheets("Feuil1").Range("b1:b75").Copy _
> > Wk.Worksheets("database").Range("A4")
> >
> > Wk.Close True
> > End Sub
> >
> >
> >
> > "michdenis" a écrit :
> >
> > > Bonjour,
> > >
> > > Essaie ceci :
> > >
> > > '----------------------------------------------
> > > Sub test()
> > > Dim Wk As Workbook
> > >
> > > 'ouvre le fichier
> > > Set Wk = Workbooks.Open(Filename:="C:Databasere_validation.xls")
> > >
> > > 'Ce fichier est présumé déjà ouvert : "'exceldata base.xls'"
> > > 'La plage que tu veux copier est B1:B75
> > > 'remplace "NomDeLaFeuille" par le vrai nom que porte la feuille
> > >
> > > 'Destination copie : Wk.Worksheets("NomDeLaFeuille").Range("A1")
> > > 'Remplace NomDeLaFeuille par le vrai nom de la feuille
> > > 'Remplace A1 par l'addresse de la première cellule où les
> > > 'données seront copiées
> > >
> > > Workbooks("'exceldata base.xls'"). _
> > > Worksheets("NomDeLaFeuille").Range("b1:b75").Copy _
> > > Wk.Worksheets("NomDeLaFeuille").Range("A1")
> > >
> > > 'Le fichier que tu viens d'ouvrir se ferme
> > > 'et sauvegarde les nouvelles données
> > > Wk.Close True
> > > End Sub
> > > '----------------------------------------------
> > >
> > >
> > >
> > > "Louis" a écrit dans le message de groupe de
> > > discussion
> > > :
> > > Bojour
> > >
> > > dans l'excel qui s'apelle 'exceldata base' la colonne b1 à b75 doit être
> > > transposée dans le document 'Databasere_validation.xls'
> > > bien entendu je devrai pouvoir introduire les données à la suite des données
> > > précédantes
> > >
> > > J'ai fait un bout de macro qui me permet d'ouvrire l'excel
> > > Databasere_validierung.xls
> > > (Workbooks.Open Filename:="C:Databasere_validation.xls")
> > > mais je suis complètement bloqué, comemnt faire pour introduire les données
> > > du document 'exceldata base' et en plus le document
> > > 'Databasere_validierung.xls devrai se fermer automatiquement aprés avoir
> > > transféré les données
> > >
> > > Je suis novice dans le domaine des macros.
> > >
> > > Merci pour votre précieuse aide
> > >