pb date et heure
Hors ligneNero2a Le 15/03/2007 à 00:36 Profil de Nero2a Configuration de Nero2a

Bonsoir à tous
Voila mon pb emploi du temps
comment ecrire en macro
si [a1]=du 1 au 10 et si [a2]=janvier et si [a3]=de 15h 00 à 17h40 [a4]=math
si [a1]=du 1 au 10 et si [a2]=janvier et si [a3]=de 17h 40 à 18h40 [a4]=français
si [a1]=du 10 au 20 et si [a2]=janvier et si [a3]=de 14h30 à 17h00 [a4]=math
si [a1]=du 20 au 31 et si [a2]=janvier et si [a3]=de 14h30 à 17h00 [a4]=math
si [a1]=du 1 au 10 et si [a2]=fevrier et si [a3]=de 15h 00 à 17h40 [a4]=math
si [a1]=du 1 au 10 et si [a2]=fevrier et si [a3]=de 17h 40 à 18h40 [a4]=français

j'espère que quelqu'un pourra m'aider
merci d'avance
a+
Hors ligneLebabs Le 15/03/2007 à 23:22 Profil de Lebabs Configuration de Lebabs

Bonjour nero2a,
Tu peux écrire ton programme de la façon suivante:

Sub Macro1()
If Range("a1").Value = "du 1 au 10" And Range("a2").Value = "janvier" And Range("a3").Value = "de 15h00 à 17h40" Then
Range("a4").Value = "Math"
ElseIf Range("a1").Value = "du 1 au 10" And Range("a2").Value = "janvier" And Range("a3").Value = "de 17h40 à 18h40" Then
Range("a4").Value = "Français"
ElseIf Range("a1").Value = "du 10 au 20" And Range("a2").Value = "janvier" And Range("a3").Value = "de 14h30 à 17h00" Then
Range("a4").Value = "Math"
ElseIf Range("a1").Value = "du 20 au 31" And Range("a2").Value = "janvier" And Range("a3").Value = "de 14h30 à 17h00" Then
Range("a4").Value = "Math"
ElseIf Range("a1").Value = "du 1 au 10" And Range("a2").Value = "février" And Range("a3").Value = "de 15h00 à 17h40" Then
Range("a4").Value = "Math"
ElseIf Range("a1").Value = "du 1 au 10" And Range("a2").Value = "février" And Range("a3").Value = "de 17h40 à 18h40" Then
Range("a4").Value = "Français"
End If
End Sub

Mais quelque chose me gène:
Chaque cellule va devoir être remplie exactement comme prévu par la macro, sinon, la moindre erreur, un espace supplémentaire, un accent, etc... et ça ne marche pas.
Un conseil: Ne remplis pas tes cellules à la main, mais plutôt par un copier coller d'autres cellules que tu auras préparées à l'avance et définitivement.
@+
--
D'une étincelle peut jaillir la lumière.
Hors ligneNero2a Le 16/03/2007 à 07:59 Profil de Nero2a Configuration de Nero2a

bonjour et merci de ta réponse mais ce n'est pas exactement cela qu'il me faut
j'ai rentre cet formule mais je bloque au niveau des heures
if [a1]<=10 and [a2]="janvier" and [a3] (c'est la que je bloque) then[a4]="français"
en fait en [a3]il me faudrait quelque chose du genre =15<17h40
comme cela si en [a3]je tape 16h30 ou 16:30([a3] étant au format heure (hh/mn)
et si [a1]=2 et si [a2]=janvier
[a4]=français (cela pour savoir quel cours  j'ai à cette date et à cette heure)
mais les matière peuvent changer par rapport au autres mois
j'espère être assez clair
merci si tu pouvez me trouver la solution
a+
Hors ligneLebabs Le 16/03/2007 à 19:49 Profil de Lebabs Configuration de Lebabs

Salut,
si j'ai bien compris, ton programme est prêt à fonctionner. Il te manque seulement ce petit truc que tu n'as qu'à ajouter au bon endroit.
Dis moi si  ça te convient.

Dim heure As Date
heure = Range("A3").Value
If heure > ("14:59") And heure < ("17:41") Then
Range("a4").Value = "Math"
End If


@+
--
D'une étincelle peut jaillir la lumière.
Hors ligneNero2a Le 17/03/2007 à 20:41 Profil de Nero2a Configuration de Nero2a

bonsoir Lebabs et surtout merci
c'est ce que je voulais maintenant reste a faire le plus dur rentrer les lignes de codes pour toute les tranches d'horaire et les mois

du coup mon frere a voulu que je fasse son planning pour ses heures  de garde
mais le pb c'est que si je tape 23:00 ou une autre heure  par ex 03:00 il n'y arien qui s'inscrit  en [d1]
Sub essai()
Dim heure As Date
heure = [c1].Value
If [a1] <= 10 And [b1] = "janvier" And heure > ("23:00") And heure < ("06:41") Then
[d1] = "Géant Casino"
ElseIf [a1] > 10 And [b1] = "janvier" And heure > ("06:41") And heure < ("12:41") Then
[d1] = "antenne"
Else
[d1] = ""
End If
End Sub
je ne comprend pas
encore une fois merci
a+
Hors ligneLebabs Le 17/03/2007 à 23:49 Profil de Lebabs Configuration de Lebabs

Salut,
Normal:

If [a1] <= 10 And [b1] = "janvier" And heure > ("23:00") And heure < ("06:41") Then

Dans la ligne qui précède, "heure" ne peut pas être à la fois plus grand que 23:00 et plus petit que 06:41.
C'est un travail de nuit. Afin de parer à ce petit inconvénient, je te propose de mettre un or à la place du and, en ce qui concerne le 06:41.
Ce qui nous donne:

If [a1] <= 10 And [b1] = "janvier" And heure > ("23:00") or heure < ("06:41") Then

J'ai essayé, ça marche.
@+
--
D'une étincelle peut jaillir la lumière.
Hors ligneNero2a Le 18/03/2007 à 08:57 Profil de Nero2a Configuration de Nero2a

bonjour LeBabs
je te remerci pour ta prompte reponse
je n'ai pas pensé à or
maintenant au travail et encore merci
a+
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels