Coller une plage copiée !

  • Initiateur de la discussion Agty
  • Date de début
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
 
@

@+Thierry

Guest
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
 
A

Agty

Guest
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
 
@

@+Thierry

Guest
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
 
A

Agty

Guest
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
 

Discussions similaires

Réponses
7
Affichages
449
Réponses
2
Affichages
705

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz