Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Comment insérer (Insert Shift:=xlDown) sans Select ?

  • Initiateur de la discussion Initiateur de la discussion Sebast
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Sebast

XLDnaute Impliqué
Bonjour à toutes et à tous,

je bute sur un problème d'insertion de données avec l'instruction insert shift:=xlDown …

J'essaie de supprimer autant que possible les Select issus de l'enregistreur de macros mais je n'arrive pas à écrire l'instruction directe pour l'insertion.
Autant je connais la copie "directe" avec l'instruction.Copy Destination:= … du genre Sheets("Toto").range("A1").currentRegion.Copy Destination:=
autant je ne sais pas le faire pour de l'insertion de données (c'est-à-dire pour ne pas écraser les données existantes) donc je conserve un Select, dont j'aimerais bien me débarrasser

En pièce jointe un fichier simplifié avec le code

Qui a une idée comment écrire directement l'instruction d'insertion, sans passer par des Select ?

Merci d'avance
 

Pièces jointes

Re : Comment insérer (Insert Shift:=xlDown) sans Select ?

Bonsoir Sebast.


Essayez :
VB:
Sub Copier_insérer_3()
Sheets("Passage").Range("a1").CurrentRegion.Copy
With Sheets("Base")
  .Range("A2").Insert Shift:=xlDown
  .Rows(2).Delete
End With
End Sub
ou bien (plus rapide) :
VB:
Sub Copier_insérer_4()
With Sheets("Passage").Range("a1").CurrentRegion
  .Cells.Offset(1).Resize(.Rows.Count - 1, .Columns.Count).Copy
End With
Sheets("Base").Range("A2").Insert Shift:=xlDown
End Sub


Bonne nuit.


ℝOGER2327
#7121


Lundi 23 Décervelage 141 (Saint Tank, animal - fête Suprême Quarte)
1[SUP]er[/SUP] Pluviôse An CCXXII, 8,9272h - lauréole
2014-W04-1T21:25:31Z
 
Re : Comment insérer (Insert Shift:=xlDown) sans Select ?

Bonsoir Sebast,

Avec ce code?:
Code:
Sub Copier_insérer_2()
  Sheets("Passage").Range("a1").CurrentRegion.Copy
  Sheets("Base").Range("A2").Insert Shift:=xlDown
  Sheets("Base").Rows(2).Delete
End Sub

Edit: Bonsoir ROGER2327 🙂
 
Dernière édition:
Re : Comment insérer (Insert Shift:=xlDown) sans Select ?

Bonsoir Roger2327 et mapomme,

vos solutions fonctionnent et on le mérite de la lisibilité. Je n'avais pas pensé qu'on pouvait simplement écrire l'instruction d'insertion juste après la destination ...
Un grand merci pour votre aide

Bonne nuit
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
2 K
I
Réponses
5
Affichages
2 K
I
N
Réponses
5
Affichages
3 K
Nicocotte125
N
T
Réponses
1
Affichages
2 K
L
Réponses
1
Affichages
995
lilidxb
L
B
Réponses
2
Affichages
1 K
bepo08
B
M
Réponses
4
Affichages
1 K
michel90
M
P
Réponses
4
Affichages
1 K
pnombre
P
J
Réponses
2
Affichages
2 K
jerome25770
J
E
Réponses
1
Affichages
903
E
K
Réponses
0
Affichages
3 K
K
R
Réponses
0
Affichages
6 K
R
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…