jour date week end - VB/VBA/VBS - Programmation
Marsh Posté le 09-06-2005 à 10:02:36
C sur  
If DateEnLettres("B3" ) = "samedi" Then  
Erreur '13' incompatibilité de type. Mé pourtant la colonne B3 est une date. 
Ok
Marsh Posté le 09-06-2005 à 11:25:10
Comment faire pour lui passer alors un argument date. Et en plus, tout les valeurs de la colonne B sont tous des dates. 
En résumé, si la date dans la colonne B est week end alors je dois mettre en colonne C WE. 
bon continuation
Marsh Posté le 09-06-2005 à 11:45:41
DateEnLettres("B3" ) <- ici ton paramétre est le mot "B3", c'est une chaine de caractére 
 
tu dois faire passer le contenu de ta cellule B3 qui lui est une date 
 
>> DateEnLettres(range("B3" ))
Marsh Posté le 09-06-2005 à 14:47:54
Oui, et j'ai fait cela : 
If DateEnLettres(Range("B3" )) = "samedi" Then 
      Cells(3, 3).Value = "WE" 
End If 
Ca n bug pa, mais ca n'affiche pas WE dans la cellule (3,3). 
a tt à l'heur
Marsh Posté le 09-06-2005 à 14:54:47
  attention
 attention  
NomJour = Format(D, "dddd" ) & " " 
  
tu compare "samedi" et "samedi " avec un espace à la fin
Marsh Posté le 11-06-2005 à 21:53:25
La solution adoptée me parraît bien compliquée. 
De plus tu utilises un objet (cellule) et tu n'en utilises pas les propriétés et méthodes. 
 
Voici quelque chose d'un peu plus simple: 
|    Dim o As Variant  | 
Marsh Posté le 21-07-2005 à 14:23:14
Salut, ça fé longtemps. 
Mais le macros marche à merveille avec des retouches par ci et par là. 
Je vous remercie les gars. j'aurai encore d'autres programmes à vous soumettre. 
A trés bientôt
Marsh Posté le 22-07-2005 à 02:42:20
Me revoilà, 
J'ai écrit cette fonction trés simple : 
 
Public Function NumeroInfo2(D As String) As String  
  NumeroInfo2 = "MMT" & Right(Year(Date), 2) & D   
End Function 
 
où D correspond à une colonne de numéro avec format 00 (format perseonalisé). C'est à dire 01, 02 ...11, 11. 
Quand j'utilise la fonction j'arrive pas à avoir MMT0501, MMT0502...MMT0510, MMT0511(c'est que je veux avoir).Je n'ai que MMT051, MMT052,...MMT0510, j'ai essaié les if et for each. 
Bah voilà,
Marsh Posté le 22-07-2005 à 05:12:24
Le format de cellule ne sert que pour l'affichage. 
Essaye ça: 
| Public Function NumeroInfo2(D As String) As String    | 
Marsh Posté le 08-06-2005 à 17:14:01
Hi tt l monde,
Voila
J'ai sur excel 3 colonnes.
Premier col = jour, deuxieme colon = date et troisieme colone pour préciser si Week end.
J'ai déja fait ceci : j'ai créer une fonction qui ramene le jour à partir de date. et maintenant je voudrai préciser dans la troisieme colone lé WE.
voilà déja mon script, mé ca plante.
For Each o In Range("A3:A160" )
If DateEnLettres("B3" ) = "samedi" Then
Cells(3 + k, 3).Value = "WE"
k = k + 1
End If
Next
End Sub
où la fonction DateEnLettres :
Function DateEnLettres(D As Date) As String
Dim NomJour$, TexteJour$, NomMois$, TexteAnnee$, Liaison$
NomJour = Format(D, "dddd" ) & " "
TexteJour = Trim(NbVersTexte(Day(D))) & " "
NomMois = Format(D, "mmmm" ) & " "
Liaison = "de l'an "
TexteAnnee = Trim(NbVersTexte(Year(D)))
If TexteJour = "" Or TexteAnnee = "" Then
DateEnLettres = "#ERREUR!#"
Else
DateEnLettres = NomJour
'& TexteJour & NomMois & Liaison & TexteAnnee
End If
End Function
est ce qu'il y a qlq 1 pr m'aider à l fér, car jé peu de compétence en la matiére.
Merci d'avance