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
| Option Explicit
Private Sub CommandButton1_Click() 'bouton Valider les données
Dim D As String 'déclare la date D
Dim J As Byte 'déclare la jour J
Dim M As Byte 'déclare le mois M
Dim O As Object 'déclare l'onglet O
Dim I As Byte 'déclare la variable I (Incrément)
Dim T As Double 'déclare la variable T (Total)
D = Range("C4") 'définit la date D
J = Day(D) 'définit le jour J
M = Month(D) 'définit le mois M
Set O = Sheets(Format("1/" & M, "mmmm")) 'définit l'onglet O
With Worksheets("calcul") 'prend en compte l'onglet "calcul"
.Range(.Cells(4, 5), .Cells(4, 7)).Copy 'copie la plage E4:G4
End With 'fin de la prose en compte de l'onglet "calcul"
For I = 4 To 6 'bloucle sur les colonne 4 à 6 (=D à F)
T = T + O.Cells(J + 4, I).Value 'définit la variable T (total des 3 cellules ligne J+4 à la fin de la boucle)
Next I
If T = 0 Then 'condition : si T=0
O.Cells(J + 4, 4).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'colle les valeurs copiés
Else 'sinon
MsgBox ("il y a déjà des données enregistrées pour ce jour") 'message
End If 'fin de la condition
End Sub
Sub CommandButton2_Click() 'bouton "Déplacer les données"
Dim C As Object 'déclare la variable C (onglet [c]alcul)
Dim LI As Integer 'déclare la variable LI ([LI]gne)
Dim D As Object 'déclare la variable D (onglet [d]onnées)
Set C = Sheets("calcul") 'définit l'onglet C
Set D = Sheets("données") 'définit l'onglet D
LI = D.Cells(Application.Rows.Count, 1).End(xlUp).Row + 1 'définit la première ligne vide LI de la colonne 1 (=A) de l'onglet D
C.Rows("14:113").Copy 'copie les lignes 14 à 113 de l'onglet C
'colle les valeurs de la plage copiée dans la cellule ligne LI, colonne 1 (=A) de l'onglet D
D.Cells(LI, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
C.Range("D14:F113").ClearContents 'efface le contenu de la plage D14:F113
C.Select 'sélectionne l'onglet C
C.Range("D14").Select 'sélectionnen la cellule D14
End Sub |
Partager