Erreur 1004 vba excel

Résolu/Fermé
moapremier Messages postés 21 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 26 mai 2011 - 4 févr. 2010 à 17:17
moapremier Messages postés 21 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 26 mai 2011 - 11 févr. 2010 à 14:32
Bonjour,

bon voila j'ai fait une macro et je dois sélectionner une cellule pour contrôler si elle vide où non.

j'utilise cette commande : Range(Cells(10, 2)).Select => là ça bug
quand j'utilise : Range("J2").Select => là ça passe :(
je peux pas utiliser la seconde méthode par ce que je souhaite l'introduire dans une boucle for.

voici tout le code

Private Sub transfert_Click()
Dim i, j As Double
Dim f, g As Double
Dim leer As Boolean

'======================= suchen die daten - recherche des données =======================
'control dass es ein datei gibt - contôle de présence de fichier
If classeur1 = vide Then Exit Sub
If classeur2 = vide Then Exit Sub

'öffnen der Datei .csv - ouverture du fichier .csv
Workbooks.Open Filename:=classeur1

'Kopieren die daten von der datei .csv - copier les données du fichier .csv
Cells.Select
Selection.Copy

'öffnen der Datei .xls - ouverture du fichier .xls
NameFichier = ActiveWorkbook.Name
Workbooks.Open Filename:=classeur2

'einfügen die daten in der datei .xls - coller les données dans le fichier .xls
Cells.Select
ActiveSheet.Paste

'schliessen die datei .csv - fermer le fichier.csv
Workbooks(NameFichier).Close

'konvertieren den string -> Koolonne - convertir les chaînes de caractère -> colonne
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, Semicolon:=True


'====================== Datenverarbeitung - traitement des données ======================

'Definit le nbr de ligne et de colonne de la liste
f = ActiveSheet.UsedRange.Columns.Count
g = ActiveSheet.UsedRange.EntireRow.Count

'leer = 1
'For i = 2 To 256
' link_xls.Text = i
' If Cells(10, 2) <> 0 Then
' leer = leer + 1
' link_csv.Text = leer
' End If
'Next

'If leer = 0 Then
Range(Cells(10, 2)).Select
'Range("J2").Select
If Selection = "" Then
Columns(10).Select
Selection.Delete
End If
End Sub


ps : j'en ai besoin pour un projet au boulot et j'utilise excel 2000, mais il bug aussi chez moi avec excel 2003.

En espérant que vous pourrez m'aider.
A voir également:

25 réponses

moapremier Messages postés 21 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 26 mai 2011 1
9 févr. 2010 à 09:29
j'ai trouvé cette erreur et je l'ai corrigé, voila où en est mon code :

Sub Tri()
Dim lastRow, lastCol As Integer

classeur2 = Application.GetOpenFilename
If classeur2 = Null Then Exit Sub
Workbooks.Open Filename:=classeur2
Sheets(1).Name = "zeitergeleitet"

lastRow = ActiveSheet.UsedRange.EntireRow.Count
lastCol = ActiveSheet.UsedRange.Columns.Count

Sheets(2).Activate
Sheets(2).Name = "new"

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"zeitergeleitet!R1C1:R" & lastRow & "C" & lastCol).CreatePivotTable TableDestination:="new!R1C1", TableName:="Tableau"

ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

ça a l'air de pas trop mal fonctionnait
0
moapremier Messages postés 21 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 26 mai 2011 1
9 févr. 2010 à 10:10
la prochaine étap est de définir les colonnes du tableau croisé de manière automatique, je vous préviens si j'ai un blocage
0
moapremier Messages postés 21 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 26 mai 2011 1
9 févr. 2010 à 16:18
J'ai un petit problème sans que je fasse de modification dans le code

l'erreur se produit dans cette cette formule :
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"zeitergeleitet!R1C1:R" & lastRow & "C" & lastCol).CreatePivotTable TableDestination:="new!R1C1", TableName:="Tableau"

j'ai fait des tests pour trouver d'où venait l'erreur et j'ai pu déterminer que c'est cette partie qui gène :
TableDestination:="new!R1C1" => errur 1004, la donnée n'est pas bonne
je sus presque sur qu'il s'agit de ce problème, si je remplace "new!R1C1", il le reconnait

je peux pas utiliser le "", car cela me provoque si je relance le programme avec le même fichier

Je pense aue après ça, il n'y aura plus de problème
0
moapremier Messages postés 21 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 26 mai 2011 1
10 févr. 2010 à 11:32
j'ai contourné le problème en procédant d'une autre manière :)
0

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

Posez votre question
moapremier Messages postés 21 Date d'inscription lundi 16 novembre 2009 Statut Membre Dernière intervention 26 mai 2011 1
11 févr. 2010 à 14:32
Jai eu toute les infos nécessaires consernant ces problèmes, je le mets donc comme étant résolu
0