Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

copier suivant date en vba

  • Initiateur de la discussion Initiateur de la discussion BZH56
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

BZH56

XLDnaute Occasionnel
bonsoir a tous

debutant en vba n je voudrais recopier des valeurs d une colonne en fonction de la date sur une autre feuille mensuelle.
ci joint un exemple
merci
 

Pièces jointes

Re : copier suivant date en vba

Bonsoir BZH, bonsoir le forum,

En pièce jointe ton fichier modifié avec le code ci-dessous appliqué au bouton :
Code:
Private Sub CommandButton1_Click()
Dim d As String 'déclare la variable d (Date)
Dim m As String 'déclare la variable m (numéro du Mois)
Dim mois As String 'déclare la variable mois
Dim dest As Range 'déclare la variable dest (DESTination)
ActiveCell.Select 'enlève le focus au bouton
d = Range("B1").Value 'définit la date d
m = Month(d) 'définit le numéro du mois m
Select Case m 'définit le mois en fonction du numéro du mois
    Case "1"
        mois = "janvier"
    Case "2"
        mois = "février"
    Case "3"
        mois = "mars"
    Case "4"
        mois = "avril"
    Case "5"
        mois = "mai"
    Case "6"
        mois = "juin"
    Case "7"
        mois = "juillet"
    Case "8"
        mois = "août"
    Case "9"
        mois = "septembre"
    Case "10"
        mois = "octobre"
    Case "11"
        mois = "novembre"
    Case "12"
        mois = "décembre"
End Select
Set dest = Sheets(mois).Range("A1").Offset(1, Day(d)) 'définit la cellule de destination
Range("B4:B17").Copy dest 'copie la plage B4:B17 et la colle dans la cellule de destination dest
End Sub
 

Pièces jointes

Re : copier suivant date en vba

Bonjour bzh, Robert🙂

Petite remarque au passage, si je peux me permettre, le nom du mois peut également être renvoyé en utilisant la fonction "MonthName" :
Code:
m = MonthName(Month(d))

bonne journée
@+
 
Re : copier suivant date en vba

Bonjour le fil, bonjour le forum,

Oui Pierrot merci pour ce renseignement mais chez moi avec ma configuration du clavier : Langue Portugais (Bresil) / Clavier USA International, ça renvoit les mois en anglais... d'où le Select Case.
 
Re : copier suivant date en vba

Re,

Langue Portugais (Bresil) / Clavier USA International, ça renvoit les mois en anglais... d'où le Select Case.
Aarf, oui dans ce cas... 🙂

allez, une autre approche pour le fun :

Code:
Dim m As Integer
m = Month(Date)
MsgBox Switch(m = 1, "janvier", m = 2, "février", m = 3, "mars")

@+
 
Re : copier suivant date en vba

Bonjour le fil, bonjour le forum,

Ha oui Pierrot ! Là j'ai sorti mon burin et une feuille de marbre toute neuve de 25 kg et je vais me la graver illico presto. Je connaissais pas cette fonction Switch, merci pour l'astuce !
 
Re : copier suivant date en vba

Re,

en y réfléchissant, il y a aussi la fonction "choose", qui me parait plus adaptée, enfin moins longue....
Code:
Dim m As Integer
m = Month(Date)
MsgBox Choose(m, "janvier", "février", "mars")

encore une tablette de 25kg...🙂 bon après midi
@+
 
Re : copier suivant date en vba

Re,
bonjour PierreJean🙂

Aarf, bien vu PierreJean🙂, pourquoi faire simple quand on peut faire compliquer... 🙂 Robert, tu peux jeter les tablettes... Aarf, pas sur ma tête...
 
Re : copier suivant date en vba

Bonjour le fil, bonjour le forum,

Fondu, fondu c'est un peu vite dit BZH ! Je viens de me faire livrer deux camions de marbre avec ces co...ries... Tiens du coup je redeviens bleu !
 
Re : copier suivant date en vba

bonsoir robert
te fache pas, ton humour ne me laisse pas de marbre 😉😉
Entre "barbatruc" , la rivalite est saine pour le forum et tout bénef pour nous les petits
"vba-istes".
mes hommages. et respect pour votre bienveillance a notre égard.🙂
 
Re : copier suivant date en vba

Re

@ BZH

rivalité !! le vilain vocable
Je lui prefere émulation et souhaite que le Grand Robert partage mon opinion

bonjour a tous
ok pierrejean pour l'émulation, je suis d accord avec toi...
mais j 'ai une difficulté supplémentaire que je n ai pas vu arrive ,. Dans mon vrai fichier ,la zone a copié résulte d un calcul et le code que vous m'avez trouve me recopie aussi la formule..
je pensais m en sortir avec un collage special valeurs mais avec la variable qui est déclarée (dest) , je bloque a nouveau
alors , merci pour le dernier coup de pouce😕😕
 

Pièces jointes

Re : copier suivant date en vba

Bonjour à tous,

modifie ainsi :
Code:
Set dest = Sheets(mois).Range("A1").Offset(1, Day(d)) 'définit la cellule de destination
Range("c4:c17").Copy
dest.PasteSpecial xlPasteValues

bonne soirée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
266
Réponses
2
Affichages
469
Réponses
3
Affichages
254
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…