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

[RESOLU] Copier et insérer des cellules (sans Select)

dancar

XLDnaute Junior
Bonjour à tous,

Copier des cellules vers un autre classeur sans "Select" je sais faire, par exemple :
[A2:B2].Copy Workbooks("Essai.xlsm").Sheets("Feuil1").[A3]

Mais je ne trouve pas la syntaxe pour faire la même chose mais en insérant les cellules
sans passer par des "Select", genre :
[A2:B2].Copy.Insert shift:=xlDown Workbooks("Essai.xlsm").Sheets("Feuil1").[A3]

Cela n'est peut être tout simplement pas possible.

Quelqu'un a-t-il la solution ?

Bonne journée
 

Lone-wolf

XLDnaute Barbatruc
Bonjour dancar, le Forum

Si c'est un copié à la suite(dans cellules vides), quel interêt d'inserer une ligne??

[A2:B2].Copy Workbooks("Essai.xlsm").Sheets("Feuil1").Range("a" & Rows.count).End(xlUp)(2)

On met Insert si tu dois inserer une ligne entre deux ou x lignes pleines.
 

dancar

XLDnaute Junior
J'ai sans doute été trop simpliste dans ma demande.
Je veux copier des données des colonnes A et B d'un classeur et les insérer sous [A2:B2] de la Feuil1 du classeur Essai.
Avec un fichier ce sera mieux.
 

Pièces jointes

  • Essai.xlsm
    11 KB · Affichages: 24

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

Normalement pas besoin de spécifier le B3, non ?
VB:
Sub Macro1()
[A2:B2].Copy: Workbooks("Essai.xlsm").Sheets("Feuil1").[A3].Insert -4121
Application.CutCopyMode = False
End Sub
 

dancar

XLDnaute Junior
Bonjour le fil, le forum

Normalement pas besoin de spécifier le B3, non ?
VB:
Sub Macro1()
[A2:B2].Copy: Workbooks("Essai.xlsm").Sheets("Feuil1").[A3].Insert -4121
Application.CutCopyMode = False
End Sub

Merci Staple1600
Effectivement, pas utile de spécifier le B3, peux-tu me dire à quoi correspond -4121 car si je le remplace par Shift:=xlDown cela fonctionne aussi.
C'est un chiffre magique qui veut dire Shift:=xlDown ?
Y-a-t-il d'autres chiffres utile à connaître et qui ont une action spécifique.
Bonne journée
 

dancar

XLDnaute Junior
Pas d'accord: pas utile à connaitre puisqu'il existe chaque fois un nom de constante d'énumération mnémonique commençant par 2 lettres minuscules identifiant la bibliothèque (xl pour Excel, vb pour VBA etc)

Je suis d'accord et c'est plus explicite pour moi surtout que je n'ai que quelques notions de VBA.
Du coup je découvre que le ":" permet de mettre 2 instructions sur la même ligne de code, mais je vais éviter (pour ma lisibilité)

Encore merci à vous tous
 

Staple1600

XLDnaute Barbatruc
Re

@Dranreb
Pas de motivation particulière.
Ou peut-être...parce que parfois, on s'amuse comme on peut
On essaie de produire un code avec le moins de caractères possible, par exemple
(Je sais c'est futile, mais c'est là l'intérêt, dans le plaisir du non nécessaire )
-> cf mon fil dans le salon )

PS: je ne vois rien d'insidieux là dedans
 

Dranreb

XLDnaute Barbatruc
PS: je ne vois rien d'insidieux là dedans
Peut être y avait-il seulement quelque chose d'insidieux dans l'inconscient du premier a avoir fait cette énormissime connerie de remplacer les noms de constantes par leur valeurs, ce qu'il ne fallait surtout pas imiter, sous peine de passer, à mes yeux, pour un sale con parmi les pires moutons de Panurge, même si je ne le dis pas à chaque fois.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…