|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Étudiant Inscription : août 2011 Messages : 128 ![]() |
Bonjour Forum ,
mon problème est le suivant: je veux parcourir une colonne aprés chaque 30 lignes je fais la moyennes et j'affiche le résultat sur une cellule de ma feuille excel et je continue . Pour cela je fais un boucle pour faire bouger ma cellule dvant contenir le résulta de la moyenne et à ce niveau ya un problème car à la fin rien ne saffiche sur ma feuille excel ; cette partie du code est la suivante: Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Invité régulier
![]() Inscription : décembre 2011 Messages : 14 ![]() |
Bonjour,
as tu essayé d'afficher dans excel avec ta boucle le contenu du fichier texte au lieu de faire une addition? ou bien... il faudrait avoir le fichier, sinon impossible de t'aider. au fait, pourquoi afficher dans la feuille toutes les 30 lignes? tu affiches ausi les données dans excel? pour la programmation: un code plus propre "ferait" la même chose (sauf si des infos sont manquantes) j et NBEnr font exactement le même comptage: Code :
Cordialement, Pirot |
||
|
|
01
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Peut être comme ceci (la boucle sur j est farfelue)
Code :
__________________
Cordialement. |
||
|
|
10
|
|
|
#4 | ||
|
Membre actif
![]() Étudiant Inscription : août 2011 Messages : 128 ![]() |
Bonjour Forum,Bonjour mercatog,
Avec vos indications suis arriver à faire marcher la boucle sur la variable j. Cependant je veux pas parcourir toute la colonne je veux sortir de la boucle(de la colonne) quand j=30. pour cela j'ai fait ce code qui fait pas l'effet souhaité: Code :
cordialement, |
||
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Peut être en ajoutant un compteur de lignes
Code :
__________________
Cordialement. |
||
|
|
20
|
|
|
#6 |
|
Membre actif
![]() Étudiant Inscription : août 2011 Messages : 128 ![]() |
Merci mercatog j'obtiens à présent l'effet souhaité .
Juste une dernière question : Je voudrai savoir si c'est possible de faire une moyenne, toujours sur la même colonnes, des lignes se trouvant à une position qui est une multiple de 13. Cordialement , |
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Tu as la variable Compteur qui compte les ligne
fais par exemple
__________________
Cordialement. |
|
|
20
|
|
|
#8 | ||
|
Membre actif
![]() Étudiant Inscription : août 2011 Messages : 128 ![]() |
Merci énormément mercatog pour l'astuce du "mod".
j'ai une toute dernière question . je parcours la colonne 2 dès que dans cette colonne je croise 13(test) je vais dans la colonne 4 et au niveau de la même ligne je prend la valeur correspondante . A la fin je fait la moyenne correspondante et j'inscris le résultat sur ma feuille excel . ce test est fait sur i=i+13 jusqu'à ce que i= 360. c'est a dire après 13, je passe à 22 ainsi de suite J'ai bidouillé ce code( désolé de vous choquer les génies) je suis encore un apprenti Code :
|
||
|
|
00
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
C'est pas clair, j'ai pas compris
__________________
Cordialement. |
|
|
10
|
|
|
#10 | ||
|
Membre actif
![]() Étudiant Inscription : août 2011 Messages : 128 ![]() |
Bonsoir mercatog, mille excuses ! je vais essayer d'être plus clair!
Mon fichier texte est composé de 30 colonnes et de 361000 lignes. Ma 2ieme colonnes contient des numéros entre 0 et 360.Cela permet de donner des numéro aux lignes. Le but est de faire la moyenne ,au niveau de la colonnes 4, de toutes les lignes numérotées 13. Ensuite j'affiche le résultat de la moyenne sur ma feuille excel. Je refais exactement la même choses pour toutes les lignes numérotées 13*k . Ce qui veut dire qu'aprés le calcul de la moyennes des lignes de numéro 13, On passe au calcul de la moyenne des lignes numéroté 26, puis des lignes numérotés 39,...jusq'au calcul de la moyennes de toutes les lgnes numérotées 351(13*27) en restant sur la colonne 4. A chaque fois j'affiches le résultat de la moyenne sur ma feuille excel J'ai essayé de commenté le code suivant que j'ai budouillé: Code :
Cordialement |
||
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() J-Pierre CatherineConception Calcul Inscription : juillet 2007 Messages : 659 ![]() |
Bonjour erlerwade
Je n’ai pas tout compris mais si comme la colonne est numérotée et que l’on sait quel est le numéro recherche, pourquoi ne pas intégrer le test dans ton SQL Code à l’arrache : Code :
Donne ton code SQL (TexteRequete =.........) Tu dis Edit :rajouté Bien sur
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci ![]() ---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
|
||
|
|
30
|
|
|
#12 | ||
|
Membre actif
![]() Étudiant Inscription : août 2011 Messages : 128 ![]() |
Bonjour jean-pierre
Pour illustrer mes explication je joint a ce courriel un fichier excel . mon sql est le suivant: Code :
|
||
|
|
00
|
|
|
#13 | ||
|
Membre Expert
![]() J-Pierre CatherineConception Calcul Inscription : juillet 2007 Messages : 659 ![]() |
Lorsque l’on requête on lit ligne par ligne les champs
La seule boucle que l’on peut faire c’est sur les champs comme on a déjà fait Ici la solution est de boucler sur la requête, comme je te l’indique plus haut Ton texte SQL peut être plus cour, puisque les champs sont ciblés Code :
tu dis
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci ![]() ---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
|
||
|
|
30
|
|
|
#14 |
|
Membre actif
![]() Étudiant Inscription : août 2011 Messages : 128 ![]() |
Quand j'excute la macro je reçois ce message :
"Trés peu de paramètre. 1 attendu" et la macro bloque au niveau de cette ligne de code: Code :
Set Requete = Donneestxt.OpenRecordset(TexteRequete, DAO.dbOpenSnapshot) |
|
|
00
|
|
|
#15 | ||
|
Membre Expert
![]() J-Pierre CatherineConception Calcul Inscription : juillet 2007 Messages : 659 ![]() |
Autant pour moi
A prendre Code :
Tu dis
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci ![]() ---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
|
||
|
|
30
|
|
|
#16 | ||
|
Membre actif
![]() Étudiant Inscription : août 2011 Messages : 128 ![]() |
La macro tourne bien .
Mais, j'ai ajouté juste après des lignes de codes. Le probléme est que ma boucle sur la variable k qui était censée bouclés sur les résultats des moyennes affichées est fausse. Je m'arrache les cheveux mais j'y arrive pas . Code :
du cou je pense à enlever la boucle sur k et de poser k= i/12 Code :
total = total + (Requete.Fields(1).Value - Worksheets("New_Business_central").Cells(22, i / 12)) ^ 2 |
||
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() J-Pierre CatherineConception Calcul Inscription : juillet 2007 Messages : 659 ![]() |
Je ne comprends pas le résultat recherché.
Dans Code :
total = total + (Requete.Fields(1).Value - Worksheets("New_Business_central").Cells(22, k)) ^ 2 Code :
Worksheets("New_Business_central").Cells(22, k) Tu veux récupérer les valeurs de tes moyennes et faire une opération avec Et afficher le résultat sous le premier résultat? Envoi plutôt un ficher Excel en m’expliquant ton résonnement Tu dis
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci ![]() ---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
|
|
|
20
|
|
|
#18 |
|
Membre actif
![]() Étudiant Inscription : août 2011 Messages : 128 ![]() |
Oui Jean-Pierre la variable K c'était pour récupérer les moyennes. que j'utilise pour calculer ls variances .
Les variances sur les lignes de valeurs (12 ensuite 24 puis 36.... jusqu'a 360) J'ai joint à ce courriel un fichier excel explicatif Merci d'avance |
|
|
00
|
|
|
#19 | ||
|
Membre Expert
![]() J-Pierre CatherineConception Calcul Inscription : juillet 2007 Messages : 659 ![]() |
Bonjour erlerwade ,
Si j’ai bien compris Code :
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci ![]() ---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
|
||
|
|
40
|
|
|
#20 |
|
Membre actif
![]() Étudiant Inscription : août 2011 Messages : 128 ![]() |
Bonjour Forum, Bonjour Jean-Pierre
Je me rend compte que je dois faire la même que sur la colonne constante sur deux autres colonnes que sont :nom_rate_10yr et nom_rate_25yr du cou sur mon code je remplace la requête par cette nouvelle requête qui est: Code :
TexteRequete = "SELECT Period, constante, nom_rate_10yr, nom_rate_25yr " & Mon problème est de faire un boucle sur les colonnes en questions. pour la colonne constante nous pouvons laisser les resultats des moyennes sur la ligne 22 et les variances sur la ligne 23 pour la colonne :nom_rate_10yr je voudrai affiché les moyenne au niveau de la ligne 29 et les variances au niveau de la ligne 30 pour la colonne :nom_rate_25yr je voudrai affiché les moyenne au niveau de la ligne 36 et les variances au niveau de la ligne 37 Merci confinement |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com