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

Lentz
 
envoi ton fichier via cjoint.com et donne le lien donné ici
0
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
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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