Copier/Coller en VBA Erreur 438 aléatoire ?

  • Initiateur de la discussion Initiateur de la discussion Creepy
  • 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 !

Creepy

XLDnaute Accro
Bonjour le Forum,

J'ai un souci, lors de l’exécution d'un code j'ai un erreur 438, mais aléatoire 😡 Cela me laisse perplexe et je n'arrive pas à la résoudre. Je pourrais procéder différemment mais je voudrais bien comprendre le pourquoi du comment et corriger pour le principe.

Sujet : Je copie/colle une grande quantité de données (17000 lignes et 29 colonnes) entre deux fichier, ouverts dans 2 sessions différentes.
Comme les colonnes ne se trouvent pas au même endroit dans mes fichiers, mais que les en-têtes sont les mêmes je fais cette action :
1. Récupération du libellé de la colonne X dans le fichier source, (à partir d'un tableau en mémoire)
2. Recherche de cette colonne dans le fichier destination (à partir d'un tableau en mémoire)
3. Select de mes datas ligne 2 à 17000 (fichier source) et collage dans le fichier destination.

Code :
Code:
For iBcl = LBound(TblHead) To UBound(TblHead) Step 1    iCpt = 0
    iCpt2 = 0
    For iBcl2 = LBound(TblHeadMod) To UBound(TblHeadMod) Step 1
        If TblHead(iBcl) = TblHeadMod(iBcl2) Then
            iCpt = iBcl
            iCpt2 = iBcl2
            Exit For
        End If
    Next iBcl2
    
    oWbkSrc.Sheets(1).Range(oWbkSrc.Sheets(1).Cells(2, iCpt + 1), oWbkSrc.Sheets(1).Cells(iFin, iBcl + 1)).Copy  ' REMONTE LA
    oXl.WindowState = xlNormal
    oWbkMdl.Sheets(sHRA).Select
    oWbkMdl.Sheets(sHRA).Cells(2, iCpt2 + 1).Select
    oWbkMdl.Sheets(sHRA).Paste
    oXlSrc.CutCopyMode = False ' ICI CA BUG PARFOIS 
Next iBcl

Le code plante aléatoirement au niveau du "paste" : Erreur 438 Propriété ou méthode non généré par cet objet.

Je ne trouve pas pourquoi. Quand je remonte en débogage à la ligne "REMONTE LA" et que je fais du pas à pas cela passe.

J'ai essayé 50 trucs pour solutionner cette erreur mais elle revient aléatoirement.
Pour info : 2 sessions Excel différente pour le oWbkMdl(oXL) et oWbkSrc (oXlSrc).

Merci de votre aide, j'espère avoir été clair, du moins j'ai essayé ! Je ne peux poster le code car d'une par c'est confidentiel et d'autre part, c'est un fichier énorme.

Merci d'avance, bonne journée.

Creepy
 
Re : Copier/Coller en VBA Erreur 438 aléatoire ?

Bonjour,

essaye peut être comme ceci :
Code:
oWbkSrc.Sheets(1).Range(oWbkSrc.Sheets(1).Cells(2, iCpt + 1), oWbkSrc.Sheets(1).Cells(iFin, iBcl + 1)).Copy _
    Destination:=oWbkMdl.Sheets(sHRA).Cells(2, iCpt2 + 1)

bonne journée
@+
 
Re : Copier/Coller en VBA Erreur 438 aléatoire ?

Hello,

Merci Pierrot pour ta réponse, je ne savais plus si j'avais testé, j'ai fait tellement d'essais ...
J'ai donc reesayé et la j'ai un beau : Erreur 1004 : La méthode Copy de la Classe range à échoué !

Et si je rajoute mes sessions comme ceci :
Code:
oXlSrc.oWbkSrc.Sheets(1).Range(oXlSrc.oWbkSrc.Sheets(1).Cells(2, iCpt + 1), oXlSrc.oWbkSrc.Sheets(1).Cells(iFin, iBcl + 1)).Copy Destination:=oXl.oWbkMdl.Sheets(sHRA).Cells(2, iCpt2 + 1)

Rebelote erreur 438 : Propriété ou méthode non gérée par cet objet !!

une autre idée ?

Creepy
 
Re : Copier/Coller en VBA Erreur 438 aléatoire ?

Re,

Hmmm j'aime bien distinguer les sessions, mais effectivement je pense que pour le fichier modèle et source je vais regrouper sur la même session. Je suis en train de faire le test, mais c'est un peu long !

Je vais voir cela !

Mais je suis preneur de la solution à 2 sessions si quelqu'un a, histoire de ne pas rester sur ma faim ...

Merci
 
- 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

Discussions similaires

Réponses
2
Affichages
238
Réponses
24
Affichages
1 K
Réponses
2
Affichages
406
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
639
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
794
Retour