MOYENNE ac cellules variables - VBA excel
Dino
-
Dino -
Dino -
Bonjour,
Je cherche à affecter à une cellule particulière (Cells(fin_prod + 2, col)) la fonction MOYENNE qui prend comme arguments des valeurs situées dans des cellules variables. Le problème que je rencontre est je pense un pb de synthaxe, car je n'arrive pas à executer le code, un message d'erreur apparait. Voici la partie de mon code en rapport avec l'erreur:
Sub moyenne()
Dim col As Integer
Dim fin_org As Integer
Dim fin_com As Integer
Dim fin_qua As Integer
Dim fin_fina As Integer
Dim fin_prod As Integer
Cells(fin_prod + 2, col).Formula = "=AVERAGE(" & Cells(fin_org + 1, col).Adress & ":" & Cells(fin_com + 1, col).Adress & ":" & Cells(fin_qua + 1, col).Adress & ":" & Cells(fin_fina + 1, col).Adress & ":" & Cells(fin_prod + 1, col).Adress & ")"
End Sub
col est le numéro de la colonne qui est préalablement déterminé à l'aide d'une boucle Do While. fin_org, fin_com,fin_qua,fin_fina,fin_prod sont les numéros des lignes des cellules à sélectionner également définies avec un test préalable.
Pour moi je suis obligé d'utiliser Cells car je connais le n° de la ligne et de la colonne sous forme numérique et non alphanumérique (type A5)...Est-ce que je me trompe?
Merci d'avance pour votre aide!
Dino
Je cherche à affecter à une cellule particulière (Cells(fin_prod + 2, col)) la fonction MOYENNE qui prend comme arguments des valeurs situées dans des cellules variables. Le problème que je rencontre est je pense un pb de synthaxe, car je n'arrive pas à executer le code, un message d'erreur apparait. Voici la partie de mon code en rapport avec l'erreur:
Sub moyenne()
Dim col As Integer
Dim fin_org As Integer
Dim fin_com As Integer
Dim fin_qua As Integer
Dim fin_fina As Integer
Dim fin_prod As Integer
Cells(fin_prod + 2, col).Formula = "=AVERAGE(" & Cells(fin_org + 1, col).Adress & ":" & Cells(fin_com + 1, col).Adress & ":" & Cells(fin_qua + 1, col).Adress & ":" & Cells(fin_fina + 1, col).Adress & ":" & Cells(fin_prod + 1, col).Adress & ")"
End Sub
col est le numéro de la colonne qui est préalablement déterminé à l'aide d'une boucle Do While. fin_org, fin_com,fin_qua,fin_fina,fin_prod sont les numéros des lignes des cellules à sélectionner également définies avec un test préalable.
Pour moi je suis obligé d'utiliser Cells car je connais le n° de la ligne et de la colonne sous forme numérique et non alphanumérique (type A5)...Est-ce que je me trompe?
Merci d'avance pour votre aide!
Dino
A voir également:
- MOYENNE ac cellules variables - VBA excel
- Excel moyenne - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Liste déroulante excel - Guide
- Verrouiller cellules excel - Guide
- Word et excel gratuit - Guide
1 réponse
bonjour
deux pb (au moins)
1. Address prend 2 "d"
2. il y a beaucoup de ":" dans ta formule
si tu veux la moyenne des 5 cellules, remplaces les par des ";" sinon définis proprement tes plages
RQ1. séparer le calcul de la formule de son affectation (permet de debugger)
RQ2. FormulaLocal permet d'utiliser le français
bonne suite
deux pb (au moins)
1. Address prend 2 "d"
2. il y a beaucoup de ":" dans ta formule
si tu veux la moyenne des 5 cellules, remplaces les par des ";" sinon définis proprement tes plages
RQ1. séparer le calcul de la formule de son affectation (permet de debugger)
RQ2. FormulaLocal permet d'utiliser le français
f = "=MOYENNE(" & Cells(fin_org + 1, col).Address & ";" & Cells(fin_com + 1, col).Address & ";" & Cells(fin_qua + 1, col).Address & ";" & Cells(fin_fina + 1, col).Address & ";" & Cells(fin_prod + 1, col).Address & ")" Cells(fin_prod + 2, col).FormulaLocal = f
bonne suite
Effectivement, il manquait bien un "d" à Adress! J'ai également remplacé les ":" par ";"
Bonne continuation