Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

VBA-Excel WorksheetFunction.Average problème


Invité Uspa

Messages recommandés

Bonsoir,

Débutant en VBA 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:

 

'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.

 

Uspa

Lien vers le commentaire
Partager sur d’autres sites

C'était juste un problème de syntaxe: Il fallait écrire

Activecell.Offset(li, co)).Value = WorksheetFunction.Average(Range(Activecell.Offset(cell, -19), Activecell.Offset(cell + 3, -19))) au lieu de:

Range(Activecell.Offset(li, co)).Value = WorksheetFunction.Average(Range(Activecell.Offset(cell, -19), Activecell.Offset(cell + 3, -19)))

 

Uspa

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...