Extraire donée sur excel lié au début du mois

Fermé
arahan - 21 août 2009 à 01:58
 arahan - 21 août 2009 à 18:08
Bonjour,

j'ai une question se rapportant à l'utilisation d'excel.

Je dispose d'un tableau d'une action cotée en bourse avec deux colonnes l'une intitulé "date" et la seconde "cours de actions". Ce tableau donne pour chaque jour de l'année le cours de l'action je voudrais savoir si on peut extraire seulement les lignes se rapportant au debut de chaque mois. A noter que le début du mois peut correspondre par exemple au 02-01 comme le 05-01.

Avec mes remerciements
A voir également:

2 réponses

bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
21 août 2009 à 05:00
salut,

Le code principal à retenir est surement celui-ci :


Sheets("Sheet1").Select
numero_debut = Cells(5, 7).Value  'stock le numéro du début du mois(on peut ainsi commencé au 2)
numero_fin = Cells(6, 7).Value 'idem avec la fin du début du mois ^^

i = 1 'variable d'itération

While (Cells(i, 1).Value <> "") 'on fait tourner une boucle tant que la cellule de rang i et de la colonne 1 de la feuille 1 est non vide...

Cells(1, 120).Value = Format(Cells(i, 1).Value, "mm")  'on stock le numéro du mois de la cellule sur laquelle on travaille dans une cellule loin des autres, pour qu'elle se mette toute seul au format nombre !
Cells(2, 120).Value = Format(Cells(i, 1).Value, "dd") 'on stock le numéro du jour de la cellule sur laquelle on travaille dans une cellule loin des autres, pour qu'elle se mette toute seul au format nombre !

mois_courant = Cells(1, 120).Value  'on récupère cette valeur en la mettant dans une variable
jour_courant = Cells(2, 120).Value 'idem

    If (jour_courant >= numero_debut And jour_courant <= numero_fin) Then 'on regarde si le jour courant est bien dans la zone des jours voulus
    
    action_jour = Cells(i, 2).Value   'on copie la valeur de l'action correspondant à la cellule qui est ok pour if
    Sheets("Sheet2").Select  'on va sur une autre feuille 
    Cells(jour_courant + 1, mois_courant + 1).Value = action_jour  'on copie l'information à un endroit (avec une certaine logique
    Sheets("Sheet1").Select 'on revient sur la feuille 1
    
    End If 'fin du la condition
i = i + 1 'on incrémente la variable d'itération pour passer au rang suivant
Wend 'on retourne au début de la boucle



Dans un fichier cela peut donner l'aspect suivant :

https://www.cjoint.com/?ivfam2LQsL

Bonne continuation, et n'hésitez pas si vous avez des questions ;)

0
Bonjour,

Merci beaucoup pour votre aide
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
21 août 2009 à 11:13
Bonjour,

Proposition sans utiliser VBA
https://www.cjoint.com/?ivlgvQYHnR
0
Bonjour,

Merci beaucoup pour votre aide.

S'il vous plaît, vous n'auriez pas un cours d'excel pour se perfectionner.

Avec tous mes remerciements
0