Maccro simple

Bonjour,

j'aimerai savoir si possible résoudre le problème suivant mais tout en m'expliquant si possible. Cela fait plusieurs semaines que je me suis lancé dans la maccro et je trouve cela intéressant mais j'ai encore des difficultées.

Alors :

En rentrant les différentes valeurs dans le tableau en haut de la feuille de 6cases, j'aimerai que ca rentre la valeur dans la case correspondante dans le tableau en dessous.

Exemple si je rentre dans la ligne dépense : loyer, janvier, 100€, on marquera 100 dans la case B23.

Autre exemple si je rentre dans la ligne recette : salaires, decembre, 800€, on marquera 800€ dans la case M14

Merci d'avance et essayez de m'expliquer si possible en meme temps

Bien cordialement

-- 19 Juil 2011, 17:21 --

J'ai oublié la pièce jointe ...

10compte.xlsx (17.43 Ko)

Bonjour

Un essai

Bonjour,

et merci de votre réponse rapide.

Mais je n'arrive pas à valider la maccro pouvez vous enlever la sécurité et afficher la maccro.

Merci d'avance cordialement

Bonjour

Soucis n'ayant pas 2007 je ne sais pas où l'on doit aller pour autoriser les macros : Si le problème vient de là ?

Un connaisseur de 2007 va bien te répondre wait and see

Bonjour,

je ne sais pas d'ou viens le problème, je réessayerai sur mon autre ordinateur.

En attendant j'attend une autre réponse qui pourrai m'aiguiller.

Bonjour,

j'ai réussi à lire ta pièce jointe, en effet le résultat est la, mais le problème c'est que la somme rentrée en amont remplace la somme dans le tableau au dessous alors qui devrait l'additionner.

Peux tu me redonner la pièce jointe mais avec la maccro visible parce que la je n'ai pas accès à ta maccro ?

Merci d'avance cordialement.

Bonjour

Voici actuellement la macro en place

Option Explicit

Sub Dispatche()
Dim Cel As Range
Dim Lg As Long
Dim Cl As Integer
Dim I As Integer
Dim Action(0 To 1) As Boolean

  If Application.CountA(Range("C3:I3")) = 3 Then Action(0) = True
  If Application.CountA(Range("C5:I5")) = 3 Then Action(1) = True

  For I = 0 To 1
    If Action(I) = True Then
      Set Cel = Switch(I = 0, Range("A23:A38"), _
                       I = 1, Range("A14:A19")).Find(what:=Range("C" & 3 + I * 2), LookIn:=xlValues, lookat:=xlWhole)
      If Not Cel Is Nothing Then
        Lg = Cel.Row
      Else
        MsgBox Range("A" & 3 + I * 2) & " non répertoriée"
        Exit Sub
      End If
      Set Cel = Range("B10:O10").Find(what:=Range("F" & 3 + I * 2), LookIn:=xlValues, lookat:=xlWhole)
      If Not Cel Is Nothing Then
        Cl = Cel.Column
      Else
        MsgBox "Mois non trouvé"
        Exit Sub
      End If
     Cells(Lg, Cl) = Range("I" & 3 + I * 2)
    End If
  Next I
End Sub

Si tu veux que les valeurs s'ajoutent

Remplaces cette ligne

 Cells(Lg, Cl) = Range("I" & 3 + I * 2)

par celle-ci

 Cells(Lg, Cl) =  Cells(Lg, Cl) + Range("I" & 3 + I * 2)

Bonne journée

Rechercher des sujets similaires à "maccro simple"