Excel - Erreur 1004
Résolu
Alex_Mansion82
Messages postés
421
Statut
Membre
-
Alex_Mansion82 Messages postés 421 Statut Membre -
Alex_Mansion82 Messages postés 421 Statut Membre -
Bonjour,
Voila je travaille actuellement sur un code VBA que je n'ai pas écrit, et je retrouve avec une erreur d'exécution 1004 lorsque le code s'exécute.
Voici le code :
Windows("FREQUENTATIONS DECHETERIES 2010.xls").Activate
'Copie la zone B1=>B6 de la feuille formulaire
Worksheets("Formulaire").Range("B1:B6").Copy
'Selectionne la premiere cellule vide au bas de la colonne A
Sheets("Base de données").Select
Range("A1").End(xlDown).Offset(1, 0).Select
Le programme plante sur la dernière ligne : Range("....... , avec un joli code 1004 : erreur définie par l'application ou par l'objet.
Est ce que quelqu'un y verrait une solution parce que là, j'avoue que je sèche :(
Voila je travaille actuellement sur un code VBA que je n'ai pas écrit, et je retrouve avec une erreur d'exécution 1004 lorsque le code s'exécute.
Voici le code :
Windows("FREQUENTATIONS DECHETERIES 2010.xls").Activate
'Copie la zone B1=>B6 de la feuille formulaire
Worksheets("Formulaire").Range("B1:B6").Copy
'Selectionne la premiere cellule vide au bas de la colonne A
Sheets("Base de données").Select
Range("A1").End(xlDown).Offset(1, 0).Select
Le programme plante sur la dernière ligne : Range("....... , avec un joli code 1004 : erreur définie par l'application ou par l'objet.
Est ce que quelqu'un y verrait une solution parce que là, j'avoue que je sèche :(
Configuration: Windows XP Firefox 3.5.7
2 réponses
-
Salut,
Peut être que tu n'as, pour l'instant, aucune valeur en colonne A Feuille base de données... Du coupRange("A1").End(xlDown).Offset(1, 0).SelectVBA ne peux pas...
Plusieurs choix :
1- tu ne passes pas par "xlDown" mais par "xlUp" :
Range("A65536").End(xlUp).Offset(1, 0).Select
2- Soit tu ajoutes en A1 un titre et test la cellule A2 :
[A1] = "TITRE" If Range("A2") = "" Then Range("A2").Select Else Range("A1").End(xlDown).Offset(1, 0).Select End If
Essaye d'éviter les "select" qui ralentissent l'exécution des macros. Pour copier/coller, préférer la méthode :
range(source).copy range(destination)
Cela donnerait dans ton cas :
Worksheets("Formulaire").Range("B1:B6").Copy Sheets("Base de données").Range("A65536").End(xlUp).Offset(1, 0) -
Okay en appliquant la solution 1, mettre xlUp au lieu de xlDown, ca fonctionne.
J'ai pas spécialement compris pourquoi vu que le programme marchait correctement la semaine dernière mais ca me va ;)
Merci pour la solution.