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 :

probleme avec un sous total


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut probleme avec un sous total
    bonjour, dans une macro, je fais un sous total en choisissant la fonction nombre

    donc sur un tableau, a chaque changement de "matricule" je demande le nombre d'enfant.

    mais certain matricule ont plus de ligne que d'enfant

    du coup lorsque je fait mon sous total sans macro, je n'ai aucun bug, mais avec la macro, les sous totaux obtenue inclue la cellule vide

    si par exemple une personne a pas d'enfant et que la plage est vide il indiquera 1, alors que si je selectionne cette cellule en faisant "f2" et ensuite "entrée", le sous total passe à 0

    comment résoudre ce bug, j'ai d'aiileur le meme souci sur un copier coller valeur, ou il considere une cellule vide comme comportant une information, jusqu'a ce qu'elle soit séléctionner par "f2" puis "entrée"

    j'espère etre assez clair ::

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour,

    mon avis est que ce n'est pas du tout un problème VBA mais un problème de logique ou de conception de ta feuille et de tes totaux.

    Si ton information de base concerne des enfants, alors une ligne égale un enfant. Dans ce cas, pas de place pour des lignes""vides" qui n'ont rien à voir.

    Si par contre tu veux des lignes vides ou autres, alors tu dois fonctionner autrement, par exemple avec une colonne supplémentaire ou tu trouves 1 si enfant, et 0 si autrechose.

    il ne te reste plus alors qu'a totaliser cette nouvelle colonne à chaque changement de matricule et tu obtiendras ce que tu veux.

    Un total de pommes et de poires ne donne pas de nouveau fruit mais de la compote. C'est ton cas.

    NB : Plutot que subtotal, jette-toi dans la Pivot-Table (tableau croisé dynamique). Tu ne le regretteras pas.

    mais..... pour tout ceci, pas besoin de VBA... ou alors je n'ai rien compris.

  3. #3
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut
    merci, c'est vrai que jusqu'ici j'utilise pas le tableau croisé dynamique je v ais voir s'il convient

    mais malgré tout, il y a quand meme un souci
    car dans l'extraction excel que j'obtient, il y a pour chaque personnes autant de ligne que d'enfant plus une ligne vide (probleme d'extraction entre une base de donnée et excel...)
    donc une personne sans enfant aura une ligne
    celui qui a un enfant, 2 lignes
    etc..etc...

    donc malgré tout il est étrange de voir qu'en faisant un sous total sans passé par une macro, je n'ai aucun souci, alors que la meme manip en passant par un sous total va créer un faux simplement parce qu'il considere les toutes les cellules avec une information meme s'il n'y a rien.

    bon je vais voir maintenant le tableau croisé dynamique

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    je pense que quand tu dis sous-total tu veux dire Comptage, sinon je ne comprends pas.

    Mais si cela marche "manuellement" active l'enregistreur de macro avant de faire ta manip et puis quand tu l'as arreté regarde le code.

    Mis au propre cela devrait te générer la même chose.

    Dans les Pivot TABLE, tu peux très bien spécifier que tu ne veux pas les lignes a blanc.

  5. #5
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut
    je ne voit pas ce que tu appelle "comptage"

    moi je parle de la manip
    donné - sous total - ensuite je coche la colone matricule pour selectionner le changement
    je choisis la fonction Nombre qui correspond en fait a une formule dans la cellule " =SOUS.TOTAL(3;I12:I13)"
    et je coche le titre de la colone ou je veux que la fonction se fasse

    et entre faire cette manip a la main ou par macro le résultat est different a cause des cellules vides

    je me demande s'il n'est pas possible de faire une mani qui irais activé la cellule (genre touche f2), puis ensuite descendrais a la cellule suivante jusqu'a la fin du tableau, comme cela, ça effacerais le bug

  6. #6
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Désolé pour le comptage, mais au boulot j'ai Office Uk, alors parfois les traductions. D'accord pour "Nombre"

    Mais ce que tu me dis ne me semble pas juste.
    J'ai fais un test de ce que je te propose et cela marche pour moi.

    J'explique.

    Je pars d'un tableau vide.
    En colonne A, j'encode
    A1 : Nom1
    A2 : Nom2
    A4 : Nom4

    En colonne B , quelquechose en regard, mais on s'en fiche.

    Ensuite je démarre mon enregistreur de macro et je fais un sous-total avec "nombre en rupture sur la colonne a.

    Le résultat est conforme a mes attentes, à savoir :
    A B
    nom1 1
    Nombre nom1 1
    nom2 2

    Nombre nom2 1
    Nom4 4
    Nombre Nom4 1
    Nbval 3
    Comptage 1, 1 et 1 et 3 au total.

    J'arrête l'enregistreur de macro et puis je regarde le code.
    J'annule mes sous-otaux et je les génère avec ma macro.
    Idem.

    Donc m'a question :
    Es-tu certain que tes données sont triées et que tu fais comme je le suggère ?

    Si oui, peux tu m'attacher une petite extraction de ces données et ton code VBA ?

    Ci-dessous mon code généré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 28/01/2009 par Admin
    '
     
    '
        Selection.Subtotal GroupBy:=1, Function:=xlCount, TotalList:=Array(2), _
            Replace:=True, PageBreaks:=False, SummaryBelowData:=True
    End Sub

Discussions similaires

  1. probleme avec to_number sous access
    Par lassmust dans le forum Access
    Réponses: 1
    Dernier message: 01/12/2005, 14h18
  2. Probleme avec height sous IE.
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/10/2005, 22h20
  3. Problèmes avec Hibernate (sous Eclipse)
    Par Pierric dans le forum Hibernate
    Réponses: 2
    Dernier message: 07/04/2005, 14h35
  4. Problème avec GLUT sous borland c++ builder X
    Par hiko-seijuro dans le forum GLUT
    Réponses: 1
    Dernier message: 04/11/2004, 12h47
  5. Problème avec phpize sous debian woody
    Par nipepsi dans le forum Debian
    Réponses: 3
    Dernier message: 09/09/2004, 11h54

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