HELP!! Requêtes sous Access pour traduire des formules sous Excel
zouloute84
Messages postés6Date d'inscriptionmardi 17 juillet 2007StatutMembreDernière intervention19 juillet 2007
-
17 juil. 2007 à 18:40
chaudier37
Messages postés209Date d'inscriptionjeudi 5 août 2004StatutMembreDernière intervention15 juillet 2009
-
15 juin 2008 à 14:16
Bonjour,
j'ai fait un tableau sous Excel qui se construit comme ça:
Ligne 1 du Champ 1: la première valeur est fixée (ex:5)
Puis je calcule la ligne 1 du champ 2 à partir de la ligne 1 du champ 1,
la ligne 1 du champ 3 à partir de la ligne 1 du champ 2,
et la ligne 1 du champ 4 à partir de la ligne 1 du champ 3.
Puis je calcule la ligne 2 du champ 1 à partir de la ligne 1 du champ 4. Et ainsi de suite...
J'espère que c'est clair...
Le problème est que je dois passer sous Access et que je ne sais pas comment faire ce type de requêtes sous Access.
Est-ce que qq'un a une idée??
Merci bcp d'avance!!
A voir également:
HELP!! Requêtes sous Access pour traduire des formules sous Excel
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 18 juil. 2007 à 00:01
Non, ce n'est pas vraiment clair... désolé...
Que sont ces calculs ?
À partir d'où est-ce que tu codes ? Access ou Excel ?
Comment te branches-tu au programme distant ?
Quel est le genre de requête que tu dois faire ?
As-tu un bout de code ou quelque chose ... ?
...................
zouloute84
Messages postés6Date d'inscriptionmardi 17 juillet 2007StatutMembreDernière intervention19 juillet 20071 19 juil. 2007 à 09:33
En fait, j'ai deux colonnes qui sont liées entre elles comme ça:
On rentre 0 comme première valeur de la colonne F (je commence à la ligne 12):
Sur ma ligne 12 par exemple; F12 est calculé comme ça:
SI(B12=1;0;MAX(SI(B12=B11;F11;E11-(B12-B11-1)*2);0))
Puis ma formule de ma ligne 12 dans la colonne E est:
SI(D12+F12<$C$7;0; D12+F12-$C$7) donc E12 se calcule à partir de F12.
Mais F13 se calcule à partir de E12 et de F12:
SI(B13=1;0;MAX(SI(B13=B12;F12;E12-(B13-B12-1)*2);0))
Donc c'est quelque chose qu'on sait faire sous Excel mais que je ne sais pas traduire en Access. Et je suis obligée de passer par Access car on dépasse le nb de lignes dans Excel...
Je peux aussi envoyer le fichier excel si vous voulez.
J'espère que vous pourrez m'aider, j'ai peu de temps pour trouver la solution et là, je suis vraiment bloquée...
Merci d'avance!!
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 19 juil. 2007 à 11:58
Si je comprends bien, tu veux inscrire des formules dans Excel à partir d'Access, c'est bien ça ?
Si oui, tu dois utiliser Formula et aussi utiliser des variables pour les valeurs de lignes (12, 13, ...)
Ou sinon, tu veux utiliser les formules d'Excel dans Access directement (ou l'équivalent) ?
Mais avant d'aller plus loin, il faudrait que tu confirmes et que tu donnes les noms de tes objets Excel, et comment tu détermines la plage à utiliser dans Excel...
MPi
Vous n’avez pas trouvé la réponse que vous recherchez ?
zouloute84
Messages postés6Date d'inscriptionmardi 17 juillet 2007StatutMembreDernière intervention19 juillet 20071 19 juil. 2007 à 12:26
J'ai fait un fichier excel pour trouver la démarche dont j'avais besoin.
Maintenant que j'ai l'algorithme, je veux le faire sous Access!!!
Donc le but est de ne plus du tout utiliser excel mais tout faire sous access.
Sachant que comme tout est formulé sous Excel, il ne s'agit plus que de trouver l'équivalent sous Access!
Mes champs sous excel sont les suivants:
<colgroup><col style=\"WIDTH: 121pt; mso-width-source: userset; mso-width-alt: 5888\" width=\"161\" /><col style=\"WIDTH: 47pt; mso-width-source: userset; mso-width-alt: 2267\" width=\"62\" /><col style=\"WIDTH: 92pt; mso-width-source: userset; mso-width-alt: 4498\" width=\"123\" /><col style=\"WIDTH: 60pt\" width=\"80\" /><col style=\"WIDTH: 68pt; mso-width-source: userset; mso-width-alt: 3291\" width=\"90\" /><col style=\"WIDTH: 62pt; mso-width-source: userset; mso-width-alt: 3035\" width=\"83\" /></colgroup>----
N° ligne (NumAuto sous Access), MINUTE d'arrivée de mon paquet à ma ressource, nb passager par paquet, somme cumulée de mes passagers par minute, NB pax 1:
nb passagers dans ma file d'attente prenant en compte les passagers du paquet de la ligne, NB pax 2:
nb passagers dans ma file d'attente à la fin de la minute de la ligne du dessus
les trois premières colonnes (A, B, C) sont données.
Je calcule aussi la somme cumulée de mes passagers par minute.
Puis, je calcule mes deux colonnes qui sont liées entre elles.
D'où la formule pour mon nb de pax 1 (colonne E) =SI(D12+F12<$C$7;0; D12+F12-$C$7)
Et celle pour mon nb de pax 2 (colonne F) :
SI(B131;0;MAX(SI(B13=B12;F12;E12-(B13-B12-1)*2);0))
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 20 juil. 2007 à 00:56
Si tu as toutes tes données sous Access (dans une table), il ne te suffit que de trouver les valeurs de tes formules Excel... c'est-à-dire les valeurs que tu retrouvais sous B13, B12, F12, E12, ....
Donc, plutôt que de travailler avec des valeurs de cellules (ou les cellules elles-mêmes) tu devras travailler avec le résultat de tes requêtes et les champs eux-mêmes.
If Rs!Champ1 = 1 thenTextboxXYZ 0 ' ou VariableXYZ 0
Else
....
End If
Mais sans fichier ou sans explications vraiment plus claires, c'est à peu près impossible de pouvoir t'aider plus que ça...
PS: le dépassement de lignes sur Excel pourrait se gérer avec plusieurs feuilles. C'est plus ardu, mais ça devrait pouvoir se faire quand même, dépendant des exigences de ton programme... J'ai déjà eu ce problème et m'en suis sorti avec Excel et plusieurs feuilles de données. Ça nécessite des formules pas mal plus longues, mais le pire est de créer la première...
chaudier37
Messages postés209Date d'inscriptionjeudi 5 août 2004StatutMembreDernière intervention15 juillet 2009 15 juin 2008 à 14:16
Bonjour,
J'ai un problème dans vb excel.
j'ai un tableau dans une feuille excel qui demande des additions. mais ces additions ne sont pas faites tout le temps à la même heuteur. la formule que je cherche à faire pour ceci est la suivante
somme de