Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/12/2011, 16h10   #1
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : décembre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Problème Fonction DateAdd

Bonjour,

Pour créer des listes incrémentant des dates "jj/mm/aa hh:mm" suivant le pas de temps désiré, j'ai utilisé le code ci après.
Mais à l'exécution d'un exemple (date début 01/01/2011, nombre de minutes : 15, date de fin 03/01/2011) un bug apparait :
tout va bien jusqu'au changement de jour : ca donne
01/01/2011 23:45
01/01/2011 00:00
02/01/2011 00:15

Je n'arrive pas à régler ce pb. Que faire ? Merci d'avance


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim FirstDate As Date
Dim NextDate As Date
Dim EndDate As Date
 
Dim IntervalType As String
Dim Number As Integer
Dim Msg
IntervalType = "n"
 
FirstDate = InputBox("Entrez une date de début")
ActiveCell.Value = FirstDate
 
Number = InputBox("Entrez le nombre de minutes à ajouter")
NextDate = DateAdd(IntervalType, Number, FirstDate)
 
EndDate = InputBox("Entrez une date de fin")
 
Do While NextDate <= EndDate
    ActiveCell.Offset(1, 0).Activate
    ActiveCell.Value = NextDate
    NextDate = DateAdd(IntervalType, Number, NextDate)
Loop
End Sub
Brasles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 18h47   #2
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut

Essai en utilisant Value2 plutôt que value

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub teste()
Dim FirstDate As Date
Dim NextDate As Date
Dim EndDate As Date
 
Dim IntervalType As String
Dim Number As Integer
Dim Number10 As Double
Dim TheCell As Range
Dim Msg
    IntervalType = "n"
 
    'On pointe la cellule sur laquelle on travail
    Set TheCell = ActiveCell
 
    FirstDate = InputBox("Entrez une date de début")
    TheCell.Value2 = FirstDate
 
    Number = InputBox("Entrez le nombre de minutes à ajouter")
 
 
    NextDate = DateAdd(IntervalType, Number, FirstDate)
 
    EndDate = InputBox("Entrez une date de fin")
 
 
    Do While NextDate <= EndDate
        'On pointe la cellule suivante
        Set TheCell = TheCell.Offset(1, 0)
        'ActiveCell.Offset(1, 0).Activate
        TheCell.Value2 = NextDate
        NextDate = DateAdd(IntervalType, Number, NextDate)
        'TheCell.NumberFormat = "[hh]:mm"
    Loop
End Sub
++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h53.


 
 
 
 
Partenaires

Hébergement Web