[VBA] Copier ligne d'une feuille à une autre
vd94
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
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!
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:
- [VBA] Copier ligne d'une feuille à une autre
- Comment copier une vidéo youtube - Guide
- Partager photos en ligne - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
- Aller à la ligne dans une cellule excel - Guide
- Mètre en ligne - Guide
1 réponse
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....
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....