Copier une colonne en fonction de la date
Fermé
bobox31
Messages postés
2
Date d'inscription
mercredi 7 septembre 2016
Statut
Membre
Dernière intervention
7 septembre 2016
-
7 sept. 2016 à 15:03
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 9 sept. 2016 à 19:47
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 9 sept. 2016 à 19:47
Bonjour,
Je suis nouveau sur VBA et je n'arrive pas à faire une macro.
Je m'explique :
Je souhaite que la macro recherche la date du jour en feuille 1 (mes dates sont sur la ligne 2), lorsqu'elle tombe sur le bon jour, il faudrait qu'elle copie les valeurs de la colonne 2 de la feuille 2 dans la colonne de la bonne date de la feuille 1.
N'hésitez pas à me poser des questions si jamais je ne suis pas clair.
Je ne sais pas si vous pourrez m'aider mais merci quand même par avance.
Je suis nouveau sur VBA et je n'arrive pas à faire une macro.
Je m'explique :
Je souhaite que la macro recherche la date du jour en feuille 1 (mes dates sont sur la ligne 2), lorsqu'elle tombe sur le bon jour, il faudrait qu'elle copie les valeurs de la colonne 2 de la feuille 2 dans la colonne de la bonne date de la feuille 1.
N'hésitez pas à me poser des questions si jamais je ne suis pas clair.
Je ne sais pas si vous pourrez m'aider mais merci quand même par avance.
A voir également:
- Copier une colonne en fonction de la date
- Déplacer une colonne excel - Guide
- Fonction si et - Guide
- Comment copier une vidéo youtube - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
3 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
7 sept. 2016 à 15:37
7 sept. 2016 à 15:37
Bonjour Bobox, bonjour le forum,
Ça manque un peu de précision...
• Rechercher une date en VBA peut s'avérer compliquer. Cela dépend de son format d'une part et aussi de la manière avec laquelle elle a été écrite. Manuellement ou par formule d'après une autre date.
Quel est le format des dates ? Est-il toujours le même ? Formules ou pas ?
• Quand tu dis copier la colonne 2 (=B) de l'onglet Feuille2 dans la colonne de la date, cela implique que ça va écraser la date en ligne 2... Ou alors tu veux copier/coller à partir de la ligne 3 ?
Ça manque un peu de précision...
• Rechercher une date en VBA peut s'avérer compliquer. Cela dépend de son format d'une part et aussi de la manière avec laquelle elle a été écrite. Manuellement ou par formule d'après une autre date.
Quel est le format des dates ? Est-il toujours le même ? Formules ou pas ?
• Quand tu dis copier la colonne 2 (=B) de l'onglet Feuille2 dans la colonne de la date, cela implique que ça va écraser la date en ligne 2... Ou alors tu veux copier/coller à partir de la ligne 3 ?
bobox31
Messages postés
2
Date d'inscription
mercredi 7 septembre 2016
Statut
Membre
Dernière intervention
7 septembre 2016
7 sept. 2016 à 16:08
7 sept. 2016 à 16:08
Bonjour,
J'ai tapé les dates à la main sur la feuille 1 => 01/01 en case c2, 02/01 en case d2....
Sur la feuille 2 j'ai mis la formule =aujourd'hui() en b2
Donc, imaginons qur nous sommes le 2 janvier, j'aimerai que la macro copie de b4 à b40 sur la feuille 2 pour le coller de d4 en d40 sur la feuille 1
J'espère avoir apporter les précisions demandes.
J'ai tapé les dates à la main sur la feuille 1 => 01/01 en case c2, 02/01 en case d2....
Sur la feuille 2 j'ai mis la formule =aujourd'hui() en b2
Donc, imaginons qur nous sommes le 2 janvier, j'aimerai que la macro copie de b4 à b40 sur la feuille 2 pour le coller de d4 en d40 sur la feuille 1
J'espère avoir apporter les précisions demandes.
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
9 sept. 2016 à 19:47
9 sept. 2016 à 19:47
Bonsoir,
Comme tu ne m'as toujours pas donné les formats de date voici un code qui utilise le numéro sérial de la date :
Comme tu ne m'as toujours pas donné les formats de date voici un code qui utilise le numéro sérial de la date :
Sub Macro1() Dim O1 As Worksheet Dim O2 As Worksheet Dim DJ As Long Set O1 = Sheets("Feuil1") 'à adapter Set O2 = Sheets("Feuil2") 'à adapter DJ = DateSerial(Year(O2.Range("B2").Value), Month(O2.Range("B2").Value), Day(O2.Range("B2").Value)) For I = 3 To O1.Cells(2, Application.Columns.Count).End(xlToLeft).Column If DateSerial(Year(O1.Cells(2, I).Value), Month(O1.Cells(2, I).Value), Day(O1.Cells(2, I).Value)) = DJ Then O2.Range("B4:B40").Copy O1.Cells(4, I) Exit Sub End If Next I End Sub