Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Erreur 1004 sur VBA pour novice

PierreLeroux

XLDnaute Nouveau
Bonjour amis internautes,

Je commence tout juste le VBA, et me voici face à un problème au dessus de mes moyens. Le code suivant fonctionne sur les ordinateurs de mes collègues, mais chez moi après un temps d'execution assez long cela indique : erreur 1004. En mode execution pas à pas le code bug un moment avant d'indiquer l'erreur, et ce lors du passage à la ligne : .Refresh backgroundQuery:=False.
Avec excel 2016. J'ai recu ce code en editeur de texte, donc ça plante peut etre à cause de la façon dont je l'ai integrer à excel (en copiant collant dans la fenetre du mode developeur qui s'appelle par défaut ThisWorkBook, juste sous Feuil1)

Avez vous une idée d'ou ça peut venir ??
Merci pour toute infos !

Voici le code :

Sub Macro1()
'
' Macro1 Macro
'
'
Dim i As Integer
For i = 1 To 22


With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;Z:\R&D\Product development\bCores\Coating\peel test\raw data\171303 peel test\171303 peeling test" & i & ".TRA" _
, Destination:=ActiveSheet.Range("$A$1"))
.Name = "171303 peeling test" & i & ""
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False

ActiveSheet.Name = [C2].Value
End With

Sheets.Add



Next

End Sub
 

STephane

XLDnaute Occasionnel
Bonjour

Depuis chez toi, te connectes-tu sur le réseau de ta structure d'entreprise ?
La connexion de données fait référence à des données stockées sur le disque Z.
As-tu vérifié si tu as accès correctement au disque Z depuis chez toi ?

A part ça:
- le code ne semble pas erroné.
- sur quelle ligne s'interrompt l'exécution ?
- Il n'est pas nécessaire de mettre un tel code dans la feuille de code "ThisWorkbook". Tu peux copier ce code dans une feuille de code "Module" classique.
 

PierreLeroux

XLDnaute Nouveau
Bonjour STephane,
Oups effectivement je n'ai pas accès à ce serveur depuis chez moi.

En revanche le code s'arrete sur la ligne " .Refresh BackgroundQuery:=False ", donc à la fin du programme.

Je ne peux pas tester la macro sur le serveur ce week end, mais c'est déjà une avancée indispensable de savoir ça..
Je te remercie énormément pour ces réponses !
 

DOMINGUEZ

XLDnaute Nouveau
Bonjour,

je suis aussi pour ma par novice dans la matière .
J'ai une macro qui ne fonctionne pas car elle me met un message d'erreur d'execution 1004.
voilà le model de ma macro:

Sub insererLignes()
Dim derLig As Long, nbLig As Long, i As Long, j As Long, derCol As Long, car As Integer
derLig = Range("A" & Rows.Count).End(xlUp).Row
For i = derLig To 2 Step -1
derCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
nbLig = WorksheetFunction.Max(Range(Cells(i, 2), Cells(i, derCol)))
Rows(i + 1).Resize(nbLig).Insert shift:=xlDown
Cells(i, 1).Copy Destination:=Range(Cells(i + 1, 1), Cells(i + nbLig, 1))
For j = 2 To derCol
car = Cells(i, j)
If car <> 0 Then
If j = 3 Then
Range(Cells(i + 1, j), Cells(i + car, j)) = UCase(Left(Cells(1, j), 2))
Else
Range(Cells(i + 1, j), Cells(i + car, j)) = UCase(Left(Cells(1, j), 1))
End If
End If
Next j
Next i
End Sub

en rouge c la que j'ai mon code erreur d'execution 1004 je comprend pas pour quoi es que mon listing est tromp important?

Merci d'avance pour votr réponse.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…