Copier une colonne vers une autre feuille

Bonjour,

Etant novice dans la programmation VBA, je souhaiterai avoir votre aide.

Je souhaiterai couper une colonne selectionnée grace à une inputBox soit A ou B ou C ou D de la feuille 2 et la collé sur la feuille 1, a la suite des colonnes detectées ayant des données

Ex : feuille 2 on choisit la colonne D

Feuille 1 colonne A et B remplis

Donc je souhaiterai couper la colonne D de la feuille 2 et la collé à la suite de la feuille 1 c’est-à-dire à la colonne C vu qu’il y a déjà des données à la colonne A et B

j'ai ecrit un programme mais il me semble qu'il ne soit pas adapté à l'écriture VBA

Sub Feuille2 ()

'Message Box

Dim i, z

z = InputBox(" Saisir le N° de colonne (de A à D) ")

If z = "A" Or z ="B" Or z ="C" Or z ="D" Then

Range("z").Select

Selection.Copy

Sheets("Feuille1").Select

Range("?????").Select

Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

ActiveSheet.Paste

End If

End Sub

En vous remerciant par avance pour votre aide!

Cordialement

Bonjour

A tester

Macro à exécuter à partir de la page "Feuill2"

Sub Feuille2()
'Message Box
Dim Z As String

  Z = UCase(InputBox(" Saisir le N° de colonne (de A à D) "))
  If Z = "A" Or Z = "B" Or Z = "C" Or Z = "D" Then
    Application.ScreenUpdating = False
    Columns(Z).Copy
    With Sheets("Feuille1").Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1)
      .PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
                    SkipBlanks:=False, Transpose:=False
      .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                    SkipBlanks:=False, Transpose:=False
    End With
    Application.CutCopyMode = False
  End If
End Sub

Merci pour ta réponse rapide banzai

mais j'ai un message d'erreur qui s'affiche, je l'ai surligner en rouge

Sub Feuille2()

'Message Box

Dim Z As String

Z = UCase(InputBox(" Saisir le N° de colonne (de A à D) "))

If Z = "A" Or Z = "B" Or Z = "C" Or Z = "D" Then

Application.ScreenUpdating = False

Columns(Z).Copy

With Sheets("Feuille1").Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1)

.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

End With

Application.CutCopyMode = False

End If

End Sub

Pour recapituler schématiquement afin d'avoir aucune ambiguité je souhaiterai avoir cela

Feuille 2

A B C D

objet A 1 2 3 4

Objet B 1 2 3 4

si je choisie la colonne B

cela coupe la colonne B soit

Feuille 2

A C D

objet A 1 3 4

Objet B 1 3 4

et cela colle l'information à la suite des colonnes de la feuille 1

cad ttjrs la derniere colonne de la feuille 1 quelque soit le nombre de colonne remplie

exemple

Feuille 1

A B C D B

objet A 1 2 3 4 2

Objet B 1 2 3 4 2

ou

Feuille 1

A B C D E F B

objet A 1 2 3 4 5 6 2

Objet B 1 2 3 4 5 6 2

Bonjour

niakoloko a écrit :

mais j'ai un message d'erreur qui s'affiche

C'est bien mais lequel message ?

Il faut un fichier ayant la même structure que ton fichier réel

oui pardon

Sub Feuille2()
'Message Box
Dim Z As String

 Z = UCase(InputBox(" Saisir le N° de colonne (de A à D) "))
 If Z = "A" Or Z = "B" Or Z = "C" Or Z = "D" Then
 Application.ScreenUpdating = False
 Columns(Z).Copy
 With Sheets("Feuille1").Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1)
 .PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
 SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
 SkipBlanks:=False, Transpose:=False
 End With
 Application.CutCopyMode = False
 End If
End Sub

Bonjour

A tester

Merci énormément Banzai!c 'est exactement ce que je souhaitais avoir!je l'ai transféré au sein de mon fichier cependant lorsque je lance le programme, un message d'erreur apparaît sur cette partie du code surligner en jaune :

  .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                    SkipBlanks:=False, Transpose:=False

J'ai un message d'erreur 'indiquant que les cellules fusionnées doivent être de taille identique,

j'ai donc dimensionné mes cellules à la même hauteur et à la même largeur mais ca ne marche toujours pas.. cela peut etre du à quoi?

Bonjour

A copier en Value (valeur) les cellules fusionnées sont une plaie

Refais tes tableaux sans cellules fusionnées

Joins ton fichier si je trouve (pas sur) une solution

Bonjour Banzai,

Donc oui, j'ai rajouté un code afin de defusionner mes cellules de la

colonne F à AA mais le code ne souhaite pas fonctionné..de plus ce qui me

parait bizarre c'est que je n'ai aucune cellule fusionnée à partir de ces

colonnes..peut eter que cela est du aux dimensions de mes cellules?

Je voulais également te demander , j'ai créé un bouton sur ma feuille

Affectation, qui a pour but de supprimer la colonne choisie( de F à AA)

Cependant chacunes de ses colonnes sont liées à une autre colonne C via une

formule permettant de calculer mes entrées et sorties de stock, est il

possible de supprimer ses colonnes selectionnées tout en gardant en mémoire

les données du stock?

ex :

Colonne C (stock)

19

Colonne F

1

resultat attendu

Colonne C

19

Colonne F

0

Bonsoir

A tester

Rechercher des sujets similaires à "copier colonne feuille"