br44
XLDnaute Impliqué
Bonjour le forum,
Voilà je reviens vers vous pour savoir si il est possilble de modifier une macro réaliser il y a quelques temps par "Bebere " l'un des spécialiste du forum .
Dans la macro qui suit je souhaiterais que le même calcul se face sur la feuille mensuelle sélectionnée (boucle sur 12 feuilles allant de 2 à 13 dans mon classeur) et non sur la feuille "Saisie1" comme c'est le cas actuellement .
Voici la Macro :
Je joint également un modele d'une feuille mensuel pour infos :
Je souhaites cette modifie pour la raison suivante : Dans la version actuelle le résultat passe bien à 0 mais cela efface également la formule contenue dans la cellules et cela m'obligerais à remettres la formules à chaque changement .
En espèrant que cela soit possible sans trop de complications . Je demande juste les infos avec des explications . Pour la modif je les mettrais en place moi-même si cela m'aidras à comprendre le principe .
Vous remerciants par avances pour votres aide je vous dit à bientôt en espérant avoir ètè claire dans ma demande . Amicalement BR44
Voilà je reviens vers vous pour savoir si il est possilble de modifier une macro réaliser il y a quelques temps par "Bebere " l'un des spécialiste du forum .
Dans la macro qui suit je souhaiterais que le même calcul se face sur la feuille mensuelle sélectionnée (boucle sur 12 feuilles allant de 2 à 13 dans mon classeur) et non sur la feuille "Saisie1" comme c'est le cas actuellement .
Voici la Macro :
Code:
'Public Sub MetAjour(NomFeuil As String, Nom As String, Mois As String)
'Dim Cel As Range, L As Long, C As Integer, CGlobal As Integer, Couleur As Byte
'Dim Montant, MontantGlobal 'variant
'Select Case NomFeuil
'Case "saisie1" [COLOR="Red"]<== 'Partie à modifier[/COLOR]
'With Worksheets("Saisie1")
'CGlobal = .Cells(10, 255).End(xlToLeft).Column 'index colonne global
'Set Cel = .Cells.Find(Nom)
'If Not Cel Is Nothing Then L = Cel.Row
'Set Cel = .Cells.Find(Mois)
'If Not Cel Is Nothing Then C = Cel.Column
'If .Cells(L, C + 1).Font.ColorIndex = 5 Then
'Montant = .Cells(L, C + 1)
'End If
'For Each Cel In Range(.Cells(L, C + 1), .Cells(L, C + 8))
'If Cel.Font.ColorIndex = 3 Then 'rouge
'.Cells(L, C + 7) = .Cells(L, C + 7) + Cel
'End If
'If Cel.Font.ColorIndex = 5 Then 'bleu
'.Cells(L, CGlobal) = .Cells(L, CGlobal) - Montant
'MontantGlobal = .Cells(L, CGlobal)
'End If
'Next Cel
''If .Cells(L, CGlobal) = "" Then .Cells(L, CGlobal).Font.ColorIndex = 5
'End With
'
'Case Else
'With Worksheets(NomFeuil)
'CGlobal = .Cells(10, 255).End(xlToLeft).Column
'Set Cel = .Cells.Find(Nom)
'If Not Cel Is Nothing Then L = Cel.Row
'Set Cel = .Cells.Find(Mois)
'If Not Cel Is Nothing Then C = Cel.Column
'.Cells(L, C + 7) = ""
'For Each Cel In Range(.Cells(L, C + 1), .Cells(L, C + 8))
'If Cel.Font.ColorIndex = 3 Then 'rouge
'.Cells(L, C + 7) = .Cells(L, C + 7) + Cel
'End If
'If Cel.Font.ColorIndex = 5 Then 'bleu
'.Cells(L, CGlobal) = .Cells(L, CGlobal) - Cel
'End If
'Next Cel
'End With
'
'End Select
'
'With SAISIE3
'.MontantGlobal = MontantGlobal
'.NomClient.List(.NomClient.ListIndex, 1) = .MontantGlobal
'End With
'End Sub
Je joint également un modele d'une feuille mensuel pour infos :
Je souhaites cette modifie pour la raison suivante : Dans la version actuelle le résultat passe bien à 0 mais cela efface également la formule contenue dans la cellules et cela m'obligerais à remettres la formules à chaque changement .
En espèrant que cela soit possible sans trop de complications . Je demande juste les infos avec des explications . Pour la modif je les mettrais en place moi-même si cela m'aidras à comprendre le principe .
Vous remerciants par avances pour votres aide je vous dit à bientôt en espérant avoir ètè claire dans ma demande . Amicalement BR44