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 :

tableau en pourcentage


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Par défaut tableau en pourcentage
    Bonjour !
    J'ai un petit problème avec mon programme... il ne me met aucune erreur mais il ne calcule rien du tout, je pense donc que l'erreur vient de ma façon d'écrire les choses...

    Explications :

    J'ai deux classeurs excel ouverts :

    - classeur "macro" qui contient deux feuilles :
    * feuille "LANCER LE PROGRAMME", qui contient une valeur (premlig) en H18
    * feuille "data" qui contient toute une série de données (nombre de données = premlig - dernière ligne de la feuille data + 1)

    - classeur "correlation HS TP DIRP" qui contient 3 feuilles :
    * feuille "HS TP"
    * feuille "HS DIRP"
    * feuille "TP DIRP"
    chacune de ces feuilles contient un tableau.


    J'espère avoir été assez claire jusque maintenant... Je voulais que mes tableaux soient en pourcentage. J'ai donc écrit un programme que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Sub frequence()
     
    Dim premlig As Integer, derlig As Variant, nb As Variant, a As Variant, b As Variant
     
    derlig = Workbooks("macro").Sheets("data").Range("A65536").End(xlUp).Row
    premlig = Workbooks("macro").Sheets("LANCER LE PROGRAMME").Range("H18").Value
     
    nb = derlig - premlig + 1
     
     
    For k = 1 To 36
        For j = 1 To 20
            For i = 1 To 22
                    a = Workbooks("correlation Hs Tp Dirp").Sheets("HS DIRP").Cells(k + 1, i + 1).Value
                    Workbooks("correlation Hs Tp Dirp").Sheets("HS DIRP").Cells(k + 1, i + 1).Value = a / nb * 100
                    b = Workbooks("correlation Hs Tp Dirp").Sheets("TP DIRP").Cells(k + 1, j + 1).Value
                    Workbooks("correlation Hs Tp Dirp").Sheets("TP DIRP").Cells(k + 1, j + 1).Value = b / nb * 100
                    c = Workbooks("correlation Hs Tp Dirp").Sheets("HS TP").Cells(i + 1, j + 1).Value
                    Workbooks("correlation Hs Tp Dirp").Sheets("HS TP").Cells(i + 1, j + 1).Value = c / nb * 100
            Next i
        Next j
    Next k
     
    End Sub

    sauf que, comme je vous l'ai dit, ça ne marche pas... Qu'est-ce que j'ai fait de travers ?

    Merci d'avance pour votre aide,
    Titened

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir.

    Difficile de te dépanner avec ces infos mais voici qq remarques :
    • tu parles de pourcentages, mais des valeurs / nb de lignes, je ne vois pas trop le sens de tes pourcentages
    • Dans les cellules comme
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Workbooks("correlation Hs Tp Dirp").Sheets("HS DIRP").Cells(k + 1, i + 1)
      , il y a quoi? Des valeurs ou des formules?
    • Je ne vois pas du tout l'intérêt d'imbriquer 3 boucles For ... Next : par exemple, pour la feuille "HS TP" toute combinaison i,j est calculée 36 fois (de k = 1 à 36)
    • A chaque fois on fait /nb*100...
    • On devrait avoir 36 x 20 x 22 x 3 lectures de cellules et autant d'écritures, soit 47520 lectures et 47520 écritures, ce qui fait beaucoup et devrait prendre un peu de temps...

    Le plus étonnant, c'est que tu n'aies aucun résultat, sauf si au départ il y a déjà des 0 dans les tableaux.

    Si tu as besoin de plus d'aide, explique comment sont faits les tableaux, ce qu'ils contiennent et ce que tu veux calculer.

    Cordialement,

    PGZ

  3. #3
    Membre averti
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Par défaut
    pardon pardon !

    c'est vrai que j'ai oublié l'essentiel..

    j'ai un tableau
    * HS TP avec 20 colonnes Tp et 22 lignes HS
    *TP DIRP avec 20 colonnes TP et 36 lignes DIRP
    * HS DIRP avec 22 colonnes HS et 36 lignes DIRP
    (chaque première ligne et première colonne donne les noms des lignes et colonnes)

    dans toutes ces cellules il y a des valeurs. Je compte les données de "data".
    pour le pourcentage je voulais faire un produit en croix : [valeur] / [nombre total de valeurs] * 100

    J'avoue que la programmation est pour moi quelque chose d'obscur, mais c'est en se plantant qu'on pousse

    j'espere avoir tout expliqué cette fois-ci...
    Merci de vous être penchés sur mon problème

  4. #4
    Membre averti
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Par défaut
    Ben c'est bon, ca marche.

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

Discussions similaires

  1. [CR 2008] Tableau Croisé & pourcentage
    Par Dams63 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 18/05/2012, 07h32
  2. Réponses: 6
    Dernier message: 27/05/2008, 10h03
  3. faire pourcentage à partir d un tableau
    Par cetenza dans le forum Excel
    Réponses: 10
    Dernier message: 11/09/2007, 18h50
  4. Pourcentages, padding, tableau et bug firefox
    Par Martyin dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 17/04/2007, 11h16
  5. [CR8.5] Pourcentage dans tableau ?
    Par Etienne51 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/08/2004, 14h00

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