S
simyrom
Guest
Bonjour le forum,
J’ai un problème de date en VBA.
Je télécharge un tableau de données par une Webquerry. Ce tableau contient normallement des mesures pour chaque heure de la journée. Le hic est que parfois une date est manquante (avec toutes les données correspondantes). Je voudrais donc faire un test du type:
Dim j As Integer
For j = Range("XXX").Row To Range("XXX").Row Step -1
'hic' If la date de la cellule (j+1, 4) n’est pas égale a la date de la cellule (j, 4) - 1 heure Then
Cells(j + 1, 1).EntireRow.insert
'hic' Cells(j + 1, 4).Value = Cells(j + 2, 4).Value + 1 heure
Range(Cells(j + 1, 5), Cells(j + 1, 20)).Interior.ColorIndex = 5
End If
Next
Sachant que plusieurs heures consecutives peuvent manquer et que la date importée est au format personnalisé (format choisit par le site Internet): dd/mm/yyyy hh:mm
Je ne sais pas gérer ces dates au format “VBA” car elles prennent en compte la date et l’heure. J’ai fait de nombeux essais avec des functions date et time mais sans success.
Ex:
22/06/2003 12:00 1004 0.2 7
22/06/2003 11:00 Ligne insérée
22/06/2003 10:00 1003.8 0.6 7
22/06/2003 09:00 1004.2 1 7
22/06/2003 08:00 1001.2 4.6 7
Pour information, je vous joins une de mes macros qui marche avec des dates séparées (1 colonne pour le mois, 1 pour le jour et 1 pour l’heure). Chose que je veux éviter afin de pouvoir réaliser plus facilement des graphiques annuelles. Comme je suis débutant en VBA et que cette macro a été realise grace a la consultation de differents sites Internet, elle est très lourde.
J'espere que mes explications sont assez claires.
Merci d’avance.
Romain.
J’ai un problème de date en VBA.
Je télécharge un tableau de données par une Webquerry. Ce tableau contient normallement des mesures pour chaque heure de la journée. Le hic est que parfois une date est manquante (avec toutes les données correspondantes). Je voudrais donc faire un test du type:
Dim j As Integer
For j = Range("XXX").Row To Range("XXX").Row Step -1
'hic' If la date de la cellule (j+1, 4) n’est pas égale a la date de la cellule (j, 4) - 1 heure Then
Cells(j + 1, 1).EntireRow.insert
'hic' Cells(j + 1, 4).Value = Cells(j + 2, 4).Value + 1 heure
Range(Cells(j + 1, 5), Cells(j + 1, 20)).Interior.ColorIndex = 5
End If
Next
Sachant que plusieurs heures consecutives peuvent manquer et que la date importée est au format personnalisé (format choisit par le site Internet): dd/mm/yyyy hh:mm
Je ne sais pas gérer ces dates au format “VBA” car elles prennent en compte la date et l’heure. J’ai fait de nombeux essais avec des functions date et time mais sans success.
Ex:
22/06/2003 12:00 1004 0.2 7
22/06/2003 11:00 Ligne insérée
22/06/2003 10:00 1003.8 0.6 7
22/06/2003 09:00 1004.2 1 7
22/06/2003 08:00 1001.2 4.6 7
Pour information, je vous joins une de mes macros qui marche avec des dates séparées (1 colonne pour le mois, 1 pour le jour et 1 pour l’heure). Chose que je veux éviter afin de pouvoir réaliser plus facilement des graphiques annuelles. Comme je suis débutant en VBA et que cette macro a été realise grace a la consultation de differents sites Internet, elle est très lourde.
J'espere que mes explications sont assez claires.
Merci d’avance.
Romain.