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

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…