stephsteph
XLDnaute Occasionnel
Bonjour à tous,
Et tout d’abord mes meilleurs vœux à tous ceux qui font vivre ce forum par leur dévouement et leur aide !
J’ai une macro qui marchait avant et qui bugge maintenant avec le message d’erreur suivant
Erreur d’exécution ‘1004’
Erreur définie par l’application ou par l’objet
à la ligne .Range("A2").Resize(UBound(Tbl, 1), UBound(Tbl, 2)) = Tbl
La macro est une série d’opérations simples qui se répètent 9 fois pour créer des fichiers csv.
Ce qui m’étonne énormément c’est que les 3 premières fois çà marche comme avant, et quand il arrive à la 4ème série il plante.
Une série est de type, et en particulier la 4ème série est (les seules différences entre les séries sont le nom du fichier blabla de 1 à 9 et bien sûr la liste des colonnes sélectionnées dans array
La seule différence entre les séries c’est bien la sélection des colonnes et je n’ai rien changé.
J’ai regardé les colonnes 78 à 96 dans le fichier de départ et rien ne semble avoir changé !
Qu’en pensez-vous ? Des pistes ?
Merci d’avance
Steph
Et tout d’abord mes meilleurs vœux à tous ceux qui font vivre ce forum par leur dévouement et leur aide !
J’ai une macro qui marchait avant et qui bugge maintenant avec le message d’erreur suivant
Erreur d’exécution ‘1004’
Erreur définie par l’application ou par l’objet
à la ligne .Range("A2").Resize(UBound(Tbl, 1), UBound(Tbl, 2)) = Tbl
La macro est une série d’opérations simples qui se répètent 9 fois pour créer des fichiers csv.
Ce qui m’étonne énormément c’est que les 3 premières fois çà marche comme avant, et quand il arrive à la 4ème série il plante.
Une série est de type, et en particulier la 4ème série est (les seules différences entre les séries sont le nom du fichier blabla de 1 à 9 et bien sûr la liste des colonnes sélectionnées dans array
Code:
LigneDebut = 13
MesColonnes = Array(78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96)
'Chemin = ThisWorkbook.Path & "\" 'si les fichiers sont dans le même dossier ou si autre dossier "C:\MonDossier\MonSousDossier\"
Chemin = "D:\_ \" 'si les fichiers sont dans le même dossier ou si autre dossier "C:\MonDossier\MonSousDossier\"
NomFichier = "blabla4.xlsx"
'***
Application.ScreenUpdating = False
Set WbSource = ThisWorkbook
With WbSource.Worksheets("xxxx")
Adr = DerCell(WbSource.Worksheets("xxxx")).Address
a = .Range("A" & LigneDebut, Adr)
End With
ReDim Tbl(1 To UBound(a, 1), 1 To UBound(MesColonnes) + 2)
For c = LBound(MesColonnes) To UBound(MesColonnes)
For L = 1 To UBound(a, 1)
Tbl(L, 1) = L
Tbl(L, c + 2) = a(L, MesColonnes(c))
Next L
Next c
Workbooks.Open Filename:=Chemin & NomFichier
Set WbDest = ActiveWorkbook
With WbDest.Worksheets("Feuil1")
L = .Range("A65536").End(xlUp).Row
.Range("A2:CZ" & L) = "" 'efface
.Range("A2").Resize(UBound(Tbl, 1), UBound(Tbl, 2)) = Tbl
End With
Windows("blabla4.xlsx").Activate
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Filename:="D:\_blabla4.csv", FileFormat:=xlCSV, local:=True, CreateBackup:=False
'WbDest.Close savechanges:=True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
'fin de routine
La seule différence entre les séries c’est bien la sélection des colonnes et je n’ai rien changé.
J’ai regardé les colonnes 78 à 96 dans le fichier de départ et rien ne semble avoir changé !
Qu’en pensez-vous ? Des pistes ?
Merci d’avance
Steph