Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1355 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  jour date week end

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

jour date week end

n°1112961
nono914
Posté le 08-06-2005 à 17:14:01  profilanswer
 

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

mood
Publicité
Posté le 08-06-2005 à 17:14:01  profilanswer
 

n°1113027
fusion_sad​am
:D
Posté le 08-06-2005 à 17:54:28  profilanswer
 

ca plante où ? , quel message d'erreur ??

n°1113607
nono914
Posté le 09-06-2005 à 10:02:36  profilanswer
 

C sur  
If DateEnLettres("B3" ) = "samedi" Then  
Erreur '13' incompatibilité de type. Mé pourtant la colonne B3 est une date.
Ok

n°1113686
fusion_sad​am
:D
Posté le 09-06-2005 à 10:56:04  profilanswer
 

non "B3" est du texte
 

n°1113723
nono914
Posté le 09-06-2005 à 11:25:10  profilanswer
 

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

n°1113756
fusion_sad​am
:D
Posté le 09-06-2005 à 11:45:41  profilanswer
 

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" ))

n°1114065
nono914
Posté le 09-06-2005 à 14:47:54  profilanswer
 

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

n°1114081
fusion_sad​am
:D
Posté le 09-06-2005 à 14:54:47  profilanswer
 

:non: attention  
NomJour = Format(D, "dddd" ) & " "
 
tu compare "samedi" et "samedi " avec un espace à la fin

n°1116855
AlainTech
Pas trouvé? Cherche encore!
Posté le 11-06-2005 à 21:53:25  profilanswer
 

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
  Dim iDay As Integer
  For Each o In Range("A3:A160" )
    iDay = Weekday(o.Cells(1, 2))
    If iDay = vbSunday Or iDay = vbSaturday Then
    o.Cells(1, 3) = "WE"
    End If
  Next o


Message édité par AlainTech le 11-06-2005 à 21:53:48

---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
n°1156031
nono914
Posté le 21-07-2005 à 14:23:14  profilanswer
 

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


Message édité par nono914 le 21-07-2005 à 14:23:41
mood
Publicité
Posté le 21-07-2005 à 14:23:14  profilanswer
 

n°1156734
nono914
Posté le 22-07-2005 à 02:42:20  profilanswer
 

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à,

n°1156740
AlainTech
Pas trouvé? Cherche encore!
Posté le 22-07-2005 à 05:12:24  profilanswer
 

Le format de cellule ne sert que pour l'affichage.
Essaye ça:

Public Function NumeroInfo2(D As String) As String  
  NumeroInfo2 = "MMT" & Right(Year(Date), 2) & Format(D, "00" )    
End Function


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  jour date week end

 

Sujets relatifs
date du jourProblème de date et locale
heure et dateAffichage date
[resolu] requete avec date[VB.NET] Commande de mise à jour de l'heure de windows
[VBA] Probleme de DateMise à jour d'une images
cherche script qui met date spécifique 
Plus de sujets relatifs à : jour date week end


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR