Excel 2003

j.sparo83 Messages postés 109 Statut Membre -  
j.sparo83 Messages postés 109 Statut Membre -
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. Lentz
     
    envoi ton fichier via cjoint.com et donne le lien donné ici
    0
  2. j.sparo83 Messages postés 109 Statut Membre
     
    le probleme c'est que c'est un fichier tres confidentiel et mon patron n'accepte pas ca :(
    0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  4. j.sparo83 Messages postés 109 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. j.sparo83 Messages postés 109 Statut Membre
     
    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