macro qui crée un compte de résultat à partir de balance

luno123

XLDnaute Occasionnel
Bonjour,

Je souhaiterais créer une macro qui me permettrait à partir de ma balance mensuelle, de générer mon compte de résultat mensuel(feuille résulat annuel).
La colonne "C" de l'onglet "résultat annuel" (en vert) permet de savoir les comptes de la balance qui sont utilisés pour aboutir au résultat.

Je vous remercie d'avance pour votre aide précieuse.

Cordialement

Luno

PS/ les chiffres utilisés dans mon exemple sont fictifs.
 

Pièces jointes

  • Compte résultat.xls
    196.5 KB · Affichages: 854

Excel-lent

XLDnaute Barbatruc
Re : macro qui crée un compte de résultat à partir de balance

Hello,

Suite et fin de l'apprentissage de cette boucle :

Si tu veux écrire "A" dans les cellules A1, A3, A5, A7, A9, A11, A13, A15, A17, ..., A40

C'est à dire toutes les lignes impaires, la solution la plus simple :
VB:
Dim NuméroLigne As Byte

NuméroLigne = 1

For i =1 to 20
    Cells(NuméroLigne, 1) = "A"
    NuméroLigne = NuméroLigne + 2
Next i

-> J'ai donnée à la variable NuméroLigne le type Byte, car cette variable va contenir des nombres entiers inclus entre 1 et 40, donc pas la peine d'utiliser le type "Long" ou "Integer", plus gourmande en ressource (mais il ne faut pas exagérer non plus, dans ce cas présent, la différence n'est pas perceptible).

-> Si on veut travailler sur toutes les lignes impaires de 1 à 40, il faut exécuter la boucle 20 fois

-> "NuméroLigne = NuméroLigne + 2" => on met dans la variable NuméroLigne la valeur qu'elle contenait précédement, à laquelle on ajoute 2.

Sinon cela peut s'écrire également ainsi (plus court, mais plus complexe) :

VB:
For i =1 to 40 Step 2
    Cells(i, 1) = "A"
Next i

Le rajout de Step permet d'indiquer le "pas". C'est à dire l'opération que fais excel avec la variable "i" à chaque fois qu'il exécute la boucle (par défaut il ajoute "+1").

Comme tu le vois c'est plus court, évite d'utiliser la variable NuméroLigne et surtout pas la peine de se casser la tête à savoir combien de fois il faut exécuter la boucle. On met la valeur minimum, la valeur maximum, et l'opération à effectuer à chaque fois.

Voilà, tu as toutes les cartes en main pour comprendre le fichier envoyé dans mon précédent message, et pour pouvoir le terminer.

Bonne fin de soirée.
 

luno123

XLDnaute Occasionnel
Re : macro qui crée un compte de résultat à partir de balance

Chers Excel-lent & Gruick,

vos 2 macros me semblent plus simples et plus pro que la mienne. Par contre, elles déconnent toutes les 2. Sauf si c'est moi qui n'arrive pas à les éxécuter.

J'attends vos explications chers professeurs.

Encore big up & special thanks à Exel-lent
 

luno123

XLDnaute Occasionnel
Re : macro qui crée un compte de résultat à partir de balance

Bonsoir Excel-lent & Gruick,

Encore merci pour ce partage de votre temps et de vos compétences et connaissance. L'altruisme paiera toujours.
Sinon j'ai essayer vos 2 macros.
Gruick: je ne dois pas tout comprendre car quand je veux exécuter la tienne ça bloque.
Excel-lent: je finismes exercices pratiques que tu m'as donnés et je t'envoie ma copie pour correction.

Bonne soirée mes chers
 

Excel-lent

XLDnaute Barbatruc
Re : macro qui crée un compte de résultat à partir de balance

Salut Luno123,

Voici ci-joint la macro sur laquelle nous avons travaillé, à laquelle j'ai rajouté la boucle permettant de gérer TOUS les mois.

En effet, il y avait une petite erreur de frappe sur ces lignes :
.Cells(41, NumColRésultAnnu) = Cells(105, NumColBalAnnu)
.Cells(45, NumColRésulAnnu) = Cells(120, NumColBalAnnu)
.Cells(47, NumColRésulAnnu) = Cells(48, NumColBalAnnu)

.Cells(41, NumColRésultAnnu) = Cells(105, NumColBalAnnu)
.Cells(45, NumColRésultAnnu) = Cells(120, NumColBalAnnu)
.Cells(47, NumColRésultAnnu) = Cells(48, NumColBalAnnu)

Comme tu peux le voir j'avais oublié un "t" au nom de la variable, donc forcément excel est un peu perdu!

Tu trouveras ci-joint le fichier entier, fini et sans bug.

Si tu as des questions, tu as maintenant l'habitude, n'hésite pas, l'important est de comprendre. Sans compréhension impossible de s'approprier tout cela et de progresser.

A te lire.
 

Excel-lent

XLDnaute Barbatruc
Re : macro qui crée un compte de résultat à partir de balance

Hello,

J'ai testé la solution de Gruick, elle ne bug pas! Tu as modifié quelque-chose? Et/ou compris son fonctionnement?

Lorsque la fenêtre s'ouvre, la macro te place sur l'onglet "Balance Annuelle", il te reste plus qu'à cliquer sur la ligne 3 ou 4 sur le nom du mois qui t'intéresse. Et la macro fait le reste.

1/ notre macro fait les 12 mois à chaque fois
Inconvénient, elle recalcule TOUS les mois, alors que certains n'ont peut-être pas changé. D'où un p'tit perte de temps (du moins dans l'absolu, car à l'oeil nu, le temps d’exécution est quasi identique).
Avantage, tu es sûr de n'oublier aucun mois. Ainsi si tu as oublié que tu avais modifié le mois ..., comme la macro recalcul le compte de résultat de chaque mois, aucun soucis.

2/ la macro de Gruick fait que le mois voulu
Avantages, Inconvénients : c'est l'inverse.

Bonne soirée
 

Excel-lent

XLDnaute Barbatruc
Re : macro qui crée un compte de résultat à partir de balance

Oups!

Erreur réparé!

Le code ressemble a ce que tu as préparé de ton côté?

A bientôt
 

Pièces jointes

  • Compte résultat enfin travaille.xls
    216 KB · Affichages: 77
  • Compte résultat enfin travaille.xls
    216 KB · Affichages: 79
  • Compte résultat enfin travaille.xls
    216 KB · Affichages: 80

luno123

XLDnaute Occasionnel
Re : macro qui crée un compte de résultat à partir de balance

sON EXCELLENCE,

As-tu remarqué que les comptes de résultats des autres mois se calculent tout seul alors que la balance n'est remplie que pour janvier?
Cela voudrait dire que j'aurai tout le temps les mêmes données sur tous les mois?
 

Excel-lent

XLDnaute Barbatruc
Re : macro qui crée un compte de résultat à partir de balance

Salut Luno123, Gruick,

luno123 à dit:
la macro fonctionne sur janvier & mai mais déconne sur février

Qu'est ce que tu entends par "déconne"? Pour ma part, j'ai testé chaque mois un par un, la macro ne bug pas.

Qu'elle symptôme as-tu? Quel est le message d'erreur? C'est au niveau de la macro? Du résultat obtenu? Qu'as-tu fais avant de lancer la macro?

Si tu as fais des modifications, peux-tu envoyer le fichier modifié?

A+
 

Excel-lent

XLDnaute Barbatruc
Re : macro qui crée un compte de résultat à partir de balance

Hello,

luno123 à dit:
les comptes de résultats des autres mois se calculent tout seul alors que la balance n'est remplie que pour janvier?

L'erreur de débutant grrrr!!!! J'ai alimenté mes variables :
NumColRésultAnnu = 3
NumColBalAnnu = 3

à l'INTERIEUR de la boucle For j = 1 To 12 .... Next j

Donc forcément, j'ai beau avoir mis à la fin, juste avant la fin de la boucle :
NumColBalAnnu = NumColBalAnnu + 2
NumColRésultAnnu = NumColRésultAnnu + 3

Cela ne sert à rien.

Pour corriger, cela, c'est tout simple, il suffit de placer ces lignes :
NumColRésultAnnu = 3
NumColBalAnnu = 3

Au dessus de For j = 1 To 12

Voici ci-joint le fichier corrigé. J'ai profité de l'occasion pour changer la boucle principale : For j = 1 To 12, je trouve cela plus facile à comprendre. Il y a douze mois à traiter, alors on n'effectue la boucle 12 fois.

(même si cela oblige à écrire 2 lignes de codes supplémentaire).

Bonne fin de soirée
 

Pièces jointes

  • Compte résultat enfin travaille.xls
    214 KB · Affichages: 58
  • Compte résultat enfin travaille.xls
    214 KB · Affichages: 54
  • Compte résultat enfin travaille.xls
    214 KB · Affichages: 58

Gruick

XLDnaute Accro
Re : macro qui crée un compte de résultat à partir de balance

Bonjour vous deux,

@l'escargot
Content que tu aies pris mon relais, et approuvé mon petit programme.
En ce qui concerne la bécanne, pour moi, c'est loin, je suis un pépère. Je me suis soigné, et je ne sors la Honda 125 CM que pour aller à Paris, où j'ai toujours été à l'aise. J'ai d'autres amis qui sont plus mordus, un s'est refait une Honda Goldwing 1200 à l'état d'épave, et un autre s'est ruiné pour une Fat Boy de HD.

@Luno123,
Ce serait bien que tu nous dises où ça "déconne", dans la macro, généralement la ligne qui bloque est surlignée en jaune.
Tu es assez sibyllin autant que Excel-lent est précis.
Tes additions intermédiaires ne se calculent pas sur les bonnes colonnes, et ça déconne de février à avril.
Sinon, c'est un bon sujet, ce boulot, je l'ai fait disons "un certain temps", alors j'ai percuté.

A plus les gars.

Gruick
 

luno123

XLDnaute Occasionnel
Re : macro qui crée un compte de résultat à partir de balance

Bonsoir Gruicl & Excel-lent

OUF je viens de voir mon erreur!!! Dans la macro de Guick, les "é" s'écrivaient "Ž". Du coup par exemple Résultat était écrit "RŽsultat" et Février, "FŽvrier"!
Donc Excel ne comprenait pas! Moi encore moins!!!Peut être problème de compatibilité comme je travaille avec la version EXCEL 2010?

Merci encore
 

Discussions similaires

Statistiques des forums

Discussions
312 095
Messages
2 085 253
Membres
102 837
dernier inscrit
CRETE