bonjour, mon premier poste
cela concerne un mini gestionnaire de compte.
voila je désire saisir des données inscrite sur ma feuille "entrée" (date, dépôt, débit, catégories)et les faire retranscrire automatiquement dans le mois approprié (un mois pour chaque feuille) et ce une ligne à la suite de l'autre.
voici mon code de la macro, mais il bloque sur la reconnaissance de la feuille à sélectionner (en rouge) pour faire le test des lignes et inscrire les données.
merci d'avance pour votre aide !
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 Sub Enregistrer() ' ' Enregistrer Macro ' copy de la nouvelle entrée Sheets("Entrée").Select Range("B23:L23").Select Selection.Copy ' test pour déterminer sur quelle feuille (mois) inscrire la ligne de données Sheets("Entrée").Select feuille_mois = ActiveSheet.Name Select Case Range("W5").Value Case 39083 To 39113 feuille_mois = Janvier Case 39114 To 39141 feuille_mois = Février Case 39142 To 39172 feuille_mois = Mars Case 39173 To 39202 feuille_mois = Avril Case 39203 To 39233 feuille_mois = Mai Case 39234 To 39263 feuille_mois = Juin Case 39264 To 39294 feuille_mois = Juillet Case 39295 To 39325 feuille_mois = Août Case 39326 To 39355 feuille_mois = Septembre Case 39356 To 39386 feuille_mois = Octobre Case 39387 To 39416 feuille_mois = Novembre Case 39417 To 39447 feuille_mois = Décembre Case Else MsgBox "La date entrée n'est pas valide" End Select ' mémoriser le classeur du mois où inscrire les données feuille_mois = ActiveSheet.Name ' Test pour déterminer la ligne ou inscrire la ligne de données dans la feuille qui a été choisi Sheets(feuille_mois).Select ici il ne reconnait pas la feuille du mois sélectionné par le select case ci-haut Dim ligne_de_base As Integer valeurA2 = Range("A2").Value If valeurA2 = "" Then Range("A2").Select Else Range("A1").Select Selection.End(xlDown).Select ligne_de_base = ActiveCell.Row Range("A65536" & ligne_de_base + 1).Select End If ' memorise le numéro de la ligne où inscrire les données ligne_de_base = ActiveCell.Row ' Enregistrement des données Range("A" & ligne_de_base).Select Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ xlNone, SkipBlanks:=False, Transpose:=False 'remettre le formulaire "entrée" à zéro Sheets("Entrée").Select Range("B23,D23,F23,H23,J23,L23").Select Selection.ClearContents Range("B23").Select MsgBox "La transaction est enregistrée." End Sub
merci beaucoup![]()
Partager