Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 08/02/2003, 14h23   #1 (permalink)
Pricer
Guest
 
Messages: n/a
Par défaut Remplissage

Bonjour tout le monde,
j'ai un fichier Excel composé de deux colonnes, la première contient des dates et la seconde la valeur d'un indice boursier qui correspond à cette date.
le problème c'est que samedi, dimanche et les jours fériés il n'y a pas de cotations donc pas de valeur.
pour de sraisons d'études statistiques j'ai besoin de l'historique complet des 4 dernières années (jours chômmés inclus), je travaille donc avec l'hypothèse suivante: la valeur de mon indice pour un jour férié est par défaut la valeur du dernier jour ouvré (ex. les valeurs de samedi et dimanche est par défaut la valeur de vendredi d'il est travaillé).
le problème c'est que avec pres de 1790 ligne il est dificile de passer ligne par ligne et d'insérer au moins deux lignes chaque semaine(correspondant aux samedi et dimanche) et puis faire du copier coller de la valeur du vendredi ..
en conclusion j'ai besoin d'une macro qui verfiera mon fichier, et une fois elle trouve une date manquante, elle insère la ligne correspondante et donne à la nouvelle cellule la valeur de la cellule qui se trouve juste au dessus.
Merci pour toute aide et bon week end à tous.
PS. j'ai un pb de téléchargement, donc si qlq un veut m'envoyer un fichier q'il me l'envoie sur cette adresse en attachement.
 
ANNONCES
Vieux 08/02/2003, 17h25   #2 (permalink)
@+Thierry
Guest
 
Messages: n/a
Par défaut Re: Remplissage

Salut Pricer,

je dois partir, mais j'avais commencer un truc pour toi.... Mais ce n'est pas fini...

Option Explicit


Sub InsertionDatemanquante()
Dim i As Integer
Dim ii As Long
Dim iii As Long

Dim Dif As Long
Dim Plage As Range
Dim Cell As Range

Application.EnableEvents = False

Set Plage = Sheets("Feuil1").Range("A3:" _
& Sheets("Feuil1").Range("A65536").End(xlUp).Address )

For i = 4 To Plage.Rows.Count
If Cells(i, 1).Value > Cells(i - 1, 1).Value + 1 Then
Dif = Cells(i, 1).Value - Cells(i - 1, 1).Value - 1
If Dif >= 3 Then Exit Sub
If Dif = 1 Then
Cells(i, 1).EntireRow.Insert
Cells(i, 1).Value = Cells(i - 1, 1).Value + 1 'Dif

ElseIf Dif = 2 Then
For ii = 1 To 3
iii = i
Cells(i, 1).EntireRow.Insert
Cells(i, 1).Value = Cells(iii - 1, 1).Value + Dif
ii = ii + 1
iii = i + 1
Next ii
End If
i = i + 1
End If
Next i
Application.EnableEvents = True
End Sub

Je plantais encore pour réécrire les dates quand il manquait deux jours consécutifs... mais c'est sur la bonne voie... si tu peux t'en inspirer...

Bon Week End à tout le forum
@+Thierry
 
Vieux 08/02/2003, 17h53   #3 (permalink)
Pricer
Guest
 
Messages: n/a
Par défaut Re: Remplissage

merci @+Thierry,
ça ne marche pas encore,
mais je crois qu'on aurait des idées d'ici lundi !
Bon week end à toi et tout le forum
Pricer
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 12h39.


(C) 2006 Excel Downloads