La méthode select de la classe Range à échoué

djstroubi

XLDnaute Junior
Bonjour,

Je souhaite copier/coller des données qui sont dans un fichier vers un autre fichier.
Cependant j'ai un message d'erreur lors de l'exécution de mon code
- j'ai le message suivant:
la méthode select de la classe Range a échoué

Voici le code :
Code:
Sub extraire()

Workbooks("Ex").Sheets("TRANSACTIONS").Range("B4:V10000").Select
Selection.Copy
Windows("DailyReport_draft.xlsm").Activate
Sheets("TRANSACTIONS").Activate
Range("A4").Select
ActiveSheet.Paste
'A partir de cette ligne, il me met le message : la méthode select de la classe Range à échoué mais je ne sais pas pourquoi"
Workbooks("Ex").Sheets("OPEN POSITIONS").Range("B4:N10").Select
Selection.Copy
Windows("DailyReport_draft.xlsm").Activate
Sheets("OPEN POSITIONS").Activate
Range("B6").Select
ActiveSheet.Paste

End Sub

Merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : La méthode select de la classe Range à échoué

Bonjour,

tu ne peux pas slectionner une plage de cellule de cette facon, il faut d'abord activer la feuille et ensuite sélectionner ta plage de cellules :
Code:
Workbooks("Ex").Sheets("OPEN POSITIONS").Activate
Range("B4:N10").Select

A noter que les "activate" et autres "select" sont rarement utiles en vba...

bonne soirée
@+
 

djstroubi

XLDnaute Junior
Re : La méthode select de la classe Range à échoué

Bonjour,

tu ne peux pas slectionner une plage de cellule de cette facon, il faut d'abord activer la feuille et ensuite sélectionner ta plage de cellules :
Code:
Workbooks("Ex").Sheets("OPEN POSITIONS").Activate
Range("B4:N10").Select

A noter que les "activate" et autres "select" sont rarement utiles en vba...

bonne soirée
@+

Pierrot,

Je ne suis pas forcément adepte de ces fonctions non plus mais je n'ai pas trouvé de solutions pour ne pas avoir à les utiliser.
Cordialement
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : La méthode select de la classe Range à échoué

Bonsoir le fil, bonsoir le forum,

Une proposition sans Select...
Code:
Sub extraire()
Dim cc As Workbook 'déclare la variable cc (Classeur Cible)
Dim no As String 'déclare la variable no (Nom Onglet)

Set cc = Workbooks("DailyReport_draft.xlsm")
no = "TRANSACTIONS"
Workbooks("Ex").Sheets(no).Range("B4:V10000").Copy cc.Sheets(no).Range("A4")
no = "OPEN POSITIONS"
Workbooks("Ex").Sheets(no).Range("B4:N10").Copy cc.Sheets(no).Range("B6")
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 859
Messages
2 092 896
Membres
105 555
dernier inscrit
Hildegard14