code vba pour excel

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #21570771
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" :
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
Louis
Le #21571511
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" :
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

michdenis
Le #21571631
| 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" :
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" 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

Louis
Le #21571811
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" :
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" > 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
>
michdenis
Le #21572091
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" :
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" 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" > 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
>
Louis
Le #21572661
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" :
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" > 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" > > 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
> >
michdenis
Le #21578691
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" :
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" 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" > 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" > > 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
> >
Louis
Le #21591461
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" :
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" > 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" > > 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" > > > 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
> > >
Publicité
Poster une réponse
Anonyme