Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Moyennes sous contraintes

stan1

XLDnaute Nouveau
Bonjour tout le monde! Je suis nouveau sur le forum!

Je suis débutant en VBA et je bloque sur un problème, à savoir effectuer la moyenne des nombres d'une colonne en fonction des valeurs d'une autre colonne.

Dans le fichier en PJ j'aimerais faire la moyenne de la colonne "L" en fonction des valeurs de la colonne "B", c'est-à-dire pour les nombres en "L" qui on la même valeur en "B". J'essaye avec le dictionnaire mais pour l'instant j'y arrive pas!
Je ne sais pas encore ou je dois copier les résultats etc.. en faite c'est le principe que je cherche pour l'instant ou la fonction...
Merci beaucoup si quelqu'un peux m'aider!!
 

Pièces jointes

  • exemple_excel_dwld.xlsx
    9.7 KB · Affichages: 39
  • exemple_excel_dwld.xlsx
    9.7 KB · Affichages: 39

eddy1975

XLDnaute Occasionnel
Re : Moyennes sous contraintes

Bonsoir stan1 et bienvenue sur le forum,

Un exemple de formule dont il faut changer le numéro de référence.

@+
 

Pièces jointes

  • exemple_excel_dwld.xlsx
    13.3 KB · Affichages: 25
  • exemple_excel_dwld.xlsx
    13.3 KB · Affichages: 41

stan1

XLDnaute Nouveau
Re : Moyennes sous contraintes

Salut eddy!
Merci pour ton aide!
Cependant j'ai vraiment besoin de trouver (si possible) un moyen en VBA... Pour le moment je peux avoir la somme mais pas la moyenne... En fait je pense si j'utilise un dictionnaire, il me faut un moyen de compter le nombre de doublons par clé...
 
Dernière modification par un modérateur:

ROGER2327

XLDnaute Barbatruc
Re : Moyennes sous contraintes

Bonjour à tous.


Un autre essai.​


Bonne journée.


ℝOGER2327
#8257


Lundi 2 Merdre 143 (Le Moutardier du Pape - Vacuation)
30 Floréal An CCXXIV, 0,9563h - houlette
2016-W20-4T02:17:42Z
 

Pièces jointes

  • Copie de exemple_excel_dwld.xlsm
    23.5 KB · Affichages: 40

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Moyennes sous contraintes

Bonjour à tous,

Un autre essai via un TCD nommé monTCD qui est mis à jour si les données sources sont modifiées. Le code se trouve dans le module de Feuil1.
 

Pièces jointes

  • stan1- exemple_excel_dwld- v1.xlsm
    22.4 KB · Affichages: 27
Dernière édition:

stan1

XLDnaute Nouveau
Re : Moyennes sous contraintes

Bonjour Mapomme et Roger!!

Merci beaucoup pour votre aide!! J'ai regardé et c’est exactement ce que je voulais!
Pour le moment je vais utiliser le code de Roger que j'arrive mieux à comprendre... Pour la solution avec le TCD je vais me pencher dessus car ça a l'air efficace et c'est surement celle-là que j'utiliserai par la suite!

C'est très gentil! Merci encore à vous trois!!
 

stan1

XLDnaute Nouveau
Re : Moyennes sous contraintes

Rebonjour!

Désolé mais si c'est pas trop j'ai une question pour toi Roger! Je suis encore débutant et je ne comprends pas à quel moment les plages data1 et data2 sont définis!? Si c'est possible d'avoir une explication ou un commentaire sur le code ça serait très gentil!
Bonne après-midi!

PS: Il n'y a pas de bouton "résolu"?

...Peut-être avec "me" je connaissais pas je regarde comment ça marche
...ça y'est je pense avoir compris pour la définition des plages avec me!! Mais j'aimerais avoir des commentaires pour ce bloc si possible!:
Code:
For i = 2 To UBound(b)
    If Not IsEmpty(b(i, 1)) And Not IsEmpty(s(i, 1)) And IsNumeric(s(i, 1)) Then
      If ip.Exists(b(i, 1)) Then
        v = ip(b(i, 1))
        v(0) = v(0) + s(i, 1): v(1) = v(1) + 1
        ip(b(i, 1)) = v
      Else
        ip.Add b(i, 1), Array(s(i, 1), 1)
      End If
    End If
  Next
 
Dernière modification par un modérateur:

stan1

XLDnaute Nouveau
Re : Moyennes sous contraintes

En fait j'aimerais bien comprendre le code pour avancer dans la compréhension de VBA. De plus j'aimerais utiliser que la colonne des résultats (moyenne) pour l'insérer dans une feuille; cependant comme je ne comprends pas tout j'ai du mal. J'ai essayé de changer les indices mais ça ne marche pas... En fait "v" est un tableau à deux colonnes? comment n'en utiliser qu'une?

Merci pour votre réponse!!
 

ROGER2327

XLDnaute Barbatruc
Re : Moyennes sous contraintes

Re...


Pas de problème, on expliquera tout ça... ...demain.

J'en étais resté au message #8 dans sa première version (courte). J'ai rédigé quelques explications succinctes dans le document joint, mais elles ne tiennent évidemment pas compte des messages ultérieurs.

Je compléterai demain si possible...​


À suivre donc, et bon courage.


ℝOGER2327
#8258


Lundi 2 Merdre 143 (Le Moutardier du Pape - Vacuation)
30 Floréal An CCXXIV, 8,6816h - houlette
2016-W20-4T20:50:09Z
 

Pièces jointes

  • Procédure commentée (écran).pdf
    94.5 KB · Affichages: 23
  • Procédure commentée.pdf
    96 KB · Affichages: 23
  • Procédure commentée (écran).pdf
    94.5 KB · Affichages: 26
  • Procédure commentée.pdf
    96 KB · Affichages: 23
Dernière édition:

stan1

XLDnaute Nouveau
Re : Moyennes sous contraintes

Bonjour Roger2327!

Merci beaucoup ces explications!! Je comprends mieux le code!
Si ce n'est pas trop demandé il y a 2 points qui me posent toujours problème:
ici, si j'ai bien compris on attribue le tableau "v"à la clé b(i, 1)
Code:
v = ip (b( i , 1) )
mais ensuite que signifie la ligne 15:
Code:
ip (b( i , 1) ) = v
?

La deuxième chose c'est la ligne 11 :
Code:
 ip.Add b(i, 1), Array(s(i, 1), 1)
ici, une nouvelle clé est crée? Avec un nouveau tableau "array" c'est bien ça? Car il y a un tableau à 2 éléments crée pour chaque clé mais je ne voix qu'un seul tableau c'est "v". Désolé je débute encore en VBA!
Merci encore pour ce fichier explicatif! Je pense qu'après je serai en mesure de modifier le code moi même!
 
Dernière modification par un modérateur:

ROGER2327

XLDnaute Barbatruc
Re : Moyennes sous contraintes

Re...

Voyez si les explications plus détaillées ci-jointes peuvent vous aider...​


Bonne nuit.


ℝOGER2327
#8259


Mardi 3 Merdre 143 (Saint Siège, sous-pape - fête Suprême Quarte)
1[SUP]er[/SUP] Prairial An CCXXIV, 9,6848h - luzerne
2016-W20-5T23:14:36Z


P.s. : pièce jointe supprimée. Voir le message suivant.
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Moyennes sous contraintes

Suite...


...enrichie de deux variantes, dont une sans dictionnaire.​


Bonne journée.


ℝOGER2327
#8260


Mercredi 4 Merdre 143 (Nativité de Saint Henri Rousseau, douanier - fête Suprême Quarte)
2 Prairial An CCXXIV, 3,9122h - hémérocalle
2016-W20-6T09:23:22Z
 

Pièces jointes

  • Procédure commentée (écran).pdf
    109.9 KB · Affichages: 22
  • Procédure commentée.pdf
    111.2 KB · Affichages: 23
  • Procédure commentée (écran).pdf
    109.9 KB · Affichages: 23
  • Procédure commentée.pdf
    111.2 KB · Affichages: 23
  • Moyennes sous contraintes (2).xlsm
    34.1 KB · Affichages: 28

stan1

XLDnaute Nouveau
Re : Moyennes sous contraintes

Bonjour!

Merci encore pour votre aide! Les explications m'ont permis d'avancer mais je ne comprends pas pourquoi je ne peux pas afficher une seule colonne de résultat?! Par exemple afficher la colonne des moyennes en faisant :
Code:
c.Resize(j - (j = 0), 2).Value = v(i, 1)
?
 

ROGER2327

XLDnaute Barbatruc
Re : Moyennes sous contraintes

Re...


Voyez si la partie Question / réponse du document joint répond à votre attente.​


Bonne journée.


ℝOGER2327
#8261


Lundi 9 Merdre 143 (Vidange - Vacuation)
7 Prairial An CCXXIV, 0,8449h - fromental
2016-W21-4T02:01:40Z
 

Pièces jointes

  • Procédure commentée (A4).pdf
    115 KB · Affichages: 20
  • Procédure commentée (écran).pdf
    116.4 KB · Affichages: 18
  • Procédure commentée (écran).pdf
    116.4 KB · Affichages: 20
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…