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

VBA - Excel 2003 - Feuille et classeur comme arguments d'un procédure

  • Initiateur de la discussion Initiateur de la discussion aurelienpagrica
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

aurelienpagrica

Guest
Bonjour,

J'essaye de créer une procédure qui copie une ligne d'un classeur vers une ligne d'un autre classeur --> Les lignes, classeurs et feuilles sont des arguments d'une procédure.

Si j'éxécute l'instruction en dehors d'une procédure avec arguments, ça marche. SInon, il affiche à message d'erreur:
erreur d'éxécution '438': Propriété ou méthode non gérée par cet objet

Merci d'avance

Aurélien

Code:
Public Sub Copie(ligne_d_origine As Integer, feuille_d_origine As Worksheet, ligne_de_destination As Integer, feuille_de_destination As Worksheet, classeur_de_destination As Workbook)
Workbooks("1- Données à exploiter").feuille_d_origine.Rows(ligne_d_origine).Copy classeur_de_destination.feuille_de_destination.Cells(ligne_de_destination, 1)
End Sub
 
Sub essai()
'
' essai Macro
' Macro enregistrée le 06/08/2010 par modele
 
Call Copie(1, Sheets("INC_N"), 3, Sheets("INC_N"), Workbooks("1- Données à exploiter.xls"))
 
End Sub
 
Re : VBA - Excel 2003 - Feuille et classeur comme arguments d'un procédure

Bonjour aurelienpagrica, bienvenue sur XLD,

il n'est pas possible d'appeler une variable objet avec une autre variable objet:

Code:
classeur_de_destination.feuille_de_destination.Cells....

la variable WorkSheet, par exemple, doit contenir l'objet classeur.
Ex:

Code:
Dim Ws as WorkSheet
Set Ws = Workbooks(1).Sheets(1)

Cela signifie que lors de l'appelle de "Ws", ce sera systématiquement la feuille 1 du classeur 1.

Espérant t'avoir éclairé.

Edit: petite précision: si l'objet parent n'est pas précisé, cela veut dire que c'est l'objet actif qui est considéré:
Code:
 Set Ws = Sheets(1)
signifie: activeworkbook.sheets(1)
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…