XL 2019 La méthode select de la classe range a échoué

bambi

XLDnaute Occasionnel
Bonjour à tous

J'ai un bout de macro qui a toujours très bien fonctionné mais qui aujourd'hui
me renvoie une erreur "1004 la méthode select de la classe range a échoué"

J'ai essayé tout ce que je suis capable de faire mais je n'arrive pas à résoudre ni à comprendre ce bug "spontané"

Difficile de vous joindre mon fichier aussi j'espère que vous aurez des suggestions avec le code vba qui bloque
C'est la ligne ci-dessous qui ressort JAUNE au débogage
Sheets("CDeT").Range("B" & Range("B65536").End(xlUp).Row + 1).Select

VB:
'Copie dans le presse papier l'ensemble des données nettoyées de Clean Feuille Txn
    Workbooks("Clean.xlsm").Activate
    Sheets("Txn").Range("A1").CurrentRegion.Copy


 'Ouvre le fichier T et colle le résultat à partir de la première case vide colonne B, feuille CDeT
     Workbooks.Open Filename:="D:\Mon Dossier de T\Racine\T.xlsm"
     Sheets("CDeT").Range("B" & Range("B65536").End(xlUp).Row + 1).Select
     ActiveSheet.Paste
     Workbooks("T.xlsm").Sheets("CDeT").Range("A1").Select

Merci de vos suggestions
 
Solution
bonjour
essayes
mais sans fichier pour tester....
Sheets("CDeT").Range("B" & Sheets("CDeT").Range("B65536").End(xlUp).Row + 1).Select


ou plutôt
Sheets("CDeT").Select
Range("B" & Range("B65536").End(xlUp).Row + 1).Select

JM27

XLDnaute Barbatruc
bonjour
essayes
mais sans fichier pour tester....
Sheets("CDeT").Range("B" & Sheets("CDeT").Range("B65536").End(xlUp).Row + 1).Select


ou plutôt
Sheets("CDeT").Select
Range("B" & Range("B65536").End(xlUp).Row + 1).Select
 

bambi

XLDnaute Occasionnel
Merci énormément @JM27 :)
Cela fonctionne.
J'ai buté tout le week-end sur ce problème alors je suis bien contente d'avoir enfin une solution.
C'est tout de même un mystère car la macro précedente a fonctionné des années
Bonne journée ;)
 

soan

XLDnaute Barbatruc
Inactif
Bonjour bambi, JM27,

je te propose aussi ce code VBA :

VB:
Sub Essai()
  'Copie dans le presse papier l'ensemble des données nettoyées de Clean Feuille Txn
  Workbooks("Clean.xlsm").Activate: [Txn!A1].CurrentRegion.Copy

  'Ouvre le fichier T et colle le résultat à partir de la première case vide colonne B, feuille CDeT
  Dim lig&: Workbooks.Open "D:\Mon Dossier de T\Racine\T.xlsm"
  Worksheets("CDeT").Select: lig = Cells(Rows.Count, 2).End(xlUp).Row + 1
  Cells(lig, 2).PasteSpecial xlPasteAll: [A1].Select
End Sub

si t'as besoin que des valeurs, tu peux remplacer xlPasteAll par xlPasteValues



note que pour ta ligne Workbooks("T.xlsm").Sheets("CDeT").Range("A1").Select

* inutile de sélectionner le classeur T.xlsm, car depuis le .Open tu es déjà dessus

* j'ai sélectionné la feuille "CDeT" au cas où y'en aurait d'autres dans le classeur,
et à cause du [A1].Select, cette feuille doit obligatoirement être sélectionnée.

soan
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
@bambi

désolé, on s'est croisés, et j'ai corrigé un petit bug dans mon code VBA précédent ; donc je te laisse relire entièrement mon post #4, y compris la 2ème partie avec la note. :) au cas où tu n'aurais pas besoin de sélectionner A1, tu pourrais faire un coller sans devoir sélectionner la feuille "CDeT" ; mon code VBA aurait alors été celui-ci :​

VB:
Sub Essai()
  'Copie dans le presse papier l'ensemble des données nettoyées de Clean Feuille Txn
  Workbooks("Clean.xlsm").Activate: [Txn!A1].CurrentRegion.Copy

  'Ouvre le fichier T et colle le résultat à partir de la première case vide colonne B, feuille CDeT
  Dim lig&: Workbooks.Open "D:\Mon Dossier de T\Racine\T.xlsm"
  With Worksheets("CDeT")
    lig = .Cells(Rows.Count, 2).End(xlUp).Row + 1
    .Cells(lig, 2).PasteSpecial xlPasteAll
  End With
End Sub

(ou avec xlPasteValues si seules les valeurs suffisent)

soan
 
Dernière édition:

bambi

XLDnaute Occasionnel
@soan
Tes deux macros fonctionnent parfaitement .
Je selectionne le A1 car j'ai besoin de voir le résultat une fois collé et d'être sur cette feuille CDeT
Merci beaucoup de t'être donné la peine de regarder :)
Je garde toutes tes macros de côté
Bonne journée

PS: j'ai mis xlPastValues ;)
 

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 971
Membres
101 852
dernier inscrit
dthi16088