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

Coller une plage copiée !

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

A

Agty

Guest
Bonjour à tous,
Grâce à des messages précédents, j'ai pu sélectionner une colonne d'un tableau Excel. Je souhaite coller cette colonne dans une autre feuille Excel que j'ai activé et ça ne marche pas. J'ai beau essayer des "paste" dans tous les sens, ça ne marche pas. Quelqu'un(e) peut-il/elle m'aider ?
Voici le bout de programme que j'ai fait !
Merci d'avance !

Worksheets("Climat").Activate
Columns(1).Copy
Workbooks.Open Filename:="L:\...\apprentis2.xls"
Worksheets("feuil1").Activate
Range("A1").Select
Selection.Paste
 
Bonjour Agty, le Forum

Essaie plutôt comme ceci :

Sub CopierColonne()
Workbooks.Open Filename:="L:\...\apprentis2.xls"
ThisWorkbook.Worksheets("Climat").Columns(1).Copy _
Workbooks("apprentis2.xls").Worksheets("feuil1").Range("A1")
End Sub

Bon Appétit
@+Thierry
 
Super Merci à Thierry,
J'ai adapté ta procédure et elle marche !
La prochaine étape est de copier une colonne identifiée par l'entête de la colonne (première cellule de chaque colonne) car ma feuille Excel a plusieurs séries. Cela suppose que je puisse écrire un code qui affiche toutes les séries de la feuille Excel afin de choisir celle qui m'intéresse. Je commence à regarder ça et je poste la question sur le forum vraisemblablement demain matin !
Agty
 
Re Bonjour Agty, le Forum

Oh j'imagine déjà ta demande, je l'ai eu souvent à traîter. Si tu n'as pas énormément de colonnes une petite boucle For Each Cell devrait te convenir comme ceci :

Sub ColonneIdentifier()
Dim TheHeading As String
Dim TheHeaders As Range
Dim Cell As Range
Dim Col As Byte, Found As Byte

TheHeading = "Toto"

Set TheHeaders = Workbooks("apprentis2.xls").Worksheets("feuil1").Range("A1:Z1")

For Each Cell In TheHeaders
If UCase(Cell.Value) = UCase(TheHeading) Then
Col = Cell.Column
Found = Found + 1
End If
Next

If Found = 0 Then MsgBox "Pas de " & TheHeading
If Found = 1 Then MsgBox TheHeading & " correspond à la Colonne " & Col
If Found > 1 Then MsgBox "Attention plusieurs Colonnes contiennent " & TheHeading

End Sub


Bien Sur il faudra intégrer le code plus haut dans le If Found = 1 avec une instruction comme ceci :

If Found = 1 Then
Workbooks.Open Filename:="L:\...\apprentis2.xls"
ThisWorkbook.Worksheets("Climat").Columns(Col).Copy _
Workbooks("apprentis2.xls").Worksheets("feuil1").Range("A1")
End If

Bonne Après Midi
@+Thierry
 
Bonjour Thierry et les autres,
Merci déjà pour ton initiative d'hier qui m'a fait un peu avancer. Je sais maintenant copier et coller les colonnes d'un feuille Excel d'un fichier dans une autre feuille Excel d'un autre fichier. Le problème avec ton programme ci-dessus est qu'il faut connaître le nom de la série à copier (le fameux TheDeading="Toto"). Or je voudrais afficher toutes les séries afin que l'utilisateur prenne connaissance de ces séries et choississe dans la liste affichée la série à copier. Les tentatives d'adaption de ton programme ne m'ont pas encore permis de réussir cela. Toi ou quelqu'un d'autre a une idée ?
Merci d'avance.
Agty
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
727
Réponses
17
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…