Excel 2003

Bonjour,

J'ai une macro qui copie un contenu d'un fichier.xls à un autre et elle se bloque quand elle rencontre un contenu de cellule trop volumineux, l'erreur est ici :

ThisWorkbook.Sheets(1).Cells(v, j) = Workbooks(Wk.Name).Sheets(1).Cells(i, j)

C'est hyper urgent,

merci

5 réponses

  1. j'ai oublié de préciser ce que fait ma MACRO:

    Elle consolide plusieurs fichiers excel pour mettre tout le contenu dans un seul fichier, sachant que les ficihiers ont tous la meme forme.

    Le hic, c'est qu'il commence à copier et dés qu'il arrive à une cellule qui comporte un nombre de caracteres important, il bug.

    Merci mes amis
    0
    1. bonjour,

      Voici le message d'erreur :

      Sub ConsoSloi()
      ' Efface et consolide une SLOI a partir des autres SLOI présentes dans le répertoire
      ' Les nomns de fichiers doivent contenir "SLOI" ou "PSLI"
      ' Déclaration des variables entières de boucle
      Dim i As Integer
      Dim v As Integer
      Dim j As Integer

      'Declaration des classeurs folders et chaines associées
      Dim Wk As Object
      Dim rep As Object
      Dim Chemin As String
      Dim Fichier As String

      ThisWorkbook.Activate
      Chemin = ThisWorkbook.Path
      Set rep = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)

      v = 3

      For Each Wk In rep.Files
      If Wk.Name <> ThisWorkbook.Name Then
      If InStr(Wk.Name, "SLOI") <> 0 Or InStr(Wk.Name, "SLI") <> 0 Or InStr(Wk.Name, "OIL") <> 0 Then
      Fichier = Chemin & "\" & Wk.Name
      Workbooks.Open Fichier
      Workbooks(Wk.Name).Activate
      For i = 3 To 10000
      If IsEmpty(Workbooks(Wk.Name).Sheets(1).Cells(i, 3)) Then Exit For
      For j = 2 To 34
      ThisWorkbook.Sheets(1).Cells(v, j) = Workbooks(Wk.Name).Sheets(1).Cells(i, j)
      Next j
      v = v + 1
      Next i
      ActiveWorkbook.Close SaveChanges:=False
      End If
      End If
      Next

      For i = v To 10000
      If IsEmpty(ThisWorkbook.Sheets(1).Cells(i, 3)) Then Exit For
      For j = 2 To 34
      ThisWorkbook.Sheets(1).Cells(v, j) = ""
      Next j
      Next i

      ThisWorkbook.Activate

      End Sub


      Le message d'erreur :

      >>>>>>erreur d'execution "1004"
      erreur définie par l'application ou par l'objet<<<<<<

      Le probleme se situe à la ligne :

      <gras>ThisWorkbook.Sheets(1).Cells(v, j) = Workbooks(Wk.Name).Sheets(1).Cells(i, j)

      Merci de m'aider car c'est ma place qui est en jeu :)
      0
      1. Modérateur
        Bonjour,
        Si le fichier est confidentiel, merci tout de même de :
        1- nous donner le message d'erreur entier
        2- nous donner le code en entier.
        0
        1. le probleme c'est que c'est un fichier tres confidentiel et mon patron n'accepte pas ca :(
          0
          1. envoi ton fichier via cjoint.com et donne le lien donné ici
            0