HELP!! Requêtes sous Access pour traduire des formules sous Excel

Messages postés
6
Date d'inscription
mardi 17 juillet 2007
Statut
Membre
Dernière intervention
19 juillet 2007
- - Dernière réponse : chaudier37
Messages postés
209
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
15 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!!
Afficher la suite 

7 réponses

Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
86
0
Merci
Quel est le rapport avec VB.NET ???

Je déplace vers le forum VBA, celui du langage utilisé...
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
0
Merci
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 ... ?
...................

MPi
Commenter la réponse de cs_MPi
Messages postés
6
Date d'inscription
mardi 17 juillet 2007
Statut
Membre
Dernière intervention
19 juillet 2007
0
Merci
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!!
Commenter la réponse de zouloute84
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
0
Merci
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
Commenter la réponse de cs_MPi
Messages postés
6
Date d'inscription
mardi 17 juillet 2007
Statut
Membre
Dernière intervention
19 juillet 2007
0
Merci
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))

J'espère que c'est plus clair,
merci en tout cas!
Commenter la réponse de zouloute84
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
0
Merci
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...

MPi
Commenter la réponse de cs_MPi
Messages postés
209
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
15 juillet 2009
0
Merci
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
Commenter la réponse de chaudier37