Excel - Erreur 1004

Résolu/Fermé
Alex_Mansion82 Messages postés 370 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 24 octobre 2012 - 15 févr. 2010 à 14:10
Alex_Mansion82 Messages postés 370 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 24 octobre 2012 - 15 févr. 2010 à 14:45
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 :(
A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
15 févr. 2010 à 14:28
Salut,
Peut être que tu n'as, pour l'instant, aucune valeur en colonne A Feuille base de données... Du coup
Range("A1").End(xlDown).Offset(1, 0).Select 
VBA 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)
2
Alex_Mansion82 Messages postés 370 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 24 octobre 2012 94
15 févr. 2010 à 14:45
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.
0