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 :

Macro de recherche et faire la somme


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 73
    Par défaut Macro de recherche et faire la somme
    Bonjour
    je joins mon fichier et ce que je cherche à faire, c'est d'écrire une macro pour extraire par prénom et nom les lignes corresonpondantes et faire le total pour chaque personne.
    je voudrais que la macro puisse me calculer le montant total de chaque personne sur ma liste automatiquement et renvoyer le résultat sur une autre feuille.
    toute aide sera appréciée.
    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Membre très actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Par défaut
    Désolé mais j'ai essayé de voir ce que tu essaye de faire mais ... je ne vois pas.

    Ton titre est Recherche et faire la somme...

    Tu ne parle pas de recherche dans ton sujet, mais simplement d'un calcul réalisable en formule. Mais je pense que c'est plus complexe non?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 73
    Par défaut Macro de calcul
    Je suis désolé si ce n'est pas clair. En cliquant sur la macro, j'aimerais avoir le montant total de chaque employé affiché dans une feuille.
    Merci

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,

    je ne peux pas ouvrir ton fichier mais sur un fichier bidon, essaies ce code.
    Tu mets des noms en col A feuil1, des chiffres en col B execute la macro et vois le résultat en feuille 2 (pense à en créer une, si besoin)
    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
    Option Explicit
    Public derlg As Long
    Private Sub CommandButton1_Click()
    With Sheets("feuil1")
       derlg = .Range("a" & .Rows.Count).End(xlUp).Row
       construire .Range("A2:B" & derlg)
    End With
    End Sub
    '___________________________________________________________
    Sub construire(plg As Range)
    Dim recup As Collection, tb(), cel As Range, i As Long
    Set recup = New Collection
    On Error Resume Next
    With Sheets("feuil1")
       For Each cel In .Range("A2:A" & derlg)
          If cel <> "" Then
             recup.Add cel, CStr(cel)
             If Err = 0 Then
                ReDim Preserve tb(i)
                tb(i) = recup(i + 1)
                i = i + 1
             End If
                'Efface toutes les valeurs de l'objet Err.
             Err.Clear
          End If
       Next cel
    End With
    Set recup = Nothing
    For i = 0 To UBound(tb)
       Sheets("feuil2").Range("A" & i + 2) = tb(i)
       Sheets("feuil2").Range("B" & i + 2) = Application.WorksheetFunction.SumIf(plg, tb(i), plg.Columns(2))
    Next i
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    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
    Bonsoir
    Un tableau croisé dynamique est fait pour ça.

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Un tableau croisé dynamique est fait pour ça.
    sauf que personnellement, j'évite les TCD qui prennent de la place en taille, suivant ce qui est demandé. J'ai déjà remplacé sur des fichiers, mes TCD par une macro et ceux-ci etaient bien allégés (plus de la moitié), maintenant je pense que c'est à duplaly de faire son choix.

    bonne soirée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

Discussions similaires

  1. [XL-2010] Comment faire sans utiliser macro (Fonction RECHERCHE, INDEX, ETC....)
    Par anonymous9 dans le forum Excel
    Réponses: 7
    Dernier message: 04/02/2014, 15h57
  2. [XL-2010] Faire une somme dans une macro
    Par vbavba dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/06/2013, 20h18
  3. [XL-2010] Macros pour trié et faire une la somme des valeurs
    Par vaco917 dans le forum Excel
    Réponses: 3
    Dernier message: 02/05/2013, 14h05
  4. [Macro de Recherche] Comment faire varier une 4eme variable
    Par Vin_SuFu_R@T dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/01/2008, 12h35
  5. [Excel]Faire une somme avec une macro
    Par Chlo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/01/2006, 19h53

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