Besoin d'explication / copier-coller et select

  • Initiateur de la discussion Initiateur de la discussion mouftie
  • 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 !

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...
 
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

Dernière édition:
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
 
- 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
3
Affichages
250
  • Question Question
Microsoft 365 Code VBA
Réponses
2
Affichages
590
Retour