Transfert de données en changeant de format sous VBA

Poussin

XLDnaute Occasionnel
Bonjour à tous,

Je souhaite transférer une colonne d'un onglet vers une colonne d'un autre onglet en changeant le format des données.

Actuellement je recopie à l'identique le contenu de la cellule de la façon suivante :

Code:
    Worksheets("Feuil2").Range("A" & xf2lg).Copy Worksheets("Feuil3").Range("A" & xf2lg - 1)

Voilà ce que je souhaiterais maintenant faire avec les données Date. Le format de la colonne de l'onglet 1 est 30/06/2007 je voudrais donc ne prendre en compte que l'année et ainsi que la colonne de l'onglet 2 soit 2007.

Merci de votre aide.

Cordialement
 

Poussin

XLDnaute Occasionnel
Re : Transfert de données en changeant de format sous VBA

Mercii Jean-Marcel pour ta réponse.

Je n'arrive pas à mettre seulement 2007 quand je transfère la colonne. De plus le format personnalisé mmmm ne fonctionne pas que dois-je faire.

Encore merci pour ton aide.
 

Poussin

XLDnaute Occasionnel
Re : Transfert de données en changeant de format sous VBA

En effet j'importe les données depuis un autre fichier Excel cependant je dois retraiter ces données importées et je dois pour la Date ne retenir que l'année or la date d'origine est DD/MM/AAAA et je veux la faire passer en AAAA.

Encore merci.
 

Poussin

XLDnaute Occasionnel
Re : Transfert de données en changeant de format sous VBA

Je ne comprends pas. Il m'est impossible de changer les données que j'importe voici mon fichier.

Merci pour vos réponses et votre aide.
 

Pièces jointes

  • test.xlsm
    58.5 KB · Affichages: 44
  • test.xlsm
    58.5 KB · Affichages: 48
  • test.xlsm
    58.5 KB · Affichages: 43

Si...

XLDnaute Barbatruc
Re : Transfert de données en changeant de format sous VBA

Salut

il suffit de rajouter la seconde ligne :
Code:
Worksheets("Feuil2").Range("A" & xf2lg).Copy Worksheets("Feuil3").Range("A" & xf2lg - 1)
Worksheets("Feuil3").Range("A" & xf2lg - 1) = Year(Worksheets("Feuil3").Range("A" & xf2lg - 1))
pour alléger le code, tu peux te contenter d'expressions du genre
Code:
Range("Tableau[[#Headers],[Colonne1]]").ActiveCell = "Date"
 

Poussin

XLDnaute Occasionnel
Re : Transfert de données en changeant de format sous VBA

Merci merci beaucoup ça fonctionne nickel j'en profite pour te demander une question à laquelle je n'avais pas eu de réponses

Je voudrais obtenir l'image suivante automatiquement c'est à dire qu'avec VBA je crée 3 TCD et ainsi pour l'un j'applique le champ 2007, l'autre 2008 et l'autre 2009. Comment faut-il coder ceci ou y-t-il une autre solution comme par exemple ne créer qu'un seul TCD.

Après je récupère les données dans un nouvel onglet qui me donnera les caractéristiques par année. Pour finir je compte sauvegarder ce dernier onglet récapitulatif en fichier PDF.

Encore merci à toi cela me permet d'avancer rapidement.
 

Pièces jointes

  • Capture.jpg
    Capture.jpg
    16.4 KB · Affichages: 46
  • Capture.jpg
    Capture.jpg
    16.4 KB · Affichages: 47
  • Capture.jpg
    Capture.jpg
    16.4 KB · Affichages: 48

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 085
Membres
103 116
dernier inscrit
kutobi87