[VBA] Copier ligne d'une feuille à une autre

Fermé
vd94 - 4 nov. 2009 à 09:58
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 4 nov. 2009 à 13:56
Bonjour,

Voila je débute dans la programmation.
Je bidouille un peu pour écrire les lignes de programme mais la je suis bloquer depuis hier sans comprendre le problème.

Je souhaite copier certaine cellule d'une feuille de mon classeur vers une autre feuille.

Sheets("Base de données").Select
Range("B5:J8").Select
Selection.Copy
Sheets("EXISTANT").Select
Range("B19").Select
Selection.Insert Shift:=xlDown

Malheureusement, le programme bug avec une "Erreur d'exécution '1004', la méthode Select de la classe Range a échoué" sur la 2e ligne de code "Range("B5:J8").Select".

Quelqu'un peut m'éclairer??

Merci!
A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 748
4 nov. 2009 à 13:56
Bonjour,
C'est rageur, surtout qu'il n'y a pas d'erreur dans ce code...
Parfois Excel n'en fait qu'à sa tête. On peux changer Range("B5:J8") par ActiveSheet.Range("B5:J8") et ça lui suffit... Ahh l'informatique et ses mystères.
Toutefois, pour t'aider dans la suite de tes activités, il faut, tant que faire se peux, supprimer, bannir tous les Select de ton code VBA. Ton code devient donc :

Sheets("Base de données").Range("B5:J8").Copy 'je copie mon range
With Sheets("EXISTANT") 'dans la feuille existant
.Range("B19").Insert Shift:=xlDown 'j'insère ma "copie" dans le range B19 et tout le reste descent
End With 'fin du "dans ma feuille..."

Et tu verras cela fonctionne bien mieux et plus vite....
0