uspa
Messages postés12Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention16 octobre 2010
-
15 oct. 2010 à 15:01
uspa
Messages postés12Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention16 octobre 2010
-
16 oct. 2010 à 21:15
Bonjour,
J'ai un problème de lecture de la propriété Average pour la classe WorksheetFunction.
Merci par avance pour ceux ou celles qui auront la patience d'essayer de comprendre ce que j'ai voulu automatiser et de m'aider à résoudre mon problème.
Voici les quelques lignes avec commentaires:
Option Explicit
Dim li, co, cell As Integer
'Recherche du tableau "Cell number"
Rows(1).Find("Cell number").Select
'Se positionner dans la première cellule du tableau
Activecell.Offset(1, 1).Select
'Placer dans cette cellule la moyenne des valeurs des 4 premières cellules de la colonne "-19" (par rapport à la cellule active)
'Incrémenter dans le tableau horizontalement sur 11 colonnes (12 au total) et 7 lignes (8 au total)
' Pour chaque cellule du tableau les valeurs à moyenner proviennent des 4 lignes suivantes (incrément de 4)
cell = 0
For li = 0 To 7 'incrément sur 7 lignes
For co = 0 To 11 'incrément sur 11 colonnes
Range(Activecell.Offset(li, co)).Value = WorksheetFunction.Average(Range(Activecell.Offset(cell, -19), Activecell.Offset(cell + 3, -19)))
cell = cell + 4
Next co
Next li
' Au total les moyennes de quadruplicats sur 384 lignes (colonne "-19")sont présentées dans un tableau de 12 colonnes et 8 lignes.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 15 oct. 2010 à 20:32
Archive ?
Non, VBA est une sous catégorie de VB6 dont il découle.
C'est vrai que les thèmes ne sont pas clairs, mais notre big Jim ne peut pas modifier ces classifications sans refaire tous les sites.
Mais, normalement, quand on modifie la catégorie d'un post 3 fois pour tes 3 précédentes questions, on suppose que le membre à compris.
Merci d'y prêter attention.
J'avais pas le temps de regarder toute à l'heure, mais maintenant, je ne comprends pas quel est ton problème.
Tu parles de la fonction Average.
As-tu une erreur ? Laquelle ? Que valent les paramètres au moment du clash ?
As-tu suivi ton programme ligne à ligne pour voir comment tout ça évolue ?
Débogage :
- F9 sur une ligne de code
Le programme s'y arrêtera au prochain passage
Survole avec la souris tes variables pour visualiser leur contenu, ou va dans la fenêtre de debogage (Ctrl-G) et tape
? maVariable
pour qu'elle s'inscrive dans la fenêtre.
- F8 (VB6) ou F10 (.Net) pour avancer d'une ligne de code
- F5 pour continuer normalement
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 15 oct. 2010 à 15:23
A copier :
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
"Je fais du VBA et pas du VB.Net"
uspa
Messages postés12Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention16 octobre 2010 15 oct. 2010 à 16:20
Merci pour cette réponse particulièrement intéressante et qui est tout à fait encourageante pour un débutant.
Il est particulièrement évident de penser que la section du forum correspondant au VBA se trouve forcément dans le thème prénommé "ARCHIVE Visual Basic & VB.Net"!, les autres thèmes étant "VB.Net et VB 2005", "Visual Basic 6" et "CodeS-SourceS".
Si c'est le cas il serait plus judicieux de retirer le mot archive du titre du thème pour ne pas laisser penser qu'il s'agit d'un dossier d'archivage.
uspa
Messages postés12Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention16 octobre 2010 16 oct. 2010 à 21:15
Bonsoir
Merci pour les infos concernant la façon de vérifier (via F9 et le curseur de la souris) la valeur des variables.
J'ai pu trouver l'erreur de "syntaxe" qui était:
Range(Activecell.Offset(li, co)).Value
au lieu de :
Activecell.Offset(li, co).Value
Mais je n'ai pas compris pourquoi cela ne marche pas avec "Range".