Nero2a |
Le 15/03/2007 à 00:36 |
|
|
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+ |
Lebabs |
Le 15/03/2007 à 23:22 |
|

|
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. |
Nero2a |
Le 16/03/2007 à 07:59 |
|
|
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+ |
Lebabs |
Le 16/03/2007 à 19:49 |
|

|
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. |
Nero2a |
Le 17/03/2007 à 20:41 |
|
|
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+ |
Lebabs |
Le 17/03/2007 à 23:49 |
|

|
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. |
Nero2a |
Le 18/03/2007 à 08:57 |
|
|
bonjour LeBabs je te remerci pour ta prompte reponse je n'ai pas pensé à or maintenant au travail et encore merci a+ |