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

arahan -  
 arahan -
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 147 Statut Membre 22
 
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
arahan
 
Bonjour,

Merci beaucoup pour votre aide
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour,

Proposition sans utiliser VBA
https://www.cjoint.com/?ivlgvQYHnR
0
arahan
 
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