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. le probleme c'est que c'est un fichier tres confidentiel et mon patron n'accepte pas ca :(
    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.
      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 :)
        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