Fonction SI en VBA excel
Fermé
ze95
Messages postés
11
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
-
11 avril 2006 à 02:43
djetther - 30 mars 2008 à 19:50
djetther - 30 mars 2008 à 19:50
Bonjour à tous.
Je voudrais savoir s'il est possible d'utiliser la fonction "SI" en code VBA excel.
ex: je rentre 22:00 dans textBox1 puis 06:00 dans TextBox2
dans TextBox3 dois s'afficher 8:00 (ce que je sais déjas faire) et en TextBox4 afficher 8:00 seulement Si les horaires inscrit dans TextBox1 et 2 sont des Heures de nuit (22:00 à 06:00).
Merci d'avance ze95.
Je voudrais savoir s'il est possible d'utiliser la fonction "SI" en code VBA excel.
ex: je rentre 22:00 dans textBox1 puis 06:00 dans TextBox2
dans TextBox3 dois s'afficher 8:00 (ce que je sais déjas faire) et en TextBox4 afficher 8:00 seulement Si les horaires inscrit dans TextBox1 et 2 sont des Heures de nuit (22:00 à 06:00).
Merci d'avance ze95.
A voir également:
- Fonction SI en VBA excel
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction miroir - Guide
- Excel compter cellule couleur sans vba - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
14 réponses
ze95
Messages postés
11
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
6
11 avril 2006 à 11:32
11 avril 2006 à 11:32
merci à toi antic80 de prendre le temp de me repondre,
mais n'ayant pas de formation sur excel et même vba c'est difficile pour moi de comprendre les different codes .
_où placer ce code?
_comment le résulta va s'afficher dans le TextBox4?
le code qui prend en compte tous les cas de figure me serai bien utile. désoler si j'ai besoin de plus d'explication.
A+ze95
mais n'ayant pas de formation sur excel et même vba c'est difficile pour moi de comprendre les different codes .
_où placer ce code?
_comment le résulta va s'afficher dans le TextBox4?
le code qui prend en compte tous les cas de figure me serai bien utile. désoler si j'ai besoin de plus d'explication.
A+ze95
ze95
Messages postés
11
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
6
12 avril 2006 à 00:06
12 avril 2006 à 00:06
je veux crée un formulaire qui me permettrais de saisire mais heures de travail et de les afficher dans une feuille excel (je travail en trois huit)
et j'ai donc crée mon formulaire en utilisant visual basique inclus dans excel. j'ai crée un UserForm où j'y est placer mes TexBox.
et j'ai donc crée mon formulaire en utilisant visual basique inclus dans excel. j'ai crée un UserForm où j'y est placer mes TexBox.
antic80
Messages postés
4785
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 161
11 avril 2006 à 09:42
11 avril 2006 à 09:42
alors voila un morceau de code qui devrais t'aider
heuredébut = Left(TEXTBOX1, 2) 'on recupere les heures du début
heurefin = Left(TEXTBOX2, 2) 'on récupere les heures de fin
if heurefin < heuredébut then
ici tu met la condition si l'heure de fin est plus petite que l'heure de début
else
la c le cas inverse
End if
si tu as du mal je peux te filer un morceau de code qui prend en compte tous les cas de figure pour ce genre de calcul
heuredébut = Left(TEXTBOX1, 2) 'on recupere les heures du début
heurefin = Left(TEXTBOX2, 2) 'on récupere les heures de fin
if heurefin < heuredébut then
ici tu met la condition si l'heure de fin est plus petite que l'heure de début
else
la c le cas inverse
End if
si tu as du mal je peux te filer un morceau de code qui prend en compte tous les cas de figure pour ce genre de calcul
antic80
Messages postés
4785
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 161
11 avril 2006 à 13:38
11 avril 2006 à 13:38
j'aimerai savoir avant tout ou se trouve tes textbox
sur la feuille excel ou alors est ce que tu as été dans macro > visual basic editor qui se trouve dans excel
sur la feuille excel ou alors est ce que tu as été dans macro > visual basic editor qui se trouve dans excel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
antic80
Messages postés
4785
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 161
12 avril 2006 à 09:16
12 avril 2006 à 09:16
salut
je sais pas si tu as vu a kel endroit on taper le code ?? si non tu fais un double clic sur ton formulaire et tu va avoir un ccadre blanc qui va apparaitre avec 2 lignes déja taper. supprime c 2 lignes
si tu as deja vu ou taper le code tout va bien
je v te proposer un code qui inclus tout les cas de figure des heures
par contre la saisie de l'heure dois se faire au format suivant 22:00 ou 06:00
en partant du principe que l'heure de début est saisie ds TextBox1, l'heure de fin dans textbox2 et que le resultat dois etre affiché dans textbox3 voici le code
sache que quand j'ecrit 'on recupere l'heure de début c du commentaire pour t'aider a comprendre le code qui se trouve avant le symbole '
si tu as besoin d'autres coup de main n'hesite pas
je sais pas si tu as vu a kel endroit on taper le code ?? si non tu fais un double clic sur ton formulaire et tu va avoir un ccadre blanc qui va apparaitre avec 2 lignes déja taper. supprime c 2 lignes
si tu as deja vu ou taper le code tout va bien
je v te proposer un code qui inclus tout les cas de figure des heures
par contre la saisie de l'heure dois se faire au format suivant 22:00 ou 06:00
en partant du principe que l'heure de début est saisie ds TextBox1, l'heure de fin dans textbox2 et que le resultat dois etre affiché dans textbox3 voici le code
Private Sub Textbox2_afterupdate() Dim heuredébut, heurefin, minutedébut, minutefin, TTLmindébut, TTLminfin, TTLmin, Hdébut, Hfin Dim heure, minute Dim date1, date2 As Date 'calcul des heures Hdébut = Textbox1.Value 'on recupere l'heure de début Hfin = TextBox2.Value 'et l'heure de fin heuredébut = Left(TextBox1, 2) 'on recupere les heures minutedébut = Right(TextBox1, 2) 'et les minutes heurefin = Left(TextBox2, 2) 'idem pour l'heure de fin minutefin = Right(TextBox2, 2) 'et les minutes TTLmindébut = (heuredébut * 60) + minutedébut 'je calcul le nombre de minute TTLminfin = (heurefin * 60) + minutefin 'pareil pour la 2eme heure If Hdébut > Hfin Then 'si l'heure de début est supérieur a l'heure de fin TTLmin = (TTLminfin + 1440) - TTLmindébut 'je rajoute 24 h a l'heure de fin pour exemple de 22h à 6h (je fais 24+6-22=8h) Else TTLmin = TTLminfin - TTLmindébut 'sinon on fais heure de fin - heure de début End If heure = Int(TTLmin / 60) 'a partir du nombre totale de minute je recupere les heures exemple 210 minutes / 60 j'obtient comme entier 3 minute = Int(TTLmin - (heure * 60)) 'ensuite a partir du nombre d'heures je calcule les minutes exemple (ds 210 min il y a 3h : 210 - 3*60 =30) il reste donc 30 minutes 'j'obtient donc une différence de 3h30 minutes If heure < 10 Then 'si le nombre d'heure et inferieur a 10 je rajoute un 0 pour obtenir par exemple 07 heure = "0" & heure End If If minute < 10 Then 'pareil pour les minutes minute = "0" & minute End If TextBox3.Text = heure & ":" & minute 'on affiche la différence End Sub
sache que quand j'ecrit 'on recupere l'heure de début c du commentaire pour t'aider a comprendre le code qui se trouve avant le symbole '
si tu as besoin d'autres coup de main n'hesite pas
bonjour,
j'ai un probleme , et j'aurais besoin de ton aide...
Voici mon probleme:
J'ai dans une cellule A1 le temps qui s'afiche sous forme de chronomètre.
J'ai dans une deuxieme cellule B1, figer une heure.
Et dans une 3ème C1 , j'obtiens le temps qui s'ecoule en faisant la différence entre A1 et B1.
Mon probleme actuel le temps écoulé se calcul 24h/24 et 7j/7, mais moi je voudrais que le temps qui s'écoule soit uniquement calculé sur les heures d'ouverture (8h-12h et 13h-17h).
Ansi, je voudrais que ma cellule qui calcul le temps écoulé soit active si et seulement si l'heure sur le chronometre est comprise entre : 8h-12h et 13h-17h
Merci de ton aide......
j'ai un probleme , et j'aurais besoin de ton aide...
Voici mon probleme:
J'ai dans une cellule A1 le temps qui s'afiche sous forme de chronomètre.
J'ai dans une deuxieme cellule B1, figer une heure.
Et dans une 3ème C1 , j'obtiens le temps qui s'ecoule en faisant la différence entre A1 et B1.
Mon probleme actuel le temps écoulé se calcul 24h/24 et 7j/7, mais moi je voudrais que le temps qui s'écoule soit uniquement calculé sur les heures d'ouverture (8h-12h et 13h-17h).
Ansi, je voudrais que ma cellule qui calcul le temps écoulé soit active si et seulement si l'heure sur le chronometre est comprise entre : 8h-12h et 13h-17h
Merci de ton aide......
ze95
Messages postés
11
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
6
12 avril 2006 à 20:59
12 avril 2006 à 20:59
Merci pour toutes ces informations ça marche impécable.
maintenant je voudrai ajouter un TextBox4
pour que s'affiche 8:00 seulement quand en textbox1 il y est 22:00
et en textbox il y est 06:00 cest a dir 8 heures de nuit et ne rien afficher si les heures textbox1 sont 06:00 ou 14:00
et textbox2 14:00 ou 22:00.
Ex1:
textbox1=06:00
textbox2=14:00
textbox3=08:00
textbox4=00:00 puisque ce ne sont pas des heures de nuit.
Ex2:
textbox1=14:00
textbox2=22:00
textbox3=08:00
textbox4=00:00 puisque ce ne sont pas des heures de nuit.
Ex3:
textbox1=22:00
textbox2=06:00
textbox3=08:00
textbox4=08:00 puisque ce sont pas des heures de nuit.
PS. textbox4 quand je dit 00:00 ça peut etre ne rien afficher.
j'espere que j'ai été clair dans mes explication et encore mersi pour ton aide.
maintenant je voudrai ajouter un TextBox4
pour que s'affiche 8:00 seulement quand en textbox1 il y est 22:00
et en textbox il y est 06:00 cest a dir 8 heures de nuit et ne rien afficher si les heures textbox1 sont 06:00 ou 14:00
et textbox2 14:00 ou 22:00.
Ex1:
textbox1=06:00
textbox2=14:00
textbox3=08:00
textbox4=00:00 puisque ce ne sont pas des heures de nuit.
Ex2:
textbox1=14:00
textbox2=22:00
textbox3=08:00
textbox4=00:00 puisque ce ne sont pas des heures de nuit.
Ex3:
textbox1=22:00
textbox2=06:00
textbox3=08:00
textbox4=08:00 puisque ce sont pas des heures de nuit.
PS. textbox4 quand je dit 00:00 ça peut etre ne rien afficher.
j'espere que j'ai été clair dans mes explication et encore mersi pour ton aide.
antic80
Messages postés
4785
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 161
12 avril 2006 à 21:07
12 avril 2006 à 21:07
bonsoir
en dessous de la ligne
TextBox3.Text = heure & ":" & minute 'on affiche la différence
ecrit ca
If Hdébut > Hfin Then
Textbox4.text=textbox3.text
else
Textbox4.text="00:00"
end if
en dessous de la ligne
TextBox3.Text = heure & ":" & minute 'on affiche la différence
ecrit ca
If Hdébut > Hfin Then
Textbox4.text=textbox3.text
else
Textbox4.text="00:00"
end if
ze95
Messages postés
11
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
6
12 avril 2006 à 23:29
12 avril 2006 à 23:29
je n'est qu'un mot à dire SUPER
merci beaucoup.
je vais continuer à développer mon formulaire et je serais certainement amené
à te reposer quelque question j'esperes que tu poura continuer à m'aider
merci encore ze95 A+
merci beaucoup.
je vais continuer à développer mon formulaire et je serais certainement amené
à te reposer quelque question j'esperes que tu poura continuer à m'aider
merci encore ze95 A+
antic80
Messages postés
4785
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 161
12 avril 2006 à 23:43
12 avril 2006 à 23:43
si ca t'interesse je pe te filer mon adresse msn si tu veux
ze95
Messages postés
11
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
6
14 avril 2006 à 01:57
14 avril 2006 à 01:57
ok pour ton adresse msn .
j'ai une autre question.
J'ai une colonne F avec les Heures que j'y est entrer à l'aide du formulaire que j'ai crée avec VB Excel et je voudrai additionner la colonne (F42:F72), mais je n'y arrive pas.
quand j'utilise la fonction excel =SOMME(F42:F72) et que je veux afficher le résulta dans la céllule F74 le résulta n'est pas exact.
j'ai été dans "Format de céllule" pour modifié un peut les paramêtres des heures mais rien n'y fait ça ne marche pas.
merci ze95 A+
j'ai une autre question.
J'ai une colonne F avec les Heures que j'y est entrer à l'aide du formulaire que j'ai crée avec VB Excel et je voudrai additionner la colonne (F42:F72), mais je n'y arrive pas.
quand j'utilise la fonction excel =SOMME(F42:F72) et que je veux afficher le résulta dans la céllule F74 le résulta n'est pas exact.
j'ai été dans "Format de céllule" pour modifié un peut les paramêtres des heures mais rien n'y fait ça ne marche pas.
merci ze95 A+
antic80
Messages postés
4785
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 161
14 avril 2006 à 08:29
14 avril 2006 à 08:29
bonjour
alors il faut que toutes tes cellules meme celle ou se trouve ta formule (F74) soit au meme format
va dans format de cellule, catégorie heure et il faut prendre la ligne 37:30:55
ca devrais allez mieux
mon adresse dede_421@hotmail.com
alors il faut que toutes tes cellules meme celle ou se trouve ta formule (F74) soit au meme format
va dans format de cellule, catégorie heure et il faut prendre la ligne 37:30:55
ca devrais allez mieux
mon adresse dede_421@hotmail.com
ze95
Messages postés
11
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
26 avril 2006
6
26 avril 2006 à 16:22
26 avril 2006 à 16:22
Salut antic80 désoler pour ce long moment de silence, mes horaire de travail ne me laissais plus de temp libre.
merci pour ton adresse mail.
petit problême suite de la question N°6
Ex3 de la question N°6
textbox1=22:00
textbox2=06:00
textbox3=08:00
textbox4=08:00 puisque ce sont pas des heures de nuit.
Ex3Bis.
textbox1=18:00 (il m'arrives de travailler de 18:00 à 06:00)
textbox2=06:00
textbox3=12:00
textbox4=08:00 puisque ce sont pas des heures de nuit.
en textbox4 le resulta doit etre 8:00 puisque les horaire de nuit sont de 22:00 à 6:00 du matin.
merci pour ton adresse mail.
petit problême suite de la question N°6
Ex3 de la question N°6
textbox1=22:00
textbox2=06:00
textbox3=08:00
textbox4=08:00 puisque ce sont pas des heures de nuit.
Ex3Bis.
textbox1=18:00 (il m'arrives de travailler de 18:00 à 06:00)
textbox2=06:00
textbox3=12:00
textbox4=08:00 puisque ce sont pas des heures de nuit.
en textbox4 le resulta doit etre 8:00 puisque les horaire de nuit sont de 22:00 à 6:00 du matin.
antic80
Messages postés
4785
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 161
26 avril 2006 à 17:55
26 avril 2006 à 17:55
je sais pas si ca va marché mais voila un truc fait vite fais
dis moi si ca marche
dis moi si ca marche
If Hdébut > Hfin Then 'si l'heure de début est supérieur a l'heure de fin if heuredébut => 22 then TTLmin = (TTLminfin + 1440) - TTLmindébut 'je rajoute 24 h a l'heure de fin pour exemple de 22h à 6h (je fais 24+6-22=8h) else TTLmin=(TTLminfin + 1440)-(22*60) 'on calcul juska 22 h minjour=(22*60)-TTLmindébut 'on recupere le total de minutes fais en journée end if Else TTLmin = TTLminfin - TTLmindébut 'sinon on fais heure de fin - heure de début End If
Bonjour, je voudrais de l'aide s'il vous plait les gars
je veux créer un fichier excel qui fonctionne comme suit
Si je click sur une cellule, cette dernière ouvre un tableau que j'avais déja crée.Et je connais pas la fonction nécessaire qu'il faut utiliser.Merci, et j'attend avec impatience votre aide.
je veux créer un fichier excel qui fonctionne comme suit
Si je click sur une cellule, cette dernière ouvre un tableau que j'avais déja crée.Et je connais pas la fonction nécessaire qu'il faut utiliser.Merci, et j'attend avec impatience votre aide.