begin process at 2010 02 10 06:45:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

[Excel | VBA] Probleme sur Macro Filtre et absence de valeur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Excel | VBA] Probleme sur Macro Filtre et absence de valeur

lundi 23 juin 2008 à 15:40:36 | [Excel | VBA] Probleme sur Macro Filtre et absence de valeur

AiDuK

Bonjour à toutes et à tous,

Je me trouve actuellement confronté à un problème.
Dans le projet sur lequel je travail, j'importe des informations à partir de requètes d'une BDD Access

Par exemple :

J'ai une BDD sur le vente de matériel informatique ( nous utiliserons écran, souris, clavier pour l'exemple )
Différentes requètes ( nombre d'écran vendus sur 12 mois glissants, séparés par mois, et de même pour les claviers et les souris )

J'importe les différentes requètes, ce qui me donne :

         A                                             B                                                                  C                                       D

1      MOISMOIS PREVPRODUITMoyenne prix vente
2      janv.-081écran84,6
3      févr.-082écran93,3
4      mars-083écran100,0
5      avr.-084écran85,7
6      mai-085écran83,3
7      juin-076écran100,0
8       juil.-077écran100,0
9       août-078écran0,0
10     sept.-079écran100,0
11     oct.-0710écran80,0
12     nov.-0711écran100,0
13     déc.-0712écran88,9
14     Moy / Average84,7



Sur une page se trouve le mois et l'année dont j'aimerais avoir les indicateurs de vente  ( ex : mai-08 )
Ensuite j'applique un filtre qui m'affiche la moyenne des ventes pour le mois choisi ( dans mon exemple mai-08 )
Ce qui me donne :

6      mai-085écran83,3


Cependant si je n'ai pas vendu d'écran durant le mois de Mai 2008, lorsque j'actualise mes données provenant de ma requète Access, j'obtiens :

        A                                             B                                                                  C                                       D

1      MOISMOIS PREVPRODUITMoyenne prix vente
2      janv.-081écran84,6
3      févr.-082écran93,3
4      mars-083écran100,0
5      avr.-084écran85,7
7      juin-076écran100,0
8       juil.-077écran100,0
9       août-078écran0,0
10     sept.-079écran100,0
11     oct.-0710écran80,0
12     nov.-0711écran100,0
13     déc.-0712écran88,9
14     Moy / Average                                  




Le probleme est que lorsque j'applique le filtre en fonction du mois, il ne trouve pas de données et du coup, fait buguer la macro.

De plus cela ne m'affiche plus rien dans le graphique qui dépend de ces données. Alors que je voudrais qu'il me mette Zero



Si quelqu'un pouvait m'aider , cela serait fort appréciable s'il vous plait , car la , je suis un peu perdu et j'ai essayé de nombreuses solutions, mais en vain.

Si vous avez des zones d'ombre sur mon explication, je me tiens à votre disposition pour préciser certaines choses


Merci d'avance,


AiDuK
lundi 23 juin 2008 à 17:47:00 | Re : [Excel | VBA] Probleme sur Macro Filtre et absence de valeur

chapata



Hello ,


fait une tite macro qui vérifie que tes lignes ne sont pas vides, si tel est le cas, balance un zéro dans les champs concernés.
Enfin, c'est une piste ... pas une solution.

ChaPaTa
/FONT>
lundi 23 juin 2008 à 19:00:02 | Re : [Excel | VBA] Probleme sur Macro Filtre et absence de valeur

LIBRE_MAX

Salut,
Exact chapata, mais..
le mieux serait que ça soit fait au niveau de la requete.
Table_Mois  ---->Table_Ventes
S' il n' y a pas de correspondance du Mois dans la table ventes "balances un zéro".


... Y'en a même qui disent qu'ils l'ont vu voler.
mardi 24 juin 2008 à 09:12:54 | Re : [Excel | VBA] Probleme sur Macro Filtre et absence de valeur

chapata



Si mes souvenirs sont bons, il n'est pas posssible dans une requête SELECT d'effectuer des des boucles, tu peux juste utliser le :
CASE WHEN, du style :
   (CASE WHEN [MOIS] IS NULL THEN 'balance des 0 partout'
      ELSE 'balance mes valeurs' END)

Et ceci appliqué pour tes champs ou tu veux des 0.

Comment est récupérer tes données sur Excel , depuis une connection et requête excel ou un export depuis ta base ?
Car si c'est depuis Excel, je craint que cela ne fonctionne pas, sinon ca a des chances de fonctionner.

A la limite du refait ta requête avec des Jointures LEFT OUTER JOIN, comme ca tu auras toujours tes champs clé, et des valeurs vides, a ce moment tes CASE WHEN vont fonctionner.

Sinon, passe une Macro Excel ...

Bon courage.

***********  Si cette réponse vous convient, merci de valider ce post  ***********

ChaPaTa
mardi 24 juin 2008 à 09:24:45 | Re : [Excel | VBA] Probleme sur Macro Filtre et absence de valeur

AiDuK

Pour récupérer mes données Access sous Excel, je vais dans :
Données -> Données Externes -> Importer Données  , puis je choisis ma BDD Access et enfin la requète que je veux importer

Cependant, concernant le problème que je rencontre actuellement , je viens d'identifier la provenance.
Lorsque je faisais des test, j'avais fais une copie de la BDD, sur cette copie la requète m'affiche le mois de mai avec 0 vente
Mais sur la BDD actuelle, cela ne marche pas, elle a subie quelques modifications et la même requète ne m'affiche pas un mois, s'il n'y a pas de vente.

Cependant , je ne peux pas reprendre l'ancienne BDD, du fait du trop grand nombre de modification.
Les modifications ne concernent en aucun cas les propriétés des champs de ma table, c'est pourquoi je ne comprends pas pourquoi cela ne marche pas.
mardi 24 juin 2008 à 09:53:10 | Re : [Excel | VBA] Probleme sur Macro Filtre et absence de valeur

chapata



Tu fais une requête sur 2 tables dans ta BDD, puis tu vas chercher via Excel une importation de cette requête.
Alors si ta requête ne te ramène pas tes lignes à 0, il faut que tu la vérifie.

Essai de faire une jointure externe (LEFT OUTER JOIN) sur tes tables, pour ramener la clé Mois, par défaut et toutes les infos que tu veux apres, souris, clavier, etc ....
Utilise le "Case When" comme énoncé précédemment.
==> ceci est plutot un problème de conception de requête. Car excel garde en mémoire les palges des valeurs importées.

Sinon, passe par une petite macro excel, pour mettre des 0 à ou yen a pas.

***********  Si cette réponse vous convient, merci de valider ce post  ***********

ChaPaTa
/FONT>
mardi 24 juin 2008 à 11:45:38 | Re : [Excel | VBA] Probleme sur Macro Filtre et absence de valeur

AiDuK

Le truc c'est que je n'utilise qu'une seule table du fait du peu d'informations stockées, donc pas de jointure de table.

 

Bon ,je vais essayer une macro, mais je vais avoir besoin d'aide.

 

Macro de départ :

Sub TriTest()

    Range("A89:H90").Select
    Selection.ClearContents
    Range("A74:H86").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "A72:A73"), CopyToRange:=Range("A89"), Unique:=True

End Sub

De A89 à H90 se trouve le résultat de mon filtre. Je séléctionne et je l'éfface pour enlever le filtre précédent.
Puis j'éffecute un filtre sur les plage A74 à H86 en fonction du mois souhaité ( qui se trouve en A89 )

C'est là ou j'ai besoin d'aide, pour rajouter sur la macro que si il ne trouve pas dans la plage de recherche le mois demandé, qu'il me mette à la place du résultat du filtre des 0 partout.


Merci,


AiDuK

mardi 24 juin 2008 à 12:10:50 | Re : [Excel | VBA] Probleme sur Macro Filtre et absence de valeur

chapata



Hello ,
avant ton filtre tu fais un copier/coller:


' Se place sur la cellule au dessus A73
range ("A73").select
dim i as integer
dim j as integer
for i = 1 to 13 'i = nombre de lignes de A73 à A86 (simple soustraction, que tu peux modifier .... au besoin)
   if activecell.offset(i) = "" then ' Si la cellule en dessous est = à rien alors ....
      for j = 1 to 8   ' pour  j = 1 à 8 (simple sousctraction du nombre de colonne de A à H, que tu peux modifier ... au besion)
         activell.offset(,j) = 0 'inscrit 0 dans la cellule de la colonne déca lé de j
      next ' colonne suivant
   end if ' fin de condition
next 'ligne suivante


Dis moi si ca fonctionne ...

***********  Si cette réponse vous convient, merci de valider ce post  ***********

ChaPaTa
/FONT>
mardi 24 juin 2008 à 13:41:24 | Re : [Excel | VBA] Probleme sur Macro Filtre et absence de valeur

AiDuK

Merci de ton aide.

Bon , j'ai testé, mais cela ne fonctionne pas.

Je pense que le plus simple serait de résoudre le probleme directement dans Access ( Table + Requète )
Car c'est la source du problème, de plus lorsque j'actualise, il ne me met pas un blanc, mais il colle le mois de mai, et juste en dessous le moisde juillet.

Dans à mon avis, je vais approfondir de ce coté là

par contre, si tu as une idée ou des conseils pour cela , je suis preneur.

Cordialement,


AiDuK
mardi 24 juin 2008 à 13:45:01 | Re : [Excel | VBA] Probleme sur Macro Filtre et absence de valeur

chapata

Réponse acceptée !


Donc quand tu actualise il ne te mets pas de ligne vide ... alors le passage de la boucle de fera rien. C'est ce que je te disais plus haut, il faut revoir ta requête.

Elle fonnctionne pas la macro ? c'est quoi l'erreur ?



***********  Si cette réponse vous convient, merci de valider ce post  ***********

ChaPaTa
/FONT>

1 2

Cette discussion est classée dans : macro, probleme, filtre, mois, mai


Répondre à ce message

Sujets en rapport avec ce message

HELLLLLLLLPPPPPPP, j'ai une tout petit probleme MERCIIIIIIIIIII [ par Kamal ] Bonjour,J'aimerais juste savoir comment avoir acces a la macro deriere un bouton Excel. Par exemple: le bouton Fichier. J'aimerais connaitre la macro Probleme de macro en boucle [ par angel ] Bonjour,Je suis en train de réaliser une macro qui aura pour but de figer des valeurs obtenues par liaisons, seulement tout mon tableau est figé(elle J'ai un probleme !!! sur le lancement d'une macro censée formatée des fichiers textes sous excel [ par Chnocleu ] je crée une macro qui est censée automatiser :- l'ouverture de 3 fichiers texte, - délimiter leur contenu , - et fixer les fichiers au format .xls sou probleme arrondi [ par liam ] jeune stagiare debutant en VBA, j'ai la lourde charge de gerer un gros probleme d'arrondis avec une macro excel.ne connaissant pas vraiment le vb j'ai Excel et VB - Filtre auto et selection [ par BilouPilou75 ] Ca doit pas être bien dur, voir il y a une instruction pour...J'ai un tableau excel, avec un paquet de colonnes à sommer et une macro qui fait se trav Probleme excel-date [ par ketu ] Je voudrais savoir commetn on peut comparer deux dates: cest a dire avr-01 et mai-01 par exemple: comment on peut savoir que mai-01 est apres avr-01.V page blanche y a t il une soulution [ par brico ] je pro sur vba excelj'explique mon problemej'ai créér plusieurs macros avec un menu principal pour l'utilisateur ou il a le choix entre tel et tel mac probleme de macro [ par jeffbybubule ] bubuleMa colonne B1 a B8 comporte le meme nombre (un numero de serie) je veux en garder qu un et que les chiffres dans les autres colones C1 a C8 et D Macro sur Tableau dynamique et VBA ... [ par guitch1101 ] Bonjour,Question d'un débutant !Je souhaite automatiser la création de tableaux dynamiques avec une macro, ma question est donc de savoir s'il est pos lancement de macro chaque mois [ par Nkubi ] Bonjour,je crois avoir déjà vu cette question sur le forum mais comme je ne l'ai pas retrouvé, je vais la reposer.Je dois faire une procédure qui au d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales