Selectioner une colonne et la copier dans une feuille à l'aide d'une macro

Patagrumpf

XLDnaute Nouveau
Bonsoir à tous et toutes,
Je suis un débutant et j'essaie de réaliser la macro suivante :
Dans une feuille appelée "Original", je sélectionne une colonne que je désire copier à l'aide d'une question et je copie la colonne sélectionnée dans une feuille appelée "Sélection".
Je rencontre un problème d'incompatibilité de type au niveau de la ligne
Columns("Macolonne").Select

La macro est la suivante :
Sub Sélection()
' Sélection Macro
Dim MaColonne As Range
Sheets("Original").Activate
Set MaColonne = Application.InputBox("Choisissez la colonne à imprimer", "Choix colonne", "Original!A1", 160, 50, , , 8)
MsgBox ("Vous avez sélectionné la colonne " & MaColonne.Address)
Columns("Macolonne").Select
Selection.Copy
Sheets("Sélection").Select
Columns("A:A").Select
ActiveSheet.Paste

End Sub

Pourriez-vous m'aider à résoudre ce problème ?
 

skoobi

XLDnaute Barbatruc
Re : Selectioner une colonne et la copier dans une feuille à l'aide d'une macro

Bonsoir PAtagrumpf, bienvenue sur XLD,

Comme MAColonne est un objet range il faut traiter cette variable comme un .... Range:
Code:
Macolonne.Select
Et pour éviter les "Select" inutile, remplace ceci:

Code:
Macolonne.Select
    Selection.Copy
    Sheets("Sélection").Select
    Columns("A:A").Select
    ActiveSheet.Paste
par celà:
Code:
Macolonne.Copy Sheets("Sélection").Columns("A:A")
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : Selectioner une colonne et la copier dans une feuille à l'aide d'une macro

Salut Patagrumpf
Bonsoir Skoobi
Bonsoir le Forum
voila ce que j'ai modifié
Code:
Sub Sélection()
' Sélection Macro
Dim MaColonne As [COLOR=Red]Byte[/COLOR]
With Sheets("Original")
   .Activate
 MaColonne = Application.InputBox("Choisissez la colonne à imprimer", "Choix colonne", "1", 160, 50, , , 1) '[COLOR=DarkGreen]ici on récupéré le numéro de la colonne à copier[/COLOR]
MsgBox ("Vous avez sélectionné la colonne " & MaColonne)
  .Columns(MaColonne).Copy '[COLOR=DarkGreen]on la copie[/COLOR]
End With
With Sheets("Sélection")
   .Select
   .Columns("A:A").Select
ActiveSheet.Paste  'on la colle
End With
Application.CutCopyMode = False
End Sub
Bonne fin de soirée
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 107
dernier inscrit
cdel