IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Générer dynamiquement un tableau comportant des valeurs moyennes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2019
    Messages : 4
    Par défaut Générer dynamiquement un tableau comportant des valeurs moyennes
    Bonjour,

    Par avance, je vous remercie de votre aide.
    J'aimerais sous excel, à partir d'un bouton générer dynamiquement (sur un nouvel onglet) un tableau comportant des valeurs moyennes.
    Tableau initial:

    item t1 t2
    a 1 2
    b 3 3
    a 1,5 2,5
    b 3 4
    c 1 1
    b 3 4
    ...

    Tableau généré dynamiquement (sur un nouvel onglet):

    item t1 t2
    a 1,25 2,25
    b 3 3,67
    c 1 1
    ...

    Merci
    Julien

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    du bricolage d'un débutant VBA à tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Sub test()
    Application.ScreenUpdating = False
    With Sheets("Feuil2")
    .Cells.ClearContents
    .Cells(1, 1).Resize(1, 3) = Array(Sheets("feuil1").Range("A1").Value, Sheets("feuil1").Range("B1").Value, Sheets("feuil1").Range("C1").Value)
    End With
    Dim T
    Set dico = CreateObject("Scripting.dictionary")
    With Sheets("Feuil1")
            dernl = .Range("A" & .Rows.Count).End(xlUp).Row
                    For j = 2 To dernl
                     x = .Range("A" & j)
                     dico(x) = dico(x)
                    Next j
    End With
    With Sheets("feuil2")
    .Activate
    .Range("A2").Resize(dico.Count) = Application.Transpose(dico.keys)
     dernligne = .Range("A" & .Rows.Count).End(xlUp).Row
     Set plage = Sheets("feuil1").Range("A2: A" & Sheets("feuil1").Range("A" & .Rows.Count).End(xlUp).Row)
     L = 0
     For i = 2 To dernligne
     For Each cel In plage
     If .Cells(i, "A") = cel.Value Then
     Total = Total + Sheets("feuil1").Cells(cel.Row, 2)
     Total2 = Total2 + Sheets("feuil1").Cells(cel.Row, 3)
     L = L + 1
      .Cells(i, "B").Value = Total / L
      .Cells(i, "C").Value = Total2 / L
    End If
    Next cel
     
    Total = 0
    Total2 = 0
    L = 0
    Next i
     End With
      Application.ScreenUpdating = True
      MsgBox ("well done  !!!")
    End Sub
    Fichiers attachés Fichiers attachés

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2019
    Messages : 4
    Par défaut
    Bonjour Abdou,

    Merci beaucoup pour ton aide et ton code.
    Il fonctionne. La fonction CreateObject fonctionne bien sous Windows, et pas sous MacOS.
    Bonne journée.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour,
    Un TCD est fait pour ça. sans une ligne de code.

    C'est Excel

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2019
    Messages : 4
    Par défaut
    Bonjour mercatog,

    Tu as raison. Merci.

    Julien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/04/2019, 09h45
  2. Réponses: 3
    Dernier message: 08/05/2016, 19h05
  3. [Tableaux] Générer dynamiquement un tableau HTML
    Par bdaboah dans le forum Langage
    Réponses: 6
    Dernier message: 06/02/2008, 15h34
  4. Réponses: 18
    Dernier message: 28/04/2006, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo