Bonjour à tous.

Je suis perplexe suite à la réaction d'excel dans un de mes fichiers.

Voici un petit résumé puis ma question:

Je suis à la création d'un fichier comptable pour le compte d'une fondation à but non lucratif. J'ai une feuille qui permet de comptabiliser les dépôts des donateurs. Cette feuille excel contient la date entre autres informations.
Une fois les inscriptions terminées, j'ai un bout de code qui enregistre dans une autre feuille les dépôts comptabilisés. Puis, à la fermeture du fichier, les dépôts sont transféré dans un deuxième fichier qui permet aux administrateurs de voir les états financiers.

J'ai la formule suivante dans une feuille excel de mon deuxième fichier (états financiers):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
=Si(b4<Ba2;0;si(b4>Ba3;0;+j4)
Mon problème est le suivant:

La date dans B4 fait suite au code vba qui ne fait que copier vers l'emplacement suivant. La date en B4 n'est pas plus petite que Ba2 ou plus grande que BA3. Je devrais donc avoir le montant inclus dans J4. Eh bien non.... Le résultats est 0 !

J'ai cherché une raison mais je ne trouve pas...

Puis j'ai appuyé sur F2 par erreur sur B4 et fait "enter" et le problème est régler... pour cette ligne...

Quelqu'un a-t-il déjà eu ce genre de problème ? Peut-être que dans mon code vba, il y a quelque chose à ajouter.

Notez que j'ai fait des tests en additionnant 1 à la date afin de vérifier si la cellule était pas en format texte et j'ai obtenu le jour suivant de ce date.


Merci pour votre aide... Je suis en panique car je dois finalier ce fichier sous peu.

Ci-joint, le code vba

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
If [depot15] <> 0 Then
        Sheets("Transfert dépots").Select
        Rows("6:6").Select
        Selection.Insert Shift:=xlDown
        Sheets("Dépôts").Select
        Range("AA21:AH21").Select
        Selection.Copy
        Sheets("Transfert dépots").Select
        Range("A6").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A6").Select
    End If
 
 
 
    Sheets("Dépôts").Select
    Application.CutCopyMode = False
    Range("B7,B9,B11,B13,B15,B17,B19,B21,B23,B25").Select
    Range("B25").Activate
    Range( _
        "B7,B9,B11,B13,B15,B17,B19,B21,B23,B25,B27,B29,B31,B33,B35,C35,C33,C31,C29,C27,C25,C23" _
        ).Select
    Range("C23").Activate
    Range( _
        "B7,B9,B11,B13,B15,B17,B19,B21,B23,B25,B27,B29,B31,B33,B35,C35,C33,C31,C29,C27,C25,C23,C21,C19,C17,C15,C13,C11" _
        ).Select
    Range("C11").Activate
    Union(Range( _
        "G9,E9,E11,G11,G13,E13,E15,G15,G17,E17,E19,G19,E21,G21,E23,G23,B7,B9,B11,B13,B15,B17,B19,B21,B23,B25,B27,B29,B31,B33,B35,C35" _
        ), Range("C33,C31,C29,C27,C25,C23,C21,C19,C17,C15,C13,C11,C9,C7,E7,G7")).Select
    Range("G23").Activate
    Union(Range( _
        "G9,E9,E11,G11,G13,E13,E15,G15,G17,E17,E19,G19,E21,G21,E23,G23,E25,G25,G27,E27,E29,G29,G31,E31,E33,G33,G35,E35,I35,I33,I31,I29" _
        ), Range( _
        "I27,I25,I23,I21,I19,B7,B9,B11,B13,B15,B17,B19,B21,B23,B25,B27,B29,B31,B33,B35,C35,C33,C31,C29,C27,C25,C23,C21,C19,C17,C15,C13" _
        ), Range("C11,C9,C7,E7,G7")).Select
    Range("I19").Activate
    Union(Range( _
        "G9,E9,E11,G11,G13,E13,E15,G15,G17,E17,E19,G19,E21,G21,E23,G23,E25,G25,G27,E27,E29,G29,G31,E31,E33,G33,G35,E35,I35,I33,I31,I29" _
        ), Range( _
        "I27,I25,I23,I21,I19,I17,I15,I13,I11,I9,I7,B7,B9,B11,B13,B15,B17,B19,B21,B23,B25,B27,B29,B31,B33,B35,C35,C33,C31,C29,C27,C25" _
        ), Range("C23,C21,C19,C17,C15,C13,C11,C9,C7,E7,G7")).Select
    Range("I7").Activate
    Union(Range( _
        "G9,E9,E11,G11,G13,E13,E15,G15,G17,E17,E19,G19,E21,G21,E23,G23,E25,G25,G27,E27,E29,G29,G31,E31,E33,G33,G35,E35,I35,I33,I31,I29" _
        ), Range( _
        "I27,I25,I23,I21,I19,I17,I15,I13,I11,I9,I7,K7,M7,K9,M9,M11,K11,K13,M13,M15,K15,K17,M17,K19,M19,K21,M21,B7,B9,B11,B13,B15" _
        ), Range( _
        "B17,B19,B21,B23,B25,B27,B29,B31,B33,B35,C35,C33,C31,C29,C27,C25,C23,C21,C19,C17,C15,C13,C11,C9,C7,E7,G7" _
        )).Select
    Range("M21").Activate
    Union(Range( _
        "G9,E9,E11,G11,G13,E13,E15,G15,G17,E17,E19,G19,E21,G21,E23,G23,E25,G25,G27,E27,E29,G29,G31,E31,E33,G33,G35,E35,I35,I33,I31,I29" _
        ), Range( _
        "I27,I25,I23,I21,I19,I17,I15,I13,I11,I9,I7,K7,M7,K9,M9,M11,K11,K13,M13,M15,K15,K17,M17,K19,M19,K21,M21,M23,K23,K25,M25,M27" _
        ), Range( _
        "K27,K29,M29,M31,K31,B7,B9,B11,B13,B15,B17,B19,B21,B23,B25,B27,B29,B31,B33,B35,C35,C33,C31,C29,C27,C25,C23,C21,C19,C17,C15,C13" _
        ), Range("C11,C9,C7,E7,G7")).Select
    Range("K31").Activate
    Union(Range( _
        "G9,E9,E11,G11,G13,E13,E15,G15,G17,E17,E19,G19,E21,G21,E23,G23,E25,G25,G27,E27,E29,G29,G31,E31,E33,G33,G35,E35,I35,I33,I31,I29" _
        ), Range( _
        "I27,I25,I23,I21,I19,I17,I15,I13,I11,I9,I7,K7,M7,K9,M9,M11,K11,K13,M13,M15,K15,K17,M17,K19,M19,K21,M21,M23,K23,K25,M25,M27" _
        ), Range( _
        "K27,K29,M29,M31,K31,K33,M33,M35,K35,B7,B9,B11,B13,B15,B17,B19,B21,B23,B25,B27,B29,B31,B33,B35,C35,C33,C31,C29,C27,C25,C23,C21" _
        ), Range("C19,C17,C15,C13,C11,C9,C7,E7,G7")).Select
    Range("K35").Activate
    Selection.ClearContents
    Range("B5").Select
    Selection.ClearContents
    Sheets("Programation").Select
    Range("C8").Select
    Selection.Copy
    Range("B8").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Sheets("Dépôts").Select
    Range("B7").Select
End Sub

Puis pour le transfert vers les états financier, voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
CeFichier = ThisWorkbook.Name
    FichierFinanciers = "C:\test\FMLFinanciers.xls"
    FichierFinancierPourRetour = "FMLFinanciers.xls"
 
    Workbooks.Open Filename:=FichierFinanciers
    [FichierMaitre] = CeFichier
    Windows(CeFichier).Activate
 
    Do Until Sheets("Transfert Dépots").Range("A6") = ""
 
     Sheets("Transfert Dépots").Select
    Range("A6:H6").Select
    Selection.Copy
    Windows(FichierFinancierPourRetour).Activate
 
 
 
    Sheets("recettes").Select
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B4:V4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("a5").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 1).Activate
 
 
    ActiveSheet.Paste
 
 
    Range("A4").Select
    Selection.Copy
    Range("a5").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Activate
 
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
 
     Windows(CeFichier).Activate
     Sheets("Transfert Dépots").Select
     Rows("6:6").Select
     Selection.Delete
     Windows(FichierFinancierPourRetour).Activate
     Sheets("Recettes").Select
     Range("B4:I4").Select
   Selection.ClearContents
    Sheets("Programation").Select
    Range("C5").Select
    Selection.Copy
 
    Range("B5").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
 
            Windows(CeFichier).Activate
 
    Sheets("Transfert Dépots").Select
 
    Loop
 
    Windows(FichierFinancierPourRetour).Activate
    ActiveWorkbook.Save
    ActiveWorkbook.Close
 
    Windows(CeFichier).Activate
 
 
End Sub
dlight