VBA extraire des données d'une database
Résolu/Fermé
A voir également:
- VBA extraire des données d'une database
- Extraire une video youtube - Guide
- Extraire son d'une video - Guide
- Extraire image pdf - Guide
- Excel validation des données liste - Guide
- Extraire fichier rar - Guide
8 réponses
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 452
3 févr. 2012 à 22:36
3 févr. 2012 à 22:36
Bonjour,
Pas besoin de VBA, essayez d'utiliser la fonction SOMMEPROD() qui doit vous donner les résultats escompter, par exemple dans la cellule [D11] (car il n'y a pas de semaine 46 et 47 dans [Database]), cette formule :
Pas besoin de VBA, essayez d'utiliser la fonction SOMMEPROD() qui doit vous donner les résultats escompter, par exemple dans la cellule [D11] (car il n'y a pas de semaine 46 et 47 dans [Database]), cette formule :
=SOMMEPROD((Database!$C:$C=48)*(Database!$P:$P=Report!$A11))A adapter pour les autres cellules.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par irongege le 6/02/2012 à 11:16
Modifié par irongege le 6/02/2012 à 11:16
Bonjour Aude
Toujours dans les usines à gaz Excel à ce que je vois ! :o)
On peut effectivement le faire par formules pas tristes
https://www.cjoint.com/?3BepzlCxI2B
Mais puisque tu calcules sur uniquement la dernière semaine, pourquoi ne pas supprimer ou archiver les anciennes (petit coup de Vba). si ça reste quand m^me long on pourra passer par du VBA. Vu la météo, je jetterai peut-^tre un oeil demain
tu dis..
Michel
Toujours dans les usines à gaz Excel à ce que je vois ! :o)
On peut effectivement le faire par formules pas tristes
https://www.cjoint.com/?3BepzlCxI2B
Mais puisque tu calcules sur uniquement la dernière semaine, pourquoi ne pas supprimer ou archiver les anciennes (petit coup de Vba). si ça reste quand m^me long on pourra passer par du VBA. Vu la météo, je jetterai peut-^tre un oeil demain
tu dis..
Michel
Coucou à tous et merci pour vos réponses !!!
Je regarde ça en détail dans l'après midi !!
Excellent journée à tous <frigorifiée!!>
Aude
PS: Michel, absolument ;) Et heureusement pour moi, tu n'es jamais loin ;)
Je regarde ça en détail dans l'après midi !!
Excellent journée à tous <frigorifiée!!>
Aude
PS: Michel, absolument ;) Et heureusement pour moi, tu n'es jamais loin ;)
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 6/02/2012 à 17:21
Modifié par michel_m le 6/02/2012 à 17:21
re,
Ci joint version avec VBA beaucoup plus rapide:
https://www.cjoint.com/?3Bgrqpp9J2O
principe: on délimite les recherches à la nouvelle semaine (lig début, ligne fin)en renommant les colonnes utiles au calcul: pays, colonnes P à T, colonnes U à Z entre lig debut et ligne fin
les formules sommeprod ont ainsi beaucoup moins de parcours à faire donc + rapide
Michel
Ci joint version avec VBA beaucoup plus rapide:
https://www.cjoint.com/?3Bgrqpp9J2O
principe: on délimite les recherches à la nouvelle semaine (lig début, ligne fin)en renommant les colonnes utiles au calcul: pays, colonnes P à T, colonnes U à Z entre lig debut et ligne fin
les formules sommeprod ont ainsi beaucoup moins de parcours à faire donc + rapide
Michel
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
7 févr. 2012 à 09:22
7 févr. 2012 à 09:22
tu peux supprimer la ligne 118 de pivots (oubli de ma part)
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
7 févr. 2012 à 16:25
7 févr. 2012 à 16:25
je n'ai pas regardé l'onglet report !
vu la météo, j'm'y met
vu la météo, j'm'y met
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
7 févr. 2012 à 16:53
7 févr. 2012 à 16:53
ici, en Sud-Ardèche ,c'est le mistral qui te change en glaçon dès que tu mets le nez dehors !
question:
je suis par exemple en semaine 3: comment est inscrit la colonne de la semaine 4 dans la feuille"report "? autrement dit, est ce la macro qui crée la colonne L ?
mine de rien, ca change la macro (pour l'instant dans ma t^te)
question:
je suis par exemple en semaine 3: comment est inscrit la colonne de la semaine 4 dans la feuille"report "? autrement dit, est ce la macro qui crée la colonne L ?
mine de rien, ca change la macro (pour l'instant dans ma t^te)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 452
7 févr. 2012 à 16:19
7 févr. 2012 à 16:19
Bonjour Aude,
Peut-être selon le poste 1!
Peut-être selon le poste 1!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
7 févr. 2012 à 18:37
7 févr. 2012 à 18:37
https://www.cjoint.com/?3BhsBHai023
Lorsque tu appuies sur le bouton
Outre ce qu'il existait déjà
Le décalage de C:L vers B:K est effectué (y compris les lignes masquées: à voir éventuellement si pb)
le nom de la semaine est inscrit (Wxx) et les valeurs de la nouvelle semaine sont inscrites en colonne L
le tout par VBA sans formules
nota dans le code enlève l'apostrophe devant application.screenupdating au début de la macro
moralité:le jour où j'oublierai rien...
Lorsque tu appuies sur le bouton
Outre ce qu'il existait déjà
Le décalage de C:L vers B:K est effectué (y compris les lignes masquées: à voir éventuellement si pb)
le nom de la semaine est inscrit (Wxx) et les valeurs de la nouvelle semaine sont inscrites en colonne L
le tout par VBA sans formules
nota dans le code enlève l'apostrophe devant application.screenupdating au début de la macro
moralité:le jour où j'oublierai rien...
Coucou à vous ;)
ça a l'air magique ... !!
Je regarde ça cette après midi mais je n'attend pas pour vous dire à quel point je vous remercie, c'est sont facilement plusieurs heures de gagnées par semaine pour moi !
Merci beaucoup, je vous confirme tout ça un petit peu plus tard;)
Bonne journée, sous la neige, ici !
Aude
ça a l'air magique ... !!
Je regarde ça cette après midi mais je n'attend pas pour vous dire à quel point je vous remercie, c'est sont facilement plusieurs heures de gagnées par semaine pour moi !
Merci beaucoup, je vous confirme tout ça un petit peu plus tard;)
Bonne journée, sous la neige, ici !
Aude
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
8 févr. 2012 à 09:28
8 févr. 2012 à 09:28
bonjour,
dans mon dernier envoi, je n'ai pas traité le cas où, au départ, "database" est vide ou qu'il n'y ait moins de 11 semaines de traitées; à mon avis, il faudrait traiter ce cas
Tu dis
sous la neige, ici
C'est mercredi,les gosses vont s'en donner à coeur joie avec les boules de neiges; donc, attention en sortant du boulot ! :-D
dans mon dernier envoi, je n'ai pas traité le cas où, au départ, "database" est vide ou qu'il n'y ait moins de 11 semaines de traitées; à mon avis, il faudrait traiter ce cas
Tu dis
sous la neige, ici
C'est mercredi,les gosses vont s'en donner à coeur joie avec les boules de neiges; donc, attention en sortant du boulot ! :-D
Coucou !
Alors les datas de ton exemple jusqu'à la week 4 sont parfaites !
Alors j'ai testée, en rajoutant la semaine 5 et ses infos:
http://cjoint.com/?BBililICshD
J'ai des questions: dans l'onglet "Pivots Performances by country"
les colonnes "Volume logged weekly" des 2 tableaux n'indiquent pas le même volume pour chaque pays !
Ce qui n'est pas logique (et effectivement, ça ne se produisait pas dans ton exemple sans la week 5).
Pour les colonnes "Errors", il y a aussi un problème dans les nombres reportés d'erreurs par pays qui ne correspondent pas avec la database
J'ai pas regardé l'onglet "reports" car j'ai une modification à faire dans la database (transformer "Address" par "Wrong address logged" par exemple pour que ça match.
Mais ça à toutefois l'air parfait
J'ai peut être surement ratée quelques chose pour la première partie ?!
Merci beaucoup ;)
Alors les datas de ton exemple jusqu'à la week 4 sont parfaites !
Alors j'ai testée, en rajoutant la semaine 5 et ses infos:
http://cjoint.com/?BBililICshD
J'ai des questions: dans l'onglet "Pivots Performances by country"
les colonnes "Volume logged weekly" des 2 tableaux n'indiquent pas le même volume pour chaque pays !
Ce qui n'est pas logique (et effectivement, ça ne se produisait pas dans ton exemple sans la week 5).
Pour les colonnes "Errors", il y a aussi un problème dans les nombres reportés d'erreurs par pays qui ne correspondent pas avec la database
J'ai pas regardé l'onglet "reports" car j'ai une modification à faire dans la database (transformer "Address" par "Wrong address logged" par exemple pour que ça match.
Mais ça à toutefois l'air parfait
J'ai peut être surement ratée quelques chose pour la première partie ?!
Merci beaucoup ;)
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
8 févr. 2012 à 12:01
8 févr. 2012 à 12:01
les colonnes "Volume logged weekly" des 2 tableaux n'indiquent pas le même volume pour chaque pays !
effectivement, mais tu n'avais pas demandé de formule: il suffit de recopier C58:C70 en colonne H
Pour les colonnes "Errors", il y a aussi un problème dans les nombres reportés d'erreurs par pays qui ne correspondent pas avec la database
Si c'est la différence entre les 2 tableaux, c'est normal; par exemple il y a des "all ok "colonne P et une erreur sur la colonne U ou vide et réciproquement
regarde le secteur des lignes 15570 à 15600
autrement, je ne comprend pas car la formule est identique....si c'est bon pour 4 c'est bon pour 5
la première ligne et à la dernière sem 5 calculée par la macro sont correctes 15290 et 17228
A ce propos, je n'ai pas trop compris le pourquoi des colonnes P à T pour compter les erreurs
par exemple ligne 15371 tu as en P: une erreur d'adresse et des précisions sur cette erreur colonnes Q et R (town et zip code) ce qui fait 2 erreurs et non 3 (si on prend P à T) mais il y a certainement une raison!
autrement quelle est ta réaction à mon poste de 9:28 h ?
effectivement, mais tu n'avais pas demandé de formule: il suffit de recopier C58:C70 en colonne H
Pour les colonnes "Errors", il y a aussi un problème dans les nombres reportés d'erreurs par pays qui ne correspondent pas avec la database
Si c'est la différence entre les 2 tableaux, c'est normal; par exemple il y a des "all ok "colonne P et une erreur sur la colonne U ou vide et réciproquement
regarde le secteur des lignes 15570 à 15600
autrement, je ne comprend pas car la formule est identique....si c'est bon pour 4 c'est bon pour 5
la première ligne et à la dernière sem 5 calculée par la macro sont correctes 15290 et 17228
A ce propos, je n'ai pas trop compris le pourquoi des colonnes P à T pour compter les erreurs
par exemple ligne 15371 tu as en P: une erreur d'adresse et des précisions sur cette erreur colonnes Q et R (town et zip code) ce qui fait 2 erreurs et non 3 (si on prend P à T) mais il y a certainement une raison!
autrement quelle est ta réaction à mon poste de 9:28 h ?
Alors, pour le volume loggued c'est ok ! juste je n'avais pas compris ;)
Pour les errors si je filtre la database pour n'avoir que la week 5, que le pays "Sweden" et colonne U je filtre tout sauf non vide et All ok: il reste 59 cellules remplies entre les colonnes U et Z mais ça me report 60 en H58
Idem pour "Austria/Germany/Switzerland" si je compte les erreurs colonne U à Z j'en trouve 53 (à la main) mais il m'en affiche 55 (2 de +)
Pour répondre à ta question sur les erreurs d'addresse, en fait on considère que "Address" c'est le nom/numéro de la rue, et ensuite zip code et city sont des champs différents, donc ça permet de cibler ce qui est faux (quand tout est faux c'est pas très interressant effectivement mais quand c'est qu'une partie de l'addresse qui est fausse, ça permet de faire remonter l'info la plus précise possible.:) )
Pour répondre à ton message précédent, la database n'est jamais vide :)
Par contre je ne suis pas sur d'avoir compris ça:
"qu'il n'y ait moins de 11 semaines de traitées; à mon avis, il faudrait traiter ce cas"
Tu veux dire que ça peut ne pas fonctionner correctement si il y a moins de 11 semaines différentes dans la database ? (si c'est ça, je crois que le fichier que je t'ai renvoyé n'a que 10 semaines différentes dans la database. :)
J'espère que je suis suffisamment claire, sinon n'hésites pas à me demander ;)
Merci pour ton aide précieuse Michel ;)
Aude
Pour les errors si je filtre la database pour n'avoir que la week 5, que le pays "Sweden" et colonne U je filtre tout sauf non vide et All ok: il reste 59 cellules remplies entre les colonnes U et Z mais ça me report 60 en H58
Idem pour "Austria/Germany/Switzerland" si je compte les erreurs colonne U à Z j'en trouve 53 (à la main) mais il m'en affiche 55 (2 de +)
Pour répondre à ta question sur les erreurs d'addresse, en fait on considère que "Address" c'est le nom/numéro de la rue, et ensuite zip code et city sont des champs différents, donc ça permet de cibler ce qui est faux (quand tout est faux c'est pas très interressant effectivement mais quand c'est qu'une partie de l'addresse qui est fausse, ça permet de faire remonter l'info la plus précise possible.:) )
Pour répondre à ton message précédent, la database n'est jamais vide :)
Par contre je ne suis pas sur d'avoir compris ça:
"qu'il n'y ait moins de 11 semaines de traitées; à mon avis, il faudrait traiter ce cas"
Tu veux dire que ça peut ne pas fonctionner correctement si il y a moins de 11 semaines différentes dans la database ? (si c'est ça, je crois que le fichier que je t'ai renvoyé n'a que 10 semaines différentes dans la database. :)
J'espère que je suis suffisamment claire, sinon n'hésites pas à me demander ;)
Merci pour ton aide précieuse Michel ;)
Aude
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 452
7 févr. 2012 à 22:05
7 févr. 2012 à 22:05
Bonjour,
Eh oui c'est un superbe travail.
Eh oui c'est un superbe travail.