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 :

(ajout autre souci) Graphique et échelle de temps


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2011
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 258
    Par défaut (ajout autre souci) Graphique et échelle de temps
    Bonjour à tous,

    J'ai un souci que je n'arrive pas à régler. La cellule dans laquelle je tape:

    Affiche "#VALEUR". Voici le code de ColorCell:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Function ColorCell(Cible As Range) As Long
        cpt = 0
        For Each c In Cible
            If (c.Interior.ColorIndex <> -4142) Then
                cpt = cpt + 1
            End If
            Debug.Print c.Interior.ColorIndex
        Next c
        Debug.Print c & " " & cpt
        ColorCell = cpt
    End Function
    Donc la fonction est sensée compter les cases qui ont une couleur dans une range.

    C'est très difficile à débugger étant donné qu'on ne peut à priori pas afficher les étapes intermédiaires en Debug.Print (en tous cas moi ça ne m'affiche rien puisque je ne le lance pas depuis le vba editor mais depuis excel), j'ai aussi testé MsgBox sans succès.

    Bref je pense qu'il y a un problème avec Cible mais je ne sais pas quoi.

    J'ai aussi essayé à la fin de mettre ColorCell = 1, mais ça affiche toujours #VALEUR, bref je ne comprends vraiment pas ce qui cloche ici.

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Pas de problème chez moi, la fonction retourne bien le nombre de cellule

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2011
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 258
    Par défaut
    Merci de ta réponse.

    Je ne comprends pas ce qui peut se passer alors. :/ Je vais continuer à chercher

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2011
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 258
    Par défaut
    J'ai finalement trouvé, il n'aimait à priori pas le code "inutile", et donc les Debug.Print.

    Bref ça fonctionne.

    Par contre j'ai un nouveau souci, j'ai donc pu générer le nombre de personnes présentes chaque jour, mais je dois en faire un graphique; J'y suis depuis plus d'une heure sans succès, le tableau est (à mon avis) très mal construit pour la réutilisation des données, mais je vous laisse en juger (j'ai coupé les noms des personnes)



    Ce n'est qu'une copie d'écran du départ du tableau, ça continue sur... 200 colonnes (une colonne par jour). Donc les couleurs représentent des causes diverses d'absence. Le résultat de ma fonction pour le moment je l'ai mis sur la dernière ligne du tableau.

    Je reprends donc les données de cette ligne, et tente de prendre les dates auxquelles elles correspondent mais les graphiques ont des formes bizarres. J'ai aussi essayé de prendre seulement les valeurs de la ligne générée par la fonction, puis d'y ajouter un ordre chronologique.


    (Ne vous arrêtez pas aux "-1" dans le graphique, c'est seulement les jours non ouvrés, que je m'occuperais de virer par la suite)

    Ca fonctionne, sauf que le départ est au 01/01/1900, quoiqu'il arrive, alors que je change les dates ici:



    Mais sur le graphique ça n'est pas pris en compte; L'échelle reste en 1900, et si je retourne dans les paramètres de l'axe les dates sont de nouveau en 1900.

    (Je suis bien conscient que ce problème n'a "plus rien" à voir avec le souci du départ, j'ai pensé que ça serait plus simple de l'ajouter sur ce post pour ne pas flooder le forum, si je dois le poster dans la partie Excel générale dites le moi pas de souci)

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2011
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 258
    Par défaut
    Quelqu'un aurait-il une idée de comment m'y prendre pour que l'échelle fonctionne? Merci!

Discussions similaires

  1. Graphique avec les dates (temps) en abscisse
    Par nainvert dans le forum Excel
    Réponses: 3
    Dernier message: 15/02/2018, 10h45
  2. Ajout d'objets graphiques depuis une autre classe
    Par metalamania dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 27/07/2010, 15h55
  3. Réponses: 4
    Dernier message: 19/12/2007, 10h19
  4. Réponses: 22
    Dernier message: 04/04/2007, 15h24
  5. Ajouter une carte graphique a un serveur
    Par TheoBenson dans le forum Composants
    Réponses: 5
    Dernier message: 21/11/2006, 10h29

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