Problème de Boucle - VB/VBA/VBS - Programmation
Marsh Posté le 29-01-2010 à 08:11:23
Bonjour,
une formule dans excel devrait suffire à régler ton PB. La formule DECALER devrait pouvoir faire l'affaire.
Pour répondre à ta question, en voici une:
peux-tu nous expliquer ce que tu demande à VB de faire en écrivant cette ligne?
"If IsEmpty(ActiveCell.Value) = x Then"
Cordialement
Marsh Posté le 29-01-2010 à 08:26:37
Par exemple:
=SOMME(DECALER(Feuil1!$A$3;6*(COLONNE()-3);LIGNE()-9;6;1))/6
en colonne C ligne 9 de la feuille où tu veux tes résultats, tu étires à droite puis sur 7 lignes
Marsh Posté le 29-01-2010 à 14:23:59
Merci,
En réalité, je voudrais automatiser le tout, c'est pour cela que j'utilise VBA,
La ligne de code If IsEmpty.......permet de passer à la colonne suivante, j'ai corrigé la ligne en mettant IsEmpty(activesheet.cells(x,y))
Pour automatiser le tout, j'ai crée une Userform, ainsi j'espère pouvoir exporter ma macro sur les prochains fichiers reçut et juste ne cliquant, avoir ma nouvelle feuille avec les moyennes par heure?
Comment programme t-on la création et le remplissage d'une nouvelle feuille avec les résultats des moyennes sous VBA?
Comment je peux transcire la ligne:
=SOMME(DECALER(Feuil1!$A$3;6*(COLONNE()-3);LIGNE()-9;6;1))/6
en langage VBA?
Merci de votre aide,
Marsh Posté le 29-01-2010 à 17:34:35
Bonsoir
Sub dodo()
'pour mettre dans la cellule ligne 9 colonne 3 de la feuil2 la moyenne des cellules 3 à 8 de la colonne 1 se trouvant sur feuil1
'adapte le valeurs.........................
With Sheets("feuil1" )
Sheets("feuil2" ).Cells(9, 3) = WorksheetFunction.Sum(.Range(.Cells(3, 1), .Cells(8, 1))) / 6
End With
End Sub
je ne t'écris pas tout pour que tu puisses faire quelque chose par toi-même.
Cordialement
Marsh Posté le 28-01-2010 à 12:52:24
Bonjour ,
J'ai crée un petit programme sous VBA pour faire la moyenne par heure, de valeur prises toutes les 10 minutes.
Mon programme calcul bien la moyenne, mais ne veut pas écrire mon résultat dans la cellule et ne veut pas continuer (pb de boucle).
Si quelqu'un peut m'aider.
Merci d'avance.