IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fonction non actualisée [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Technicien d'exploitation
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'exploitation

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut Fonction non actualisée
    Bonjour,

    J'ai créé une fonction pour retrouver le premier jour ouvré après une date. Celle-ci fonctionne parfaitement.
    Mon problème c'est que régulièrement la valeur retourné passe à 0 (de façon aléatoire). Je suis donc obliger de rentrer manuellement dans la cellule et valider pour réactualiser le résultat.

    J'aurais donc besoin d'une solution pour ne pas perdre mes valeurs ou alors un moyen de réactualiser le résultat via une macro (j'ai un peu plus d'une centaine de cellule avec cette fonction)

    Voici la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Function lancement(colonne As String, Optional ByVal startday As Integer = 1) As Integer ' Recherche du premier jour ouvré après le paramètre startday
     
    ' Définition des variable
    Ligne = startday
     
    ' Recherche du premier jour ouvré après le paramètre startday
    Do While Ligne < 33
        If Range(colonne & Ligne).Value = "Jour ouvré" Then
            lancement = Ligne
            Exit Do
        End If
        Ligne = Ligne + 1
    Loop
    End Function

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,
    Citation Envoyé par Thoronfain Voir le message
    J'ai créé une fonction pour retrouver le premier jour ouvré après une date. Celle-ci fonctionne parfaitement...
    Permets-moi d'en douter ...

    Mais puisqu'elle te satisfait, je me contente de répondre à la question de l'actualisation, utilises (dans la fonction) :
    (et si besoin F1)

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien d'exploitation
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'exploitation

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    Bonjour,

    Tout d'abord, merci pour la réponse rapide.

    J'ai rajouté l'option Application.Volatile dans ma fonction mais cela ne change rien.
    Mes valeurs repasse à 0 régulièrement.

    Je suis preneur pour une autre fonction si une méthode plus simple/propre existe.

  4. #4
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Citation Envoyé par Thoronfain Voir le message
    ... Je suis preneur pour une autre fonction si une méthode plus simple/propre existe.
    Il faudrait savoir à quoi cette fonction est destinée.

    J'ai créé une fonction pour retrouver le premier jour ouvré après une date
    Mais là, je vois une fonction qui cherche, dans la feuille active, la première occurrence du texte "Jour ouvré" dans la colonne précisée, à partir de la ligne 1 (ou de la ligne précisée) jusqu'à la ligne 32 et qui retourne, le numéro de la ligne lorsque le texte est trouvé et sinon 0 (rien à voir avec le premier jour ouvré après une date)

  5. #5
    Membre habitué
    Homme Profil pro
    Technicien d'exploitation
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'exploitation

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    Comme tu l'indique,
    Ma fonction cherche la première occurrence du texte "Jour ouvré" dans la colonne précisée (Et c'est bien le but).
    La colonne précisé utilise d'autre fonction qui indique si le jour est ouvré ou non.

    Par contre en te lisant j'ai eu une idée, je vais ajouter le nom de ma feuille car je bouge sur plusieurs feuille régulièrement. Cela règlera peut-être le problème.

  6. #6
    Membre habitué
    Homme Profil pro
    Technicien d'exploitation
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'exploitation

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    J'ai rajouter le nom de la feuille dans ma fonction et je n'ai plus de problème.
    Voici la fonction terminé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Function lancement(feuil As String, colonne As String, Optional ByVal startday As Integer = 1) As Integer ' Recherche du premier jour ouvré après le paramètre startday
     
    ' Définition des variable
    Ligne = startday
     
    ' Recherche du premier jour ouvré après le paramètre startday
    Do While Ligne < 33
        If Sheet(feuil).Range(colonne & Ligne).Value = "Jour ouvré" Then
            lancement = Ligne
            Exit Do
        End If
        Ligne = Ligne + 1
    Loop
    End Function
    Merci Patrice740 pour l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LDAP] Fonctions non reconnues
    Par Wormus dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/01/2006, 14h46
  2. fonction non définie
    Par ston dans le forum Access
    Réponses: 11
    Dernier message: 12/12/2005, 17h02
  3. Verifier formulaire - fonction non appelée
    Par nerick dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/12/2005, 18h44
  4. [Configuration] Installation de PHP + Pbm de fonctions non reconnues
    Par BARBIER dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 23/11/2005, 11h54
  5. Le linker ignore les fonctions non implémentées
    Par Rodrigue dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/03/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo