Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copie d'une sélection vers autre fichier première ligne non vide

chris6999

XLDnaute Impliqué
Bonjour et très bonne année à tout le FORUM

Je rencontre un petit problème pour copier la sélection courante d'un classeur (fichiermacro) sur la dernière cellule vide de ma colonne B du classeur (fichiertest)

La copie des données ne correspond pas à la première cellule vide mais à la ligne 9 !

Mon code

ActiveWorkbook.Sheets(1).[A1].CurrentRegion.Copy Workbooks("fichiertest.xlsm").Sheets("TI43").Cells(Range("b65536").End(xlUp).Row + 1, 2)

Je mets en PJ :
Un fichier fichiermacro à partir duquel est lancée la macro
Un fichier test sur lequel seront exportées les données (à ouvrir préalablement)

J'espère que vous pourrez voir ce qui cloche dans ce code

Merci d'avance
 

Pièces jointes

  • fichiermacro.xlsm
    15.8 KB · Affichages: 16
  • fichiertest.xlsm
    432.1 KB · Affichages: 17
  • fichiertest.xlsm
    432.1 KB · Affichages: 22

Marc L

XLDnaute Occasionnel
Bonjour !

Ce qui cloche est le non respect du modèle objet d'Excel !
Comme il n'y a pas de référence devant le Range du End(xlUp),
il est donc pris sur la feuille active au lieu de celle de destination !

Qui plus est c'est un peu bête de transformer un Range en numéro de ligne
pour de suite le retransformer en Range (Cells) ! Autant appliquer directement un offset :

VB:
Sub macro()
    Feuil1.Cells(1).CurrentRegion.Copy _
    Workbooks("fichiertest.xlsm").Worksheets("TI43").Cells(Rows.Count, 2).End(xlUp)(2)
End Sub
_______________________________________________________________________________
Merci de cliquer sur J'aime ce post en bas à gauche de chaque message ayant aidé …

_______________________________________________________________________________
Je suis Paris, …
 
Dernière édition:

chris6999

XLDnaute Impliqué
Re : Bonjour !

 
Dernière édition:

Marc L

XLDnaute Occasionnel

Feuil1 est une feuille, ActiveSheet étant une feuille donc ActiveSheet.Feuil1 ne veut rien dire ‼

Utiliser une seule référence à une feuille, soit le CodeName, soit ActiveSheet ou encore Worksheets

respectant la règle TBTO (Think, But Think Object !), c'est à dire le modèle objet d'Excel …

 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…