EXCEL VBA

Bonjour,

je suis archi débutante en VBA et j'ai à écrire une fonction personnalisée en VBA qui indique le jour de la semaine en texte (lundi, mardi...) à partir d'une date. J'ai trouvé une fonction (la fonction weekday ) qui me permet de d'indiquer le jour de la semaine mais sous forme de chiffre (soit de 1 à 7 puisqu'il s'agit des jours de la semaine).
Je ne sais pas du tout comment remplacer ces chiffres par du texte. Quelqu'un peut-il m'aider ???
Je vous remercie par avance.
Salutations
Configuration: pc portable Toshiba M30X, Windows xp

8 réponses

  1. * Si tu veux simplement avoir le jour de la semaine dans une cellule, il suffit d'en changer le format :
    ex valeur -> =Aujourdhui() et format "personnalisé" -> jjjj

    * Mais si tu as vraiment besoin de le récupérer en VB il doit exister une fonction sinon tu peux en construire une simple à l'aide de
    WeekDay et Select ... Case
    ex:
    Select Case DateDuJour
    Case 1: JourSem = "Lundi"
    Case 2: JourSem = "Mardi"
    Case ....
    Case 7: JourSem = "Jour du saigneur !"
    Case else: jourSem = " Date invalide !"
    End Select
    N'oublie pas d'initialiser tes variables.

    Bisous
    0
    1. Merci bcp pour tes conseils !!
      J'ai un autre pb... tu as l'air de plutôt t'y connaître, alors j'en profite!
      Cette fois-ci, je dois créer une feuille Excel utilisant une fonction personnalisée en VBA qui renvoie le signe du zodiaque quand on lui passe en paramètre une date.
      Merci d'avance si jamais tu as une solution.
      Salut !!

      Curly
      0
  2. * Si tu veux simplement avoir le jour de la semaine dans une cellule, il suffit d'en changer le format :
    ex valeur -> =Aujourdhui() et format "personnalisé" -> jjjj

    * Mais si tu as vraiment besoin de le récupérer en VB il doit exister une fonction sinon tu peux en construire une simple à l'aide de
    WeekDay et Select ... Case
    ex:
    Select Case DateDuJour
    Case 1: JourSem = "Lundi"
    Case 2: JourSem = "Mardi"
    Case ....
    Case 7: JourSem = "Jour du saigneur !"
    Case else: jourSem = " Date invalide !"
    End Select
    N'oublie pas d'initialiser tes variables.

    Bisous
    0
    1. Contributeur
      bonjour

      la fonction n'est pas native dans excel à ma connaissance,
      mais si tu combine ta fonction weekday avec choose cela donne :

      =CHOOSE(WEEKDAY(date-choix;2),""lundi"",""mardi"",""mercredi"",""jeudi"",etc)"

      et tu obtiens un jour en clair.

      tu peux aussi mettre ta liste dans une plage si tu l'utilise souvent.

      0
      1. Salu a tous

        petite question bete :

        comment fait on pour exclure un caractere de l interpretation ? en vb

        en langage c , je sais que c "\"

        si quelqu un sait ?
        je suis preneur merci!!!!

        ++
        matt
        0
        1. Contributeur
          bonjour

          comment fait on pour exclure un caractere de l interpretation ? en vb


          je suppose que c'est pour introduire un commentaire

          et pour cela c'est <'> l'apostrophe, soit le 4 première rangée.

          0
          1. Bonjour merci pour ta reponse

            Mais en fait nan cété po sa que je recherchai !!!!
            En fait ce qu il me faut c un caractere qui ne va pas etre interprété dans la chaines de caractere comme une commande !!!

            Du style :

            Shell "cmd /c netsh interface ip set address "Connexion au réseau local" static 192.168.0.1 255.255.255.0 192.168.0.254 1 "

            Le pb ici c que le " avant connexion ferme la commande alors que moi je veut qu il fasse parti de la commande ...

            Merki si quelqu un trouve !!!
            0
            1. Salut,
              Essaye en doublant le " comme ceci:
              Shell "cmd /c netsh interface ip set address ""Connexion au réseau local"" static 192.168.0.1 255.255.255.0 192.168.0.254 1 " 
              


              A++
              0
          2. Contributeur
            bonjour

            dans ce cas là, tu mets

            Shell "cmd /c netsh interface ip set address " & chr(34) & "Connexion au réseau local" & chr(34) & "static 192.168.0.1 255.255.255.0 192.168.0.254 1 "

            0
            1. Salu

              Un enorme merci pour votre réponse !!!
              Vous avez résolu mon problème

              J' ai réussi avec les doubles guillemets !!!

              Mais approfondir je vais tenter avec le & chr(34) & ...
              chr(34) sa fait reference au caracteres ascii???

              Enfin en tt k merci bocouuup !!!!

              @++
              matt
              0