Programmation vba boucle if
azzouz90
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
azzouz90 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
azzouz90 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une base de données en access,je viens de réalisé une boucle If qui devrait crée un champ a partir d'un autre qui existe déjà mais j'arrive pas.
brièvement:j'ai un champs"time" qui contient des valeurs,non organiser, sous la forme heure/minute/seconde
mon but c'est de crée un autre champs,a partir du champs "time", qui contient une même valeur pour un intervalle de temps (chaque 5 minutes)
exemple; si le champs "time" contient ces valeurs 08:00:00
08:01:32
08:04:35
08:04:56
le champs résultat contiendra 00:00:00
00:00:00
00:00:00
00:00:00
si le champs "time" contient ces valeurs 08:05:01
08:07:22
08:07:26
08:09:59
le champs résultat contiendra 00:05:00
00:05:00
00:05:00
00:05:00
merci d'avance :)
j'ai une base de données en access,je viens de réalisé une boucle If qui devrait crée un champ a partir d'un autre qui existe déjà mais j'arrive pas.
brièvement:j'ai un champs"time" qui contient des valeurs,non organiser, sous la forme heure/minute/seconde
mon but c'est de crée un autre champs,a partir du champs "time", qui contient une même valeur pour un intervalle de temps (chaque 5 minutes)
exemple; si le champs "time" contient ces valeurs 08:00:00
08:01:32
08:04:35
08:04:56
le champs résultat contiendra 00:00:00
00:00:00
00:00:00
00:00:00
si le champs "time" contient ces valeurs 08:05:01
08:07:22
08:07:26
08:09:59
le champs résultat contiendra 00:05:00
00:05:00
00:05:00
00:05:00
merci d'avance :)
A voir également:
- Programmation vba boucle if
- Application de programmation - Guide
- Excel compter cellule couleur sans vba - Guide
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Find vba - Astuces et Solutions
5 réponses
bonjour,
if (time.value=une valeur or time.value = unevaleur etc...) then
resultat.value=00:00:00
else if (time.value etc.....) then
resultaT.value=00:05:00
end if
tu adapte au nom de tes champs et ca devrais aller je pense.
mais pourrais tu copier ici le morceau de code que tu as utilisé ?
if (time.value=une valeur or time.value = unevaleur etc...) then
resultat.value=00:00:00
else if (time.value etc.....) then
resultaT.value=00:05:00
end if
tu adapte au nom de tes champs et ca devrais aller je pense.
mais pourrais tu copier ici le morceau de code que tu as utilisé ?
je vous remercie mais je crois que j'ai pas bien expliqué de quoi ça s'agit la base de données,c'est une base qui contient 4champs initiales date de communication,heure de communication,numéro appelé et durée de communication, le problème de votre solution c'est qu'elle s'agit d'un "travail manuel" et ma base de données contient plus que 72 000 lignes...
moi j'essais de travailler par intervalle:
if time.value in [08:00:00,08:05:00] then
resultat.value=00:00:00
mai toujours j'ai des probléme de syntaxe
j'espère que c'est bien compris,si vous avez une solution qui me convient j'attends votre aide
merci d'avance
moi j'essais de travailler par intervalle:
if time.value in [08:00:00,08:05:00] then
resultat.value=00:00:00
mai toujours j'ai des probléme de syntaxe
j'espère que c'est bien compris,si vous avez une solution qui me convient j'attends votre aide
merci d'avance
Salut,
"if time.value in " n'existe pas en VBA, ni dans in quelconque langage.
Tu dois simplement rendre la chaine time lisible pour effectuer des tests : transformation en valeur numérique ou découpage pour ne travailler que sur les minutes.
"if time.value in " n'existe pas en VBA, ni dans in quelconque langage.
Tu dois simplement rendre la chaine time lisible pour effectuer des tests : transformation en valeur numérique ou découpage pour ne travailler que sur les minutes.
slt,
j'ai pensés a une telle solution mais le problème c'est le champ time est sous forme de 12 heures (08H et 20H s'écrivent dans la base 08H)
avez vous une solution?
j'ai pensés a une telle solution mais le problème c'est le champ time est sous forme de 12 heures (08H et 20H s'écrivent dans la base 08H)
avez vous une solution?
<idée>j'ai pas les fonctions en tête, mais soit tu travail avec un type string, et dans ce cas là normalement tu peu faire des comparaison de grandeur (a<b renvois vrai, si tu voi ce que je veux dire ^^)
ou sinon il doit y avoir des fonctions de traitement des dates et heures, dans ce cas là tu compare la valeur de la cellule actuel avec tes bornes (comme avec le mroceau de code)
mais d'un point de vue performance, 72000 lignes a traiter ca peux faire long.
du coup tu peux ptete travailler avec la mémoire en mettant tes données dans un tableau pour le traitement.</idée>
...
en faite je viens de m'apercevoir que vu que tu travaillais sur access, tu pouvais utiliser le sql, genre:
update latable set resultat = 00:00:00 where time between 08:00:00 and 08:05:00;
update latable set resultat = 00:05:00 where time between 08:05:01 and 08:10:00;
enfin tu voi et tu adapte (encore une fois, c'est que des idées, je respecte pas la syntaxe des types et autres broutilles)
bonne chance
ou sinon il doit y avoir des fonctions de traitement des dates et heures, dans ce cas là tu compare la valeur de la cellule actuel avec tes bornes (comme avec le mroceau de code)
mais d'un point de vue performance, 72000 lignes a traiter ca peux faire long.
du coup tu peux ptete travailler avec la mémoire en mettant tes données dans un tableau pour le traitement.</idée>
...
en faite je viens de m'apercevoir que vu que tu travaillais sur access, tu pouvais utiliser le sql, genre:
update latable set resultat = 00:00:00 where time between 08:00:00 and 08:05:00;
update latable set resultat = 00:05:00 where time between 08:05:01 and 08:10:00;
enfin tu voi et tu adapte (encore une fois, c'est que des idées, je respecte pas la syntaxe des types et autres broutilles)
bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question