VBA Ligne "oubliée " après comparaison - Page 3

Résolu
Précédent
  • 1
  • 2
  • 3
  1. klissou69 Messages postés 61 Statut Membre
     
    Eh bien c'est en plein milieu de lignes du mois de décembre donc 12.
    0
  2. Hermios Messages postés 272 Statut Membre 1
     
    Regarde attentivement la ligne à partir de laquelle ca fait ca. C'est possible qu'elle soit mal écrite
    0
  3. klissou69 Messages postés 61 Statut Membre
     
    Y a peut être un souci avec l'année, car sur la ligne "VarMois <> 0 And VarAnnee <> 0 And VarMois <> Cells(i, 23).Value And VarAnnee <> Cells(i, 24).Value Then" ca veut dire que c'est vérifié uniquement si on change d'année, ce qui n'est pas vrai pour les mois de la même année .

    Sinon je ne vois vraiment pas la et ca m'ennuie :/
    0
  4. klissou69 Messages postés 61 Statut Membre
     
    Ca y est j'ai une piste. La somme affichée est bien la somme des flux mais uniquement sur l'année 2012, il ne prend en compte la condition que quand l'année est différente du coup. Mais du coup si j'enlève la condition sur l'année, ca m'affiche la variable intermédiaire de toutes les lignes !! Je comprends plus, ma logique a atteint ses limites :/
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Hermios Messages postés 272 Statut Membre 1
     
    Ah oui, tu as tout à fait raison! Bon, en fait, à moins que tu ne fasses pas un compte suivi (les mois ne se suivent pas, et donc tu pourrais passer de juillet 2012 à juillet 2013 directement), l'année n'a aucun intérêt. Je te conseille de la supprimer!
    0
  7. klissou69 Messages postés 61 Statut Membre
     
    Je sais pas si tu as lu mon message juste au dessus du coup vu qu'on s'est croisés :p

    Je veux bien l'enlever mais ça m'affiche toute les OP du coup.

    Je suis quelque peu dubitatif la.
    0
  8. Hermios Messages postés 272 Statut Membre 1
     
    "ca m'affiche toute les OP du coup"-> Et c'Est pas ce que tu veux?
    0
  9. klissou69 Messages postés 61 Statut Membre
     
    Toutes, chacune séparément, 1 par 1 ! Pas par mois :'(
    0
  10. Hermios Messages postés 272 Statut Membre 1
     
    TU peux réafficher ton code final stp?
    0
  11. klissou69 Messages postés 61 Statut Membre
     
    Avec plaisir :

    Sub extractBOT()
    
    Sheets("Feuil1").Activate
    Dim Mois As Byte
    
    Dim m As Double
    Dim n As Double
    Dim o As Double
    Dim p As Double
    Dim j As Double
    Dim k As Double
    
    Dim VarMois As Double
    Dim VarAnnee As Double
    j = 2
    k = 2
    
    
    m = 0
    n = 0
    o = 0
    p = 0
    r = 0
    
    VarMois = 0
    VarAnnee = 0
    
    nbcolonne1 = Sheets("Feuil1").UsedRange.Columns.Count 'compte le nombre de colonnes non vides sur la feuille 1
    nbligne1 = Sheets("Feuil1").UsedRange.Rows.Count 'compte le nombre de lignes non vides sur la feuille 1
    
    For i = 2 To nbligne1
    
        Mois = Month(CDate(Cells(i, 20)))
        Cells(i, 23).Value = Mois
        
        Annee = Year(CDate(Cells(i, 20)))
        Cells(i, 24).Value = Annee
    Next
    
        For i = 2 To nbligne1
            If VarMois <> 0 And VarAnnee <> 0 And VarMois <> Cells(i, 23).Value Then  ' j'ai enlevé And VarAnnee <> Cells(i, 24).Value
            
            Sheets("Feuil2").Cells(j, 1).Value = n
            Sheets("Feuil2").Cells(j, 2).Value = m
            Sheets("Feuil2").Cells(j, 3).Value = o
            Sheets("Feuil2").Cells(j, 4).Value = p
            
            Sheets("Feuil2").Cells(j, 5).Value = r
            
            j = j + 1
            
            Sheets("Feuil2").Cells(k, 7).Value = VarMois
            k = k + 1
            End If
    
            If VarMois <> Cells(i, 23).Value And VarAnnee <> Cells(i, 24).Value Then
                m = 0
                n = 0
                o = 0
                p = 0
                
                VarMois = Cells(i, 23)
                VarAnnee = Cells(i, 24)
                Sheets("Feuil2").Cells(k, 7).Value = VarMois
            k = k + 1
    
            End If
        
            If Cells(i, 5).Value = "COMMISSION" Then
                n = n + 1
                r = r + 1
                Sheets("Feuil2").Cells(k, 7).Value = VarMois
                k = k + 1
            'ElseIf Cells(i, 5).Value = "COMMISSION" And Cells(i, 2).Value = "RECEIPT" Then
                'm = m + 1
                'r = r + 1
    
            ElseIf Cells(i, 5).Value = "PRINCIPAL" And Cells(i, 2).Value = "PAYMENT" Then
                o = o + 1
                r = r + 1
                Sheets("Feuil2").Cells(k, 7).Value = VarMois
                k = k + 1
    
            ElseIf Cells(i, 5).Value = "PRINCIPAL" And Cells(i, 2).Value = "RECEIPT" Then
                p = p + 1
                r = r + 1
                Sheets("Feuil2").Cells(k, 7).Value = VarMois
                k = k + 1
    
            End If
    
            
    
    
    Next
    
    Sheets("Feuil2").Activate
    
    End Sub
    
    
    
    0
  12. Hermios Messages postés 272 Statut Membre 1
     
    If VarMois <> Cells(i, 23).Value And VarAnnee <> Cells(i, 24).Value Then
    0
  13. klissou69 Messages postés 61 Statut Membre
     
    C'est ce que j'ai mis, le then est au dessous
    0
  14. Hermios Messages postés 272 Statut Membre 1
     
    Oui, et c'est faux (varAnnee...)
    0
  15. klissou69 Messages postés 61 Statut Membre
     
    Je ne comprends pas
    0
  16. klissou69 Messages postés 61 Statut Membre
     
    J'avais juste enlevé la condition :
      And VarAnnee <> Cells(i, 24).Value
    
    juste après mon for. Mais je vais les enlever partout dans ce cas
    0
  17. klissou69 Messages postés 61 Statut Membre
     
    Oh mon dieu je crois que ça marche ... Au bout du 55éme message ALLELUIA !
    En fait la variable année empechait de rentrer dans la boucle c'est ça ?

    Merci pour ta patience Hermios, tu as vraiment du mérite ;)

    Je te souhaite un bon we et à bientot sur le forum sûrement !
    0
  18. Hermios Messages postés 272 Statut Membre 1
     
    Oui, c'Est ca.
    Pas de soucis :D Bon wix à toi aussi!
    0
Précédent
  • 1
  • 2
  • 3