Copier coller une colonne

maval

XLDnaute Barbatruc
Bonsoir

Sur ma feuille Liste j'ai 5 colonnes rempli par continent à l'aide ma liste deroulante j'aimerais suivant le choix de la liste deroulante copier dans l'onglet "liste " la colonne choisis et la coller dans l'onglet "Modele" en "A

Je vous remercie d'avance
 

Pièces jointes

  • Copier Colonne.xlsm
    13.2 KB · Affichages: 29

Staple1600

XLDnaute Barbatruc
Bonjour à tous

Une macro qui semble fonctionner (mais qui reste à interfacer avec la liste en E2)
VB:
Sub a()
Dim colX As Long
colX = Application.Match(Sheets("Modele").[e2], Array("Afrique", "Amérique", "Asie", "Europe", "Océanie"), 0)
Sheets("Liste").Columns(colX).SpecialCells(xlCellTypeConstants, 2).Copy Sheets("Modele").[A3]
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Une autre piste (en mettant le code dans la feuille Modele)
VB:
Private Sub Worksheet_Change(ByVal T As Range)
If T.Address = "$E$2" Then
Sheets("Liste").Columns(Switch(T = "Afrique", 1, T = "Amérique", 2, T = "Asie", 3, T = "Europe", 4, T = "Océanie", 5)).SpecialCells(xlCellTypeConstants, 2).Copy Sheets("Modele").[A3]
End If
End Sub
Test Ok, la copie se refait bien quand on active la liste en E2
 

Staple1600

XLDnaute Barbatruc
Re

maval
Dans ce cas , pourquoi aurais-je écrit ?
Test Ok, la copie se refait bien quand on active la liste en E2
Je confirme que le second code fonctionne (la preuve en image)
maval.jpg

Je l'ai testé sur ton fichier exemple.
C'est donc simplement que tu n'arrives pas à le faire fonctionner.
Ce qui n'est pas la même chose que :" le second code ne fonctionne pas"
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Un autre essai, avec le code suivant (onglet "Modele").

VB:
Option Explicit
Private Sub Worksheet_Change(ByVal c As Range)
    If c.Address = "$E$2" Then
        Columns(1).Clear
        With Sheets("Liste")
            .Rows("1:1").SpecialCells(xlCellTypeConstants, 23).Find(what:=Sheets("Modele").Range("e2")).EntireColumn.SpecialCells(xlCellTypeConstants, 23).Copy Destination:=Sheets("Modele").Range("a1")
        End With
    End If
End Sub

A bientôt :)
 

Staple1600

XLDnaute Barbatruc
Re

Merci 00 ;)
Re-bonjour,
Oui, je le confirme : concis + parfaitement fonctionnel sur mon poste
( manque, cependant, la suppression des valeurs présentes en colonne a).
A bientôt.
C'est vrai, mais maval pourra utiliser ton code qui lui a prévu la suppression en lieu et place du mien qui ne fonctionne pas (selon maval) ;)

Il pourrait aussi amender mon code en y ajoutant ta ligne VBA de suppression
(mais connaissant les us et coutumes de maval, j'y crois pas trop)
 

maval

XLDnaute Barbatruc
Bonjour doublezero, JM

Je vous remercie sa fonctionne Nickel.
Et mille excuse à notre amis JM que je lui avait dit que sa ne fonctionner pas
j'ai adapter ton code avec la ligne de suppression de doublezero
Merci et bonne journée
 

Discussions similaires

Réponses
3
Affichages
352

Statistiques des forums

Discussions
314 203
Messages
2 107 177
Membres
109 766
dernier inscrit
pleutre