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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
Private Sub CommandButton2_Click()
Dim i As Integer
Dim Counter As Integer
i = 0
For Counter = 26 To 10000 ' Cette boucle cherche la première ligne vide dans la première
i = i + 1 ' colonne.
If Worksheets("002-Découverture").Cells(Counter, 1) = "" And Test(Counter) = False And Worksheets("Saisie").Range("datedecouverture") <> "" Then
CopieDonnees "Saisie", "datedecouverture", "002-Découverture", 1, Counter
CopieDonnees "Saisie", "limonsrougesval", "002-Découverture", 2, Counter
CopieDonnees "Saisie", "limonsrougester", "002-Découverture", 3, Counter
CopieDonnees "Saisie", "sablesargileuxval", "002-Découverture", 4, Counter
CopieDonnees "Saisie", "sablesargileuxter", "002-Découverture", 5, Counter
CopieDonnees "Saisie", "argilesbleuesval", "002-Découverture", 6, Counter
CopieDonnees "Saisie", "argilesbleuester", "002-Découverture", 7, Counter
CopieDonnees "Saisie", "gresbleusval", "002-Découverture", 8, Counter
CopieDonnees "Saisie", "gresbleuster", "002-Découverture", 9, Counter
CopieDonnees "Saisie", "sterilesgisementval", "002-Découverture", 10, Counter
CopieDonnees "Saisie", "sterilesgisementter", "002-Découverture", 11, Counter
CopieDonnees "Saisie", "terrilprovisoireval", "002-Découverture", 12, Counter
CopieDonnees "Saisie", "terrilprovisoireter", "002-Découverture", 13, Counter
Exit For
ElseIf Test(Counter) = True Then
' Si le numero du tir existe déjà, on affiche un message
'd'alerte.
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Une entrée comportant les mêmes informations existe déjà. Souhaitez-vous écraser les donnés?" ' Définit le message.
Style = vbYesNo + vbCritical + vbDefaultButton2 ' Définit les boutons.
Title = "Attention " ' Définit le titre.
Help = "DEMO.HLP" ' Définit le fichier d'aide.
Ctxt = 1000 ' Définit le contexte de
' la rubrique.
' Affiche le message.
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then ' L'utilisateur a choisi Oui.
CopieDonnees "Saisie", "datedecouverture", "002-Découverture", 1, Counter
CopieDonnees "Saisie", "limonsrougesval", "002-Découverture", 2, Counter
CopieDonnees "Saisie", "limonsrougester", "002-Découverture", 3, Counter
CopieDonnees "Saisie", "sablesargileuxval", "002-Découverture", 4, Counter
CopieDonnees "Saisie", "sablesargileuxter", "002-Découverture", 5, Counter
CopieDonnees "Saisie", "argilesbleuesval", "002-Découverture", 6, Counter
CopieDonnees "Saisie", "argilesbleuester", "002-Découverture", 7, Counter
CopieDonnees "Saisie", "gresbleusval", "002-Découverture", 8, Counter
CopieDonnees "Saisie", "gresbleuster", "002-Découverture", 9, Counter
CopieDonnees "Saisie", "sterilesgisementval", "002-Découverture", 10, Counter
CopieDonnees "Saisie", "sterilesgisementter", "002-Découverture", 11, Counter
CopieDonnees "Saisie", "terrilprovisoireval", "002-Découverture", 12, Counter
CopieDonnees "Saisie", "terrilprovisoireter", "002-Découverture", 13, Counter
Exit For
Else ' L'utilisateur a choisi Non.
Exit For ' Effectue une action.
End If
ElseIf Worksheets("002-Découverture").Range("datedecouverture") <> "" Then
Dim Reponse As Integer
Reponse = MsgBox("Il manque la date !", vbInformation + vbOK + vbDefaultButton1, "Attention")
Else
End If
Next Counter
End Sub
Sub CopieDonnees(A, B, C, d, e)
' Cette procédure copie les données de la feuille A vers la feuille C
Sheets(C).Cells(e, d) = Sheets(A).Range(B)
End Sub
Function Test(Counter As Integer) As Boolean
If Sheets("Saisie").Range("datedecouverture") = Sheets("002-Découverture").Cells(Counter, 1) _
And Sheets("Saisie").Range("limonsrougesval") = Sheets("002-Découverture").Cells(Counter, 2) _
And Sheets("Saisie").Range("limonsrougester") = Sheets("002-Découverture").Cells(Counter, 3) _
And Sheets("Saisie").Range("sablesargileuxval") = Sheets("002-Découverture").Cells(Counter, 4) _
And Sheets("Saisie").Range("sablesargileuxter") = Sheets("002-Découverture").Cells(Counter, 5) _
And Sheets("Saisie").Range("argilesbleuesval") = Sheets("002-Découverture").Cells(Counter, 6) _
And Sheets("Saisie").Range("argilesbleuester") = Sheets("002-Découverture").Cells(Counter, 7) _
And Sheets("Saisie").Range("gresbleusval") = Sheets("002-Découverture").Cells(Counter, 8) _
And Sheets("Saisie").Range("gresbleuster") = Sheets("002-Découverture").Cells(Counter, 9) _
And Sheets("Saisie").Range("sterilesgisementval") = Sheets("002-Découverture").Cells(Counter, 10) _
And Sheets("Saisie").Range("sterilesgisementter") = Sheets("002-Découverture").Cells(Counter, 11) _
And Sheets("Saisie").Range("terrilprovisoireval") = Sheets("002-Découverture").Cells(Counter, 12) _
And Sheets("Saisie").Range("terrilprovisoireter") = Sheets("002-Découverture").Cells(Counter, 13) Then
Test = True
Else
Test = False
End If
End Function |