Macros Excel : langage VBA

loicben Messages postés 6 Date d'inscription samedi 7 juillet 2012 Statut Membre Dernière intervention 8 juillet 2012 - 7 juil. 2012 à 22:28
loicben Messages postés 6 Date d'inscription samedi 7 juillet 2012 Statut Membre Dernière intervention 8 juillet 2012 - 8 juil. 2012 à 10:49
Je souhaiterais programmer simultanément plusieurs séquences portant sur la consolidation de données chiffrées avec du langage VBA.


1) Pour les emplois (variable définie sur une colonne), faire la somme du réel par activité, chaque activité étant référencée par du texte sur une colonne indépendante de celle identifiant qu'il s'agit des emplois.
Un exemple : pour la variable contenue en colonne Y = Emplois, faire la somme du réel pour l'activité "sauvetage".

2) Pour les emplois (variable définie sur une colonne), faire la somme du réel par association de deux variables.
Un exemple : pour la variable contenue en colonne Y = Emplois, faire la somme du réel pour le couple activité "sauvetage"-"dotations aux amortissements".

9 réponses

Utilisateur anonyme
8 juil. 2012 à 01:40
Va falloir que tu commences par la première étape. Bien comprendre ceci.


Tu peux utiliser la fonction Somme() d'Excel en passant par:

dim totalsauvetage as double
totalsauvetage = application.worksheetfunction.sum("sauvetage")


pour autant que tu aies une plage nommée "sauvetage" qui corresponde à la plage où sont tes données.

Sinon, avec activecell.address tu peux avoir l'adresse de la cellule active.
0
loicben Messages postés 6 Date d'inscription samedi 7 juillet 2012 Statut Membre Dernière intervention 8 juillet 2012
8 juil. 2012 à 08:24
Ce n'est pas une plage mais une colonne où est renseignée l'activité affectée à chaque compte comptable. Et chaque compte comptable est affectée à une activité différente.

Comment faire dans ce cas là ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
8 juil. 2012 à 09:46
Bonjour,
Ce n'est pas une plage mais une colonne

Ben ... une colonne est une plage !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
loicben Messages postés 6 Date d'inscription samedi 7 juillet 2012 Statut Membre Dernière intervention 8 juillet 2012
8 juil. 2012 à 10:09
la dénomination "sauvetage" est saisie dans toutes les cellules de la plage concernée. La plage n'est pas appelée "sauvetage".

Dans cette situation, comment faire ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
8 juil. 2012 à 10:23
C'est alors que l'exposé de ton problème n'est pas suffisamment précis et qu'il te faut envisager une formulation ne laissant pas de place au moindre doute, à la moindre nécessité de te poser des questions pour connaître parfaitement les tenants et les aboutissants de ton projet


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
8 juil. 2012 à 10:25
Il est d'ailleurs probable que si (comme le prévoit le règlement de ce forum) tu nous montrais le bout de code que tu as tenté d'écrire, on aurait au moins une meilleure idée de ce que tu as et de ce que tu veux faire.
Je t'invite donc à montrer ce bout de code.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
loicben Messages postés 6 Date d'inscription samedi 7 juillet 2012 Statut Membre Dernière intervention 8 juillet 2012
8 juil. 2012 à 10:34
je reformule ma demande

trois colonnes
- une colonne (colonne 1) où sont renseignées deux possibilités : "Emplois" ou "Ressources"
- une 2ème colonne (colonne 2) où est renseignée une activité (plusieurs possibilités)
- une 3ème colonne (colonne 3) où est renseignée une activité (plusieurs possibilités)

Mon souhait : pour tous les cellules contenant "emplois" de la colonne 1, faire une somme avec la logique
somme du réel pour toutes les cellules contenant le libellé "activité 1" dans la colonne 2 + somme du réel pour toutes les cellules contenant le libellé "activité 1" dans la colonne 2 et contenant le libellé "dotations aux amortissements" dans la colonne 3.

Le résultat de la formule doit alimenter une cellule par activité. Chaque cellule de la feuille de synthèse est nommée individuellement.
J'ai déjà programmé la séquence suivante :


projet = "EMPLOIS"
Compteur = 9
For i = 7 To 1000

If Worksheets("Source ANALYTIQUE").Cells(i, 25) = projet Then '25 c'est la colonne Y
End If
Next
Range("sauvetage_au_large").Value = WorksheetFunction.SumIf(Worksheets("Source ANALYTIQUE").Range("Q:Q"), "Sauvetage au large", Worksheets("Source ANALYTIQUE").Range("AE:AE"))

Mais le résultat fait la somme des emplois et des ressources pour la famille "sauvetage au large" alors que je voudrais faire uniquement la somme des emplois pour cette famille.

Qqn peut-il m'aider ?
0
loicben Messages postés 6 Date d'inscription samedi 7 juillet 2012 Statut Membre Dernière intervention 8 juillet 2012
8 juil. 2012 à 10:44
Range("sauvetage_littoral").Value = WorksheetFunction.SumIf(Worksheets("Source ANALYTIQUE").Range("Q:Q"), "Sauvetage littoral", Worksheets("Source ANALYTIQUE").Range("AE:AE")) + WorksheetFunction.SumIf(Worksheets("Source ANALYTIQUE").Range("P:P"), "Sauvetage littoral", Worksheets("Source ANALYTIQUE").Range("AE:AE"))

ça c'est une ligne de code complète mais elle pose un pb : elle ne fait pas la somme des cellules où est saisi "dotations aux amortissements" (colonne Q) pour toutes les cellules où est saisi "sauvetage littoral" (colonne P)
0
loicben Messages postés 6 Date d'inscription samedi 7 juillet 2012 Statut Membre Dernière intervention 8 juillet 2012
8 juil. 2012 à 10:49
Mon souhait : pour tous les cellules contenant "emplois" de la colonne 1, faire une somme avec la logique
somme du réel pour toutes les cellules contenant le libellé "activité 1" dans la colonne 3 + somme du réel pour toutes les cellules contenant le libellé "activité 1" dans la colonne 2 et contenant le libellé "dotations aux amortissements" dans la colonne 3.

Le résultat de la formule doit alimenter une cellule par activité. Chaque cellule de la feuille de synthèse est nommée individuellement.
0
Rejoignez-nous