Utilisation de fonctions en VBA sur access
Fermé
renan.michel
Messages postés
4
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
8 septembre 2014
-
Modifié par blux le 7/02/2013 à 21:14
tessel75 - 7 févr. 2013 à 22:55
tessel75 - 7 févr. 2013 à 22:55
A voir également:
- Utilisation de fonctions en VBA sur access
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- La ressource demandée est en cours d'utilisation - Forum Téléphones & tablettes Android
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Vous avez utilisé ce numéro de téléphone à de trop nombreuses reprises - Forum Gmail
4 réponses
blux
Messages postés
26507
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
7 févr. 2013 à 19:23
7 févr. 2013 à 19:23
Salut,
j'ai pas tout compris, mais je crains que tu ne confondes access avec excel...
Ton vba ne me semble pas familier du tout.
Ce qui serait bien, c'est que tu exposes précisément ce que tu veux obtenir, avec ce dont tu disposes pour ce faire...
j'ai pas tout compris, mais je crains que tu ne confondes access avec excel...
Ton vba ne me semble pas familier du tout.
Ce qui serait bien, c'est que tu exposes précisément ce que tu veux obtenir, avec ce dont tu disposes pour ce faire...
Salut blux,
Tout d'abord merci de t'y intéresser, je vais essayer d'être plus clair:
Je veux bien me servir d'access mais il est possible que j'ai récupéré un code vba qui ne fonctionne qu'avec excel, je pensais que le code serait le même pour les deux logiciels, n'est ce pas le cas?
En fait j'ai besoin d'access pour simplifier une macro sur des tableaux 50000*300, d'après ce que j'en sais access peut me faire gagner du temps de calcul qui pour le moment se compte en heures. J'essaye donc de me familiariser avec l'utilisation de macro sur access.
Pour ça je veux faire tourner le programme suivant qui prend en compte un tableau, possède une fonction (macro_test) permettant d'étudier dans différents cas boite_de_dialogue.
La boite_de_dialogue permet de renvoyer une MsgBox donnant le nom le prénom et:ou l'age en fonction de ce qui se trouve dans le tableau.
Et la fonction la teste dans des cas comme: il n'y a que le nom, on y ajoute l'age dans un autre...
Mon but est de pouvoir appliquer cette macro directement sur un tableau possédant le 3 colonnes correspondantes.
Tout d'abord merci de t'y intéresser, je vais essayer d'être plus clair:
Je veux bien me servir d'access mais il est possible que j'ai récupéré un code vba qui ne fonctionne qu'avec excel, je pensais que le code serait le même pour les deux logiciels, n'est ce pas le cas?
En fait j'ai besoin d'access pour simplifier une macro sur des tableaux 50000*300, d'après ce que j'en sais access peut me faire gagner du temps de calcul qui pour le moment se compte en heures. J'essaye donc de me familiariser avec l'utilisation de macro sur access.
Pour ça je veux faire tourner le programme suivant qui prend en compte un tableau, possède une fonction (macro_test) permettant d'étudier dans différents cas boite_de_dialogue.
La boite_de_dialogue permet de renvoyer une MsgBox donnant le nom le prénom et:ou l'age en fonction de ce qui se trouve dans le tableau.
Et la fonction la teste dans des cas comme: il n'y a que le nom, on y ajoute l'age dans un autre...
Mon but est de pouvoir appliquer cette macro directement sur un tableau possédant le 3 colonnes correspondantes.
blux
Messages postés
26507
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
7 févr. 2013 à 19:57
7 févr. 2013 à 19:57
C'est quoi pour toi un 'tableau' ?
Le code est identique si on gère les mêmes chose. Or excel manipule des feuilles de calcul alors qu'access manipule des tables...
Le code est identique si on gère les mêmes chose. Or excel manipule des feuilles de calcul alors qu'access manipule des tables...
Désolé, je parle de table, il est possible dans ce cas que des fonctions comme range ne fonctionne pas dans ce cas, est ce le cas?
blux
Messages postés
26507
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
7 févr. 2013 à 20:48
7 févr. 2013 à 20:48
C'est exactement cela...
C'est pour ça que je demande ce que tu veux faire et ce dont tu disposes pour y arriver (type de données, format de stockage...).
C'est pour ça que je demande ce que tu veux faire et ce dont tu disposes pour y arriver (type de données, format de stockage...).
Je dispose d'une Table, mais je l'utilise comme un tableau par ce que je ne connais pas la différence entre les deux. Je le stocke donc comme une table dans access, par contre j'aurai du mal à t'en dire plus là-dessus. Mais j'aimerai récupérer la valeur à l'intérieur de ces cases par la suite. En réalité par cet exemple assez simple je voulais essayer de comprendre comment cela fonctionnait, mais mon vrai objectif est d'importer un tableau sous forme de fichier texte sur access, ce qui ne m'a pas posé de soucis, puis de travailler sur ce tableau en gardant uniquement les colonnes qui m'intéressent et en effectuant une des boucles par exemple sur ces colonnes par la suite. Mon gros problème est donc peut-on considérer une table comme un tableau?
blux
Messages postés
26507
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
7 févr. 2013 à 21:14
7 févr. 2013 à 21:14
Tu as donc une table, qui comprend des lignes et des colonnes.
On peut considérer cela comme un 'tableau' (ensemble de données de même type).
Une fois que la table est correctement 'peuplée', on peut lui faire 'subir' à peu près tout ce qu'on veut.
Cependant, si ton but est de gagner en temps sur un traitement chronophage fait en excel, il faudra veiller à bien exposer ton problème, afin que l'on puisse voir où sont les axes d'amélioration....
On peut considérer cela comme un 'tableau' (ensemble de données de même type).
Une fois que la table est correctement 'peuplée', on peut lui faire 'subir' à peu près tout ce qu'on veut.
Cependant, si ton but est de gagner en temps sur un traitement chronophage fait en excel, il faudra veiller à bien exposer ton problème, afin que l'on puisse voir où sont les axes d'amélioration....
C'est là que se pose une autre de mes interrogations, si j'utilise un code vba comme excel je ne vois pas en quoi l'utilisation d'access va me faire gagner du temps, je ne connais pas les particularités d'access, connaitrais tu par hasard une différence qui en serait la cause et que je pourrais exploiter. Par ce que pour lemoment je suis parti pour faire la m^me chose je pense, pas très utile!
Bonsoir R.M. , Bonsoir à Blux que je salue au passage,
Désolé Renan.Michel d'être un peu raide, mais tu nous fais une salade de tous les diables. Si le code que tu as pêché on ne sait où fonctionnait dans Access, ça relèverait du miracle mais certainement pas de l'informatique. Comme te l'as dit Blux, ça ressemble à du code Excel, certaines expressions paraissent en sortir tout droit (Range("A1")) qui ne sont pas du tout de l'Access; Access "parle" en terme de tables ou de requêtes et de champs, ou bien en terme de formulaires et de contrôles, éventuellement en terme d'états, mais certainement pas en terme de "plages".
Le code en question peut être intéressant mais de toutes façons il ne peut pas être utilisé tel quel, par un simple Copier/Coller, il faudrait l'adapter très sérieusement.
Maintenant, ton "projet": l'idée n'est pas forcément mauvaise en elle-même, mais à condition de savoir exactement ce que tu comptes en faire à long terme parce que le procédé risque d'être passablement lourd. Il nécessiterait de mettre "à la norme" Access ta feuille Excel, de l'importer dans Access, de "mouliner" la table dans Access via une requête et enfin de faire recracher le résultat sur Excel éventuellement ou sous une autre forme. Cela chaque fois que tu en auras besoin. Rien de vraiment simple.
Si tu y tiens réellement, je suis convaincu que beaucoup de personnes ici sont prêtes à t'aider, encore faut-il savoir si le jeu en vaut la chandelle et si la moulinette Excel n'est pas et suffisante et plus rapide que ces opérations successives. Toi seul peux le dire.
Bonne suite
Désolé Renan.Michel d'être un peu raide, mais tu nous fais une salade de tous les diables. Si le code que tu as pêché on ne sait où fonctionnait dans Access, ça relèverait du miracle mais certainement pas de l'informatique. Comme te l'as dit Blux, ça ressemble à du code Excel, certaines expressions paraissent en sortir tout droit (Range("A1")) qui ne sont pas du tout de l'Access; Access "parle" en terme de tables ou de requêtes et de champs, ou bien en terme de formulaires et de contrôles, éventuellement en terme d'états, mais certainement pas en terme de "plages".
Le code en question peut être intéressant mais de toutes façons il ne peut pas être utilisé tel quel, par un simple Copier/Coller, il faudrait l'adapter très sérieusement.
Maintenant, ton "projet": l'idée n'est pas forcément mauvaise en elle-même, mais à condition de savoir exactement ce que tu comptes en faire à long terme parce que le procédé risque d'être passablement lourd. Il nécessiterait de mettre "à la norme" Access ta feuille Excel, de l'importer dans Access, de "mouliner" la table dans Access via une requête et enfin de faire recracher le résultat sur Excel éventuellement ou sous une autre forme. Cela chaque fois que tu en auras besoin. Rien de vraiment simple.
Si tu y tiens réellement, je suis convaincu que beaucoup de personnes ici sont prêtes à t'aider, encore faut-il savoir si le jeu en vaut la chandelle et si la moulinette Excel n'est pas et suffisante et plus rapide que ces opérations successives. Toi seul peux le dire.
Bonne suite
Bonsoir tessel75,
Ne t'inquiète pas, n'ayant vraiment aucune prétention en informatique je prends très bien ton commentaire qui s'avère très constructif, j'ai en effet essayé d'adapter le peu que je savais d'excell à access ce qui ne sert à rien convenons-en, je me suis lancé un peu tête baissée là-dedans et je te remercie de m'avoir aidé à voir que mon problème était plutôt sur ma manière d'aborder access. Je vais voir si je continue avec lui, le soucis c'est qu'actuellement j'ai déjà un code sur excell qui fonctionne bien mais est trop lent. C'est donc juste par soucis d'optimisation que je me renseignais sur access. Bonne soirée à toi
Merci aussi à Blux pour ta patience
Ne t'inquiète pas, n'ayant vraiment aucune prétention en informatique je prends très bien ton commentaire qui s'avère très constructif, j'ai en effet essayé d'adapter le peu que je savais d'excell à access ce qui ne sert à rien convenons-en, je me suis lancé un peu tête baissée là-dedans et je te remercie de m'avoir aidé à voir que mon problème était plutôt sur ma manière d'aborder access. Je vais voir si je continue avec lui, le soucis c'est qu'actuellement j'ai déjà un code sur excell qui fonctionne bien mais est trop lent. C'est donc juste par soucis d'optimisation que je me renseignais sur access. Bonne soirée à toi
Merci aussi à Blux pour ta patience
Sans façon, R.M.. Nous sommes tous là pour échanger et apprendre. Mais mieux vaut le dire quand un correspondant fait fausse route. Dans la circonstance, peut-être serais-tu gagnant à chercher de l'aide pour accélérer ton code existant sur le Forum Excel, en tout cas ce serait certainement moins laborieux.
Access est un monde passionnant, mais chacun, Excel et Access, ont leur utilité et leur facilité d'usage propres, mais aucun des 2 ne peut s'apprendre ni se maîtriser dans l'urgence et le besoin immédiat. Je ne peux que t'encourager à apprendre Access, mais pas à pas.
Cordialement.
Access est un monde passionnant, mais chacun, Excel et Access, ont leur utilité et leur facilité d'usage propres, mais aucun des 2 ne peut s'apprendre ni se maîtriser dans l'urgence et le besoin immédiat. Je ne peux que t'encourager à apprendre Access, mais pas à pas.
Cordialement.