|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 98 ![]() |
Bonjour a tous,
Est ce quelqu'un saurait comment faire pour copier les données d'une colonne, d'une année à l'autre. En colonne A j'ai des dates du 1er Janvier 2011 à l' "infini". J'aimerais copier les données qu'il y a sur la colonne A du 1er Janvier 2011 au 31 Décembre 2011, toujours sur la colonne A mais du 1er Janvier 2012 au 31 Décembre 2012. Et c'est là que ça se complique je voudrais le généraliser. Si je lance ma macro en 2012, il devrait copier les données de 2011 sur 2012. Si je lance ma macro en 2013, il devrait copier les données de 2012 sur 2013. Je ne sais pas si c'est claire. Rien qu'en l'énonçant, ça me parait infaisable !!!!!! Quelqu'un aurait t-il une solution à me proposer ? Trés cordialement. |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Michael Ingénieur qualité méthodes Inscription : octobre 2010 Messages : 200 ![]() |
Bonjour,
Je pense que c'est possible, mais pour moi j'aurais besoin de plus d'information. Peux tu mettre une photo de ton fichier ou ton fichier directement pour que je puisse regarder |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 98 ![]() |
Merci de ta réponse
Excuse moi je viens à peine de la voir. Voila le fichier test. Il y a des dates en colonne A. Et de données en fonction des dates en colonne B. Le tout sur l'année 2010. Merci de ton aide. Trés sincèrement. |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Essaie ce code, il fonctionne si les dates sont toujours dans l'ordre :
Code :
|
||
|
|
10
|
|
|
#5 | ||
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 98 ![]() |
Merci beaucoup, cela fonctionne parfaitement bien.
C'est géniale. ![]() Est ce que ce serait possible que tu m'explique un peu le code. Je ne comprends pas bien le fonctionnement. Excuse moi. Cela ne marche que de 2010 à 2011 où puis je le généraliser ? Trés Cordialement. Je crois comprendre. Je ne peux pas le généraliser, mais si je souhaite copier de 2011 à 2012 il me suffit de modifier, de la sorte : Code :
C'est ça? Excuse moi, je ne sais pas encore trés bien coder. Cordialement. |
||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Ca marchera pour n'importe quelle année, pourvu qu'elle soit dans ta colonne. Voici quelques explications :
Code :
|
||
|
|
10
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 98 ![]() |
Merci infiniment.
Et merci aussi pour les explications. Mais j'ai juste une dernière question. Je n'avais pas pensé aux année bissextiles. Je ne suis pas sur d'avoir compris. Est ce que cela est traité (ie : les données sont copiées sur 365 jours au lieu de 366), ou est ce que si l'année est bissextile la macro ne fonctionne pas? De plus je suis sotte effectivement il faut que je saute les week end, il faut que ça copie et décale sur jours ouvrés. Exemple : si ça tombe un dimanche il faut que ça copie à vendredi d'avant.`` Pffffff!!!!! Je suis sotte. J'avais même pas pensé à cela, ce sont tes commentaires sur le code qui m' y ont fait penser. Merci encore de m'aider. Trés sincèrement. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Alors comme tu as pu le voir, si je suis par exemple au 30 octobre 2011, je vais voir si le 30 octobre 2012 existe et je recopie la valeur.
Si tu veux recopier 2012 dans 2013, la macro va marcher mais effectivement la valeur du 29 février 2012 ne sera recopiée nulle part car il n'y a pas de 29 février 2013. Maintenant, si tu veux enlever les WE de ta liste de date, ça va se compliquer. Avec le code actuel, tu vas perdre beaucoup de valeurs. Il faut donc l'adapter mais il faut d'abord que tu décides ce qu'il faut faire (sans parler de programmation). Si tu te contentes de revenir au vendredi si c'est un WE, d'autres problèmes vont se poser (arrivé au dimanche, tu vas écraser la valeur du samedi qui aura écrasée la valeur du vendredi). Je ne peux pas t'aider sur ce point vu que je ne sais pas quel est le but de ton fichier et à quoi correspondent les chiffres de la colonne B. |
|
|
10
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 98 ![]() |
Merci beaucoup ZebreLoup.
As ton avis serait t-il possible de copier les valeurs mais sans impliquer les dates? C'est a dire par exemple chercher la ligne correspondante au 1er Janvier de l'année précédente. Exemple : la ligne 5. Puis de copier les 365 lignes suivantes pour une année normale. Exemple : les lignes 5 à 370. De cette manière seront copier toutes les données non ? Trés cordialement. |
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
C'est plus simple dans ce cas, sauf pour les années bissextiles, mais le mieux c'est peut-être de ne pas afficher les 29 février du coup ?
Code :
|
||
|
|
10
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 98 ![]() |
Merci infiniment ZebreLoup.
T'es génial. C'est parfait. Je vais faire de la sorte, tu as raison. Inutile de prendre compte les dates pour la copie-colle. Mais est ce que tu aurais une idée de la manière dont je pourrais gérer les week end après avoir copier coller le tout. Penses tu qu'il serait possible de balayer cette plage et de décaler les données qui seraient sur les samedis et Dimanches ou est ce une tâche impossible ? Encore merci de ton aide. Je te pose beaucoup de question, et ça doit te mettre un certain temps de te poser sur mes problématiques. Merci beaucoup de m'accorder autant d'aide et autant de temps. Trés cordialement. |
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Pas de problème, c'était une semaine un peu "creuse" au boulot ! Par contre, je vais avoir moins de temps maintenant.
Tu peux essayer de regarder le premier code que je t'avais fourni. Si tu comprends bien en détail tout ce qu'il fait et que tu lis quelques tutos VBA, tu pourras l'adapter à ce que tu veux faire facilement. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com