OVH Cloud OVH Cloud

transferer un fichier excel sur un autre classeur

3 réponses
Avatar
testou
Bonjour,

j'ai un fichier excel , un tableau sur le feuillet 1
je voudrai en appuyant sur le bouton de commande de la meme feuille acceder
à un autre classeur et copier ce tableau sur un autre classeur.

savez vous comment faire

merci

3 réponses

Avatar
michdenis
Bonjour Testou,

Voici un exemple :

Tu places ce code dans un module standard de ton classeur source (celui que tu veux copier)

'------------------------------------
Sub CopierPlageDeCelluleDansAutreclasseur()

Dim Source As Range, Destination As Range

'Nom de la feuille à déterminer selon ton application.
With ThisWorkbook.Worksheets("Feuil1")
'Va copier de la cellule A1 jusqu'à la dernière ligne qui contient
'une information en colonne A1 , la plage A1:Gx
Set Source = .Range("A1:G" & .Range("A65536").End(xlUp).Row)
End With

'Le classeur de destination doit être ouvert.
'Ne pas oublier d'inscrire le nom de l'extension dans le nom de ton classeur
'Nom de la feuille du classeur de destination à spécifier selon ton application
'Va copier les données à partir de la première ligne vide disponible
'en colonne A1 de la feuille de destination.
With Workbooks("Classeur2").Worksheets("Feuil1")
Set Destination = .Range("A" & .Range("A65536").End(xlUp).Row)(2)
End With

'Cette ligne exécute la copie
Source.Copy Destination

'Libère l'espace mémoire occuupé par les 2 objets
Set Source = Nothing: Set Destination = Nothing

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


Salutations!



"testou" a écrit dans le message de news:

Bonjour,

j'ai un fichier excel , un tableau sur le feuillet 1
je voudrai en appuyant sur le bouton de commande de la meme feuille acceder
à un autre classeur et copier ce tableau sur un autre classeur.

savez vous comment faire

merci
Avatar
testou
BOnjour,
merci pour le code, mais je voudrai qe le classeur de destination s'ouvre
automatiquement lorque j'appuie sur le bouton de commande.

est ce possible?
merci

"michdenis" wrote:

Bonjour Testou,

Voici un exemple :

Tu places ce code dans un module standard de ton classeur source (celui que tu veux copier)

'------------------------------------
Sub CopierPlageDeCelluleDansAutreclasseur()

Dim Source As Range, Destination As Range

'Nom de la feuille à déterminer selon ton application.
With ThisWorkbook.Worksheets("Feuil1")
'Va copier de la cellule A1 jusqu'à la dernière ligne qui contient
'une information en colonne A1 , la plage A1:Gx
Set Source = .Range("A1:G" & .Range("A65536").End(xlUp).Row)
End With

'Le classeur de destination doit être ouvert.
'Ne pas oublier d'inscrire le nom de l'extension dans le nom de ton classeur
'Nom de la feuille du classeur de destination à spécifier selon ton application
'Va copier les données à partir de la première ligne vide disponible
'en colonne A1 de la feuille de destination.
With Workbooks("Classeur2").Worksheets("Feuil1")
Set Destination = .Range("A" & .Range("A65536").End(xlUp).Row)(2)
End With

'Cette ligne exécute la copie
Source.Copy Destination

'Libère l'espace mémoire occuupé par les 2 objets
Set Source = Nothing: Set Destination = Nothing

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


Salutations!



"testou" a écrit dans le message de news:

Bonjour,

j'ai un fichier excel , un tableau sur le feuillet 1
je voudrai en appuyant sur le bouton de commande de la meme feuille acceder
à un autre classeur et copier ce tableau sur un autre classeur.

savez vous comment faire

merci





Avatar
michdenis
Bonjour testou,

Voici la ligne de code pour ouvrir un classeur dont tu connais le chemin et le nom :

Workbooks.open "c:LeCheminNomDuclasseur.xls!

Et dans la procédure cela donnerait quelque chose comme ceci :

'-------------------------------
Sub CopierPlageDeCelluleDansAutreclasseur()

Dim Source As Range, Destination As Range
Dim Wk As Workbook

'Nom de la feuille à déterminer selon ton application.
With ThisWorkbook.Worksheets("Feuil1")
'Va copier de la cellule A1 jusqu'à la dernière ligne qui contient
'une information en colonne A1 , la plage A1:Gx
Set Source = .Range("A1:G" & .Range("A65536").End(xlUp).Row)
End With

'Cette ligne empêche le rafraîchissement de l'écran durant
'l'opération
Application.ScreenUpdating = False

'Ne pas oublier de modifier le chemin et le nom du fichier selon ton
'application.
Set Wk = Workbooks.open("c:LeCheminNomDuclasseur.xls!)

'Le classeur de destination doit être ouvert.
'Ne pas oublier d'inscrire le nom de l'extension dans le nom de ton classeur
'Nom de la feuille du classeur de destination à spécifier selon ton application
'Va copier les données à partir de la première ligne vide disponible
'en colonne A1 de la feuille de destination.

'Wk = variable objet qui représente le classeur que tu viens d'ouvrir
'mais il te reste qu'à modifier le nom de la feuille où tu copieras les données
With Wk.Worksheets("Feuil1")
Set Destination = .Range("A" & .Range("A65536").End(xlUp).Row)(2)
End With

'Cette ligne exécute la copie
Source.Copy Destination

'Pour fermer le classeur que tu as ouvert et enregistrer les données que
'tu viens de copier :
Wk.Close True

'Libère l'espace mémoire occuupé par les 2 objets
Set Source = Nothing: Set Destination = Nothing
Set Wk = Nothing

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


Salutations!


"testou" a écrit dans le message de news:

BOnjour,
merci pour le code, mais je voudrai qe le classeur de destination s'ouvre
automatiquement lorque j'appuie sur le bouton de commande.

est ce possible?
merci

"michdenis" wrote:

Bonjour Testou,

Voici un exemple :

Tu places ce code dans un module standard de ton classeur source (celui que tu veux copier)

'------------------------------------
Sub CopierPlageDeCelluleDansAutreclasseur()

Dim Source As Range, Destination As Range

'Nom de la feuille à déterminer selon ton application.
With ThisWorkbook.Worksheets("Feuil1")
'Va copier de la cellule A1 jusqu'à la dernière ligne qui contient
'une information en colonne A1 , la plage A1:Gx
Set Source = .Range("A1:G" & .Range("A65536").End(xlUp).Row)
End With

'Le classeur de destination doit être ouvert.
'Ne pas oublier d'inscrire le nom de l'extension dans le nom de ton classeur
'Nom de la feuille du classeur de destination à spécifier selon ton application
'Va copier les données à partir de la première ligne vide disponible
'en colonne A1 de la feuille de destination.
With Workbooks("Classeur2").Worksheets("Feuil1")
Set Destination = .Range("A" & .Range("A65536").End(xlUp).Row)(2)
End With

'Cette ligne exécute la copie
Source.Copy Destination

'Libère l'espace mémoire occuupé par les 2 objets
Set Source = Nothing: Set Destination = Nothing

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


Salutations!



"testou" a écrit dans le message de news:

Bonjour,

j'ai un fichier excel , un tableau sur le feuillet 1
je voudrai en appuyant sur le bouton de commande de la meme feuille acceder
à un autre classeur et copier ce tableau sur un autre classeur.

savez vous comment faire

merci