VBA - Souci sur valeur de cellule
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

VBA - Souci sur valeur de cellule



  1. #1
    invite1d577638

    VBA - Souci sur valeur de cellule


    ------

    Bonjour à tous,

    J'ai vraiment un souci étrange avec une macro VBA Excel 2016...

    Je cherche à générer automatiquement un calendrier avec affichage jours de la semaine (Lundi, Mardi...). Excel possède la fonction qui va bien, JOURSEM. Comme argument, il faut lui donner un numéro fonction de la date concernée, numéro qui s'obtient avec la fonction DATEVAL.

    J'ai donc une boucle qui fait :
    Code:
    For i = 1 To 30
    
    Worksheets("cal").Cells(i + 1, 4).Value = "=DATEVAL(" & Chr$(34) & Trim(Str(i) & "/09/2016") & Chr$(34) & ")"
    
    next i

    Pour calculer dans un premier temps ce numéro.

    Le code génère bien dans les cellules le texte suivant :

    =DATEVAL("1/09/2016")
    =DATEVAL("2/09/2016")
    =DATEVAL("3/09/2016")
    =DATEVAL("4/09/2016")

    MAIS au lieu de retourner le numéro de jour (42614, 42615....) directement il me retourne l'erreur "#NOM?". Lorsque je sélectionne la formule de la cellule à la main et que je valide avec Entrée, là ça fonctionne. Il n'y a AUCUNE différence entre la cellule qui fonctionne et celle ne fonctionnant pas. (au niveau de la chaine de caractères)

    J'ai l'impression d'avoir un souci d'évaluation. J'ai tenté un évaluate, mais sans succès. Une idée d'où pourrait venir le problème ?

    Merci !

    -----

  2. #2
    Spazi

    Re : VBA - Souci sur valeur de cellule

    Bonjour,

    Remplacez votre DATEVAL par DATEVALUE


    Cordialement.

  3. #3
    invite948b37db

    Re : VBA - Souci sur valeur de cellule

    Bonsoir
    Citation Envoyé par Spazi Voir le message
    Bonjour,
    Remplacez votre DATEVAL par DATEVALUE
    Tout à fait. Ecrit sous cette forme, il faut le nom de la fonction en Anglais, la seule connue de VBA.
    Pour utiliser la fonction en version française, il passer par FORMULALOCAL :
    Code:
    Worksheets("cal").Cells(i + 1, 4).FormulaLocal = "=DATEVAL(" & Chr$(34) & Trim(Str(i) & "/09/2016") & Chr$(34) & ")"

  4. #4
    invite1d577638

    Re : VBA - Souci sur valeur de cellule

    C'était ça, merci beaucoup !!

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Excel: référence à une autre feuille dont la valeur de la cellule est variable
    Par invitee974e0e3 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 15/04/2016, 17h58
  2. VBA Excel - Masquer ligne vide de x cellule à x cellule
    Par invite82dd4f96 dans le forum Programmation et langages, Algorithmique
    Réponses: 11
    Dernier message: 08/09/2015, 11h14
  3. EXCEL 2007: Deplacer un objet en fonction de la valeur d'une cellule
    Par invite645f8d5d dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 13/01/2013, 11h31
  4. [Biologie Cellulaire] différence entre cellule procaryote et cellule eucaryote
    Par invited16a6f5e dans le forum Biologie
    Réponses: 2
    Dernier message: 19/06/2012, 18h46
  5. Réponses: 10
    Dernier message: 11/10/2009, 12h12