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):
Mon problème est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part =Si(b4<Ba2;0;si(b4>Ba3;0;+j4)
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
dlight
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![]()
Partager