Copier d'une feuille d'un fichier à un autre

jacky49

XLDnaute Impliqué
Bonsoir le forum,

j'ai ce code que je viens de créer qui me copie les cellules A5 à A105 du classeur "inscrits" et de la feuille SMG sur mon 2ème classeur Classements et sur la feuille SMG à partir de la cellule A7, mon problème, c'est que j'ai plusieurs feuille qui ont la même structure et du coup, il me copie toujours la même feuille dans le 2ème classeur
merci de votre aide
Code:
Sub Copier_Inscrits_SMG()

    Windows("Inscrits.xls").Activate
    Range("A5:A105").Select
    Selection.Copy
    Windows("Classement .xlsm").Activate
    Range("A7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A7").Select
End Sub

jacky
 

Staple1600

XLDnaute Barbatruc
Re : Copier d'une feuille d'un fichier à un autre

Re

jacky49
Essaie avec ce code VBA
(Vérifie bien les noms des classeurs car dans ton exemple ton classeur Classement à des espaces dans son nom.
Dans mon code le nom est Classement.xlsm donc faire les changements qui s'imposent ;) )
PS: Test OK sur mon PC.
(qui doit être dans Inscrits.xls)
Code:
Sub Copier_Inscrits_SMG()
Dim SOURCE As Range, DESTINATION As Range
Set SOURCE = ThisWorkbook.Sheets("SMG").Range("A5:A105")
Set DESTINATION = Workbooks("Classement.xlsm").Sheets("Super M G").Range("A7")
SOURCE.Copy DESTINATION
End Sub
 

jacky49

XLDnaute Impliqué
Re : Copier d'une feuille d'un fichier à un autre

Re le forum, Staple1600,

merci Staple, le code fonctionne très bien mais le souci, c'est que je voudrais copier seulement la valeur des cellules et non les formules qui sont dedans
merci
jacky
 

Staple1600

XLDnaute Barbatruc
Re : Copier d'une feuille d'un fichier à un autre

Re

Souci réglé avec ceci
Code:
Sub Copier_Inscrits_SMG()
Dim SOURCE As Range, DESTINATION As Range
Set SOURCE = ThisWorkbook.Sheets("SMG").Range("A5:A105")
Set DESTINATION = Workbooks("Classements.xls").Sheets("Super M G").Range("A7")
SOURCE.Copy
DESTINATION.PasteSpecial xlValues
End Sub

PS: C'était déjà dans ton premier code, non ...:rolleyes:
(voir ton message #1)

EDITION: Petite variante (pour le fun) ;)
Code:
Sub test1()
Copier 'valeurs seules
End Sub
Code:
Sub test2()
Copier xlPasteAll 'tout
End Sub

Code:
Private Sub Copier(Optional vTypeCopie = -4163)
Dim SOURCE As Range, DESTINATION As Range
Set SOURCE = ThisWorkbook.Sheets("SMG").Range("A5:A105")
Set DESTINATION = Workbooks("Classements.xls").Sheets("Super M G").Range("A7")
SOURCE.Copy
DESTINATION.PasteSpecial vTypeCopie
End Sub
 
Dernière édition:

jacky49

XLDnaute Impliqué
Re : Copier d'une feuille d'un fichier à un autre

re Staple1600,

merci, oui, c'est vrai , c'était dans mon code, une dernière question, je voudrais une fois le code effectué que je reste sur le classeur Classements et sur la cellule A7
merci
 

Staple1600

XLDnaute Barbatruc
Re : Copier d'une feuille d'un fichier à un autre

Re

jacky49
Creuses-toi un peu les méninges, camarade ;)
Le réponse est également dans ton premier message
La dernière ligne de code
(à adapter avec le code que je t'ai soumis)

Je te laisse faire les essais.
 

jacky49

XLDnaute Impliqué
Re : Copier d'une feuille d'un fichier à un autre

re staple,

oui c'est ce que j'ai fait
.Range("A7").Select , mais cela selectionne la cellule A7 de la feuille inscrits
et quand je fais
with Sheets("Super M G").Range("A7") cela ne fonctionne pas
je continue mes recherche
merci
 

Staple1600

XLDnaute Barbatruc
Re : Copier d'une feuille d'un fichier à un autre

Re


Il me semble qu'il avait ceci dans ton code, non ?
Windows("Classement .xlsm").Activate

Allez, je vais pas te faire languir, surtout que mon balcon m'attends
Code:
Sub Copier_Inscrits_SMG()
Dim CLASSEUR As Workbook
Dim SOURCE As Range, DESTINATION As Range
Set SOURCE = ThisWorkbook.Sheets("SMG").Range("A5:A105")
Set CLASSEUR = Workbooks("Classements.xls")
Set DESTINATION = CLASSEUR.Sheets("Super M G").Range("A7")
SOURCE.Copy
DESTINATION.PasteSpecial xlValues
CLASSEUR.Activate
DESTINATION.Select
End Sub

PS: Mais tu vois que tout étais déjà dans ton premier message ;)
 

Staple1600

XLDnaute Barbatruc
Re : Copier d'une feuille d'un fichier à un autre

Re

jacky49
Relire ce que je disais plus bas...:rolleyes:
(Vérifie bien les noms des classeurs car dans ton exemple ton classeur Classement à des espaces dans son nom.)
Donc modifier le code en conséquence.
J'ai testé avec un classeur nommé Classements.xls
or ton classeur se nomme chez toi... je te laisse compléter.
 

jacky49

XLDnaute Impliqué
Re : Copier d'une feuille d'un fichier à un autre

Bonsoir le Forum, Staple1600,

je reviens vers vous car je cherche comment ajouter la copie sur plusieurs colonne mais je bloque
dans le code, la colonne A de A5 à A105 se copie dans la feuille SuperMG à partir de la cellule A7, je voudrais aussi copier en K7, T7 etc...
Code:
Sub Copier_Inscrits_SMG()
 Dim CLASSEUR As Workbook
 Dim SOURCE As Range, DESTINATION As Range
 Set SOURCE = ThisWorkbook.Sheets("SMG").Range("A5:A105")
 Set CLASSEUR = Workbooks("Classements.xls")
 Set DESTINATION = CLASSEUR.Sheets("SuperMG").Range("A7")
 SOURCE.Copy
 DESTINATION.PasteSpecial xlValues
 CLASSEUR.Activate
 DESTINATION.Select
 End Sub
merci de votre aide
jacky
 
Dernière édition:

jacky49

XLDnaute Impliqué
Re : Copier d'une feuille d'un fichier à un autre

Bonsoir le Forum,

je reviens vers vous car j'ai essayé en ajoutant des lignes au code mais seul la 1ère et la dernière fonctionne
Code:
Sub Copier_Inscrits_JunSenF()
 Dim CLASSEUR As Workbook
 Dim SOURCE As Range, DESTINATION As Range
 Set SOURCE = ThisWorkbook.Sheets("JSF").Range("B5:B103")
 Set CLASSEUR = Workbooks("Classement 2014.xlsm")
 Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("B7")' celle-ci fonctionne
 Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("K7")' ne fonctionne pas
 Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("U7")' ne fonctionne pas
 Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("AI7")' ne fonctionne pas
Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("AS7")' ne fonctionne pas
 Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("BC7")' ne fonctionne pas
Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("BQ7")' ne fonctionne pas
Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("BZ7")' ne fonctionne pas
Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("CJ7")' ne fonctionne pas
Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("CX7")' ne fonctionne pas
 Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("DP7")' ne fonctionne pas
Set DESTINATION = CLASSEUR.Sheets("JunSenF").Range("EN7")'celle-ci fonctionne
 SOURCE.Copy
 DESTINATION.PasteSpecial xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False ' ici il me met une erreur
 CLASSEUR.Activate
 DESTINATION.Select.Range (A7)
 End Sub
si quelqu'un peut m'aider
merci d'avance
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
127

Statistiques des forums

Discussions
312 361
Messages
2 087 613
Membres
103 607
dernier inscrit
lolo1970