• Initiateur de la discussion Initiateur de la discussion monsieurjulien
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

monsieurjulien

Guest
Bonjour,

J'utilise Excel Mac 2011.
Je désirerais dans une feuille avoir :
- une première cellule utilisée pour la saisie de nombres (j'entre une valeur, je valide et la cellule devient à nouveau vierge)
- une seconde, qui afficherait automatiquement la moyenne de toutes les valeurs saisies dans la première
Je ne maîtrise pas du tout VBA, c'est pourquoi je sollicite l'aide du forum.
Merci d'avance
 
Re : Moyenne automatique

Bonjour le fil, salut Si...

J'ai testé mon fichier (3) avec cette macro :

Code:
Sub test()
Dim x, i
x = Timer
Application.ScreenUpdating = False
For i = 1 To 1000
[A2] = i
Next
MsgBox Timer - x
End Sub
L'exécution est très longue : 168 secondes.

Avec ce fichier (4) cela ne prend que 1,6 seconde, grâce au tableau VBA t :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$2" Then Exit Sub
If Not IsNumeric(CStr(Target)) Then Exit Sub
Dim t, n&, tablo(), i&
Target.Select
If Not IsError([saisies]) Then
  t = [saisies]: n = Application.Count(t)
  ReDim tablo(n, 0)
  If n = 1 Then
    tablo(0, 0) = t
  Else
    For i = 0 To n - 1
      tablo(i, 0) = t(i + 1, 1)
    Next
  End If
  tablo(n, 0) = Target
End If
ThisWorkbook.Names.Add "saisies", IIf(n, tablo, Target.Value), Visible:=False
Target = ""
Target(1, 2) = Application.Average([saisies]) 'moyenne
End Sub

Private Sub CommandButton1_Click() 'Visualisation (des saisies)
If Not IsError([saisies]) Then _
  [D2].Resize(Application.Count([saisies])) = [saisies]
End Sub

Private Sub CommandButton2_Click() 'RAZ
[A2:B2,D:D].ClearContents
If Not IsError([saisies]) Then ThisWorkbook.Names("saisies").Delete
End Sub
Edit : pour ceux qui ne connaissent pas cette propriété, j'ai également masqué le nom saisies.

A+
 

Pièces jointes

Dernière édition:
Re : Moyenne automatique

Salut

Job 😀 : c’est l’enregistrement des valeurs pour une visualisation éventuelle qui prend du temps non ?

Affichage pour affichage, le stockage des données (3 types) peut se faire dans des colonnes masquées ou pas comme dans le fichier joint.
 

Pièces jointes

Re : Moyenne automatique

Bonsoir à tous,

Pour le fun, si l'on veut aussi mémoriser la date et l'heure de la saisie :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$2" Then Exit Sub
If Not IsNumeric(CStr(Target)) Then Exit Sub
Dim t, n&, tablo(), i&
Target.Select
If Not IsError([saisies]) Then _
  t = [saisies]: n = Application.Count(t) / 2
ReDim tablo(n, 1)
If n = 1 Then
  tablo(0, 0) = t(1): tablo(0, 1) = t(2)
Else
  For i = 0 To n - 1
    tablo(i, 0) = t(i + 1, 1): tablo(i, 1) = t(i + 1, 2)
  Next
End If
tablo(n, 0) = Target: tablo(n, 1) = CDbl(Now)
ThisWorkbook.Names.Add "saisies", tablo ', Visible:=False
Target = ""
Target(1, 2) = Application.Average(Application.Index(tablo, , 1)) 'moyenne
End Sub

Private Sub CommandButton1_Click() 'Visualisation (des saisies)
If Not IsError([saisies]) Then _
  [D2:E2].Resize(Application.Count([saisies]) / 2) = [saisies]
End Sub

Private Sub CommandButton2_Click() 'RAZ
[A2:B2,D:E].ClearContents
If Not IsError([saisies]) Then ThisWorkbook.Names("saisies").Delete
End Sub
C'est surtout pour le plaisir de manipuler des tableaux...

Fichier (5).

A+
 

Pièces jointes

Re : Moyenne automatique

Bonsoir à tous,

Tout d'abord, je vous remercie pour votre aide.
Mon problème reste néanmoins entier. Hormis les 2 premiers fichiers de kingfadhel et de roger2327, les autres versions ne fonctionnent pas sur mac excel 2011...
Lorsque j'ouvre le fichier on me propose d'activer les macros, ce que je fais, mais lorsque je regarde les macros "actives" sur la feuille, il n'y en a aucune. En revanche, lorsque j'ouvre VBA editor, il y a bien le code.
Peut-être y a-t-il une action de ma part a effectuer ou qqch à faire autrement,car, comme je le disais dans mon post #1, je ne maitrise absolument pas VBA.
Merci.
 
Re : Moyenne automatique

Bonsoir monsieur julien,

Dans mes solutions les macros ne sont pas "visibles" dans la liste des macros.

Car ce sont des macros événementielles qui s'exécutent :

- quand on entre un nombre dans la cellule A2

- quand on clique sur les boutons (ce sont des boutons ActiveX).

A+
 
Re : Moyenne automatique

salut

..., mais lorsque je regarde les macros "actives" sur la feuille, il n'y en a aucune. En revanche, lorsque j'ouvre VBA editor, il y a bien le code...
Merci.

comme le dit Si... bien job (salut) les macros évènementielles n’apparaissent pas même hors Mac, mais cela ne veut pas dire qu'elles ne sont pas actives !
Dans mon fichier, as-tu essayé de saisir des nombres dans la cellule A2 ?
Il serait étonnant* mais pas impossible, qu'après la validation de la saisie, rien ne s'affiche en B2.
Le bouton, quant à lui, sert à voir dans les colonnes voisines les différentes étapes.

*pas si on entre un mot !
 
Re : Moyenne automatique

Salut

J'ai essayé sur un PC et en effet vos deux fichiers fonctionnent.
Sur Mac :
- "moyennes successives.xls" : le calcul fonctionne mais le bouton n'a aucune fonction
- "moyenne des saisies(6).xls" : les boutons ne sont pas fonctionnels, le calcul de moyenne indique le dernier chiffre saisi en A2 et les cases suivantes indiquent des message d'erreur...

D'autre part, si j'ai besoin d'avoir sur plusieurs lignes cette fonctionnalité (moyenne), faire un copier-coller ne fonctionne pas.

Merci encore
 
Re : Moyenne automatique

salut

D'autre part, si j'ai besoin d'avoir sur plusieurs lignes cette fonctionnalité (moyenne), faire un copier-coller ne fonctionne pas.

suite à un message personnel j'ai apporté une modification dans la programmation. Voir fichier joint.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 Macro
Réponses
6
Affichages
315
Réponses
1
Affichages
177
Réponses
2
Affichages
494
Réponses
16
Affichages
933
Retour