Besoin d'explication / copier-coller et select

mouftie

XLDnaute Junior
Bonjour,
Dans tous vos conseils, vous préconisez d’éviter les "select" à répétition.
J'ai lu quelque part qu'on ne peut sélectionner une cellule que sur la feuille active, du classeur actif.

Si je suis sur le Class1, que je copie une plage A1:C5 et que je veux coller les valeurs à partir de la 1ère cellule vide de la colonne B, de la feuille "Gpt" (qui n'est pas forcément la feuille active du classeur),du Class2 qui est ouvert.

Si après avoir coller, j'écrits :
HTML:
    Windows("Class2.xlsm").Activate
    Sheets("Gpt").Range("B1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
Application.CutCopyMode = False
J'ai un message d'erreur si la feuille Gpt n'est pas active
Je suppose que si j'écrits
HTML:
    Windows("Class2.xlsm").Activate
    Sheets("Gpt").Activate
    Range("B1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
Application.CutCopyMode = False
Cela fonctionnera mieux ; mais alors quand utilise-t'on ?
Code:
Windows("Class2.xlsm").Sheets("Gpt").Range("B1").Select
Quel intêret de mettre tout le chemin si on est déjà sur la bonne feuille ?
J'ai également du mal à savoir quand il faut utiliser Activate ou Select?

Après les explications, j'aimerai qu'on me dise comment faire plus simple et s'il est possible de coller les valeurs pour éviter de refaire le format après Paste.

Un grand merci d'avance à celui qui aura la patience de tout m'expliquer...
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Besoin d'explication / copier-coller et select

Bonsoir mouftie,

Essayez le code suivant (sans select, ni activation):
VB:
Sub Copier_Coller()
 Workbooks("Class1.xls").Sheets("Feuil1").Range("A1:C5").Copy
 Workbooks("Class2.xls").Sheets("GPT").Range("B1").End(xlDown).Offset(1).PasteSpecial Paste:=xlPasteValues
 Application.CutCopyMode = False
End Sub

nb: les cas spéciaux où la colonne B ne contient aucun élément, qu'un seul élément en B1 ou bien où la colonne B est pleine ne sont pas traités.
 

Pièces jointes

  • Class1.xls
    33 KB · Affichages: 38
  • Class2.xls
    18.5 KB · Affichages: 40
  • Class1.xls
    33 KB · Affichages: 39
  • Class2.xls
    18.5 KB · Affichages: 40
  • Class1.xls
    33 KB · Affichages: 40
  • Class2.xls
    18.5 KB · Affichages: 45
Dernière édition:

bouchet2

XLDnaute Nouveau
Re : Besoin d'explication / copier-coller et select

Je cherche sans résultat de traduire en VBA de coller une plage d'un tableau Excel en WORD texte et ensuite appliquer la fonction remplacer.

A la main ca marche
copier sur Excel
collage spécial dans Word choisir texte sans mise en forme
coller sur la page Word

appliquer plusieurs remplacer
comme
supprimer marque de paragraphe par rien
supprimer marque tabulation par rien

remplacer le sigle / que j'ai introduit a certains endroit de mon tableau par « a la ligne »
J’ai le texte que je désire et bien présenté.
J’ai beau essayé je suis bloqué sur collage spécial

Merci d'avance

jean Bouchet
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 072
Membres
103 455
dernier inscrit
saramachado