Re
Désolé mais je crois que je me suis emmé é les pinceaux. Voici donc mon code pour les deux boutons.
Private Imprimer As Boolean
Private Sub CommandButton1_Click() 'bouton pour enregistrer dans une table dans une autre feuille puis une fois l'enregistrement effectué, remise à blanc des champs et mise à jour de la base pour passer au numéro suivant.
If Imprimer = False Then
MsgBox "impression obligatoire"
Exit Sub
Else
Dim Ligne As Long
Ligne = Sheets("Table").Range("a65536").End(xlUp).Row + 1
Sheets("Table").Range("A" & Ligne).Value = Sheets("Facture").Range("B5").Value
Sheets("Table").Range("B" & Ligne).Value = Sheets("Facture").Range("H5").Value
Sheets("Table").Range("C" & Ligne).Value = Sheets("Facture").Range("E5").Value
Sheets("Table").Range("D" & Ligne).Value = Sheets("Facture").Range("E7").Value
Sheets("Table").Range("E" & Ligne).Value = Sheets("Facture").Range("G2").Value
Sheets("Table").Range("F" & Ligne).Value = Sheets("Facture").Range("E9").Value
Sheets("Table").Range("G" & Ligne).Value = Sheets("Facture").Range("E11").Value
Sheets("Table").Range("H" & Ligne).Value = Sheets("Facture").Range("G11").Value
Sheets("Table").Range("I" & Ligne).Value = Sheets("Facture").Range("G13").Value
Sheets("Table").Range("J" & Ligne).Value = Sheets("Facture").Range("E28").Value
End If
Range("E5").ClearContents
Range("E7").ClearContents
Range("E9").ClearContents
Range("E11").ClearContents
Range("E13").ClearContents
Range("G11").ClearContents
Range("G13:H14").ClearContents
Range("C17:C26").ClearContents
Range("E28").ClearContents
MsgBox "merci de patientez durant l'enregistrement"
ActiveWorkbook.Save
End Sub
Private Sub CommandButton2_Click() 'bouton pout imprimer avec vérification que toutes les cellules requises sont bien remplies.
Dim CELLULE As Range, MESSAGE As String
For Each CELLULE In Range("_Vérificateur,_Manifeste,_Numéro,_Ligne,_Client,_Bordereau,_Motif")
If CELLULE = "" Then MESSAGE = MESSAGE & WorksheetFunction.Substitute(CELLULE.Name.Name, "$", "") & ", "
Next
If MESSAGE <> "" Then
MsgBox "La ou les cellules suivantes ne sont pas remplies : " & vbCrLf & Left(MESSAGE, Len(MESSAGE) - 2)
Else
Range("B2:H34").Select
ActiveSheet.PageSetup.PrintArea = "$B$2:$H$34"
ActiveWindow.SelectedSheets.PrintOut Copies:=2, Collate:=True
Imprimer = True
MsgBox "impression ok"
End If
End Sub
J'espére que c'est clair sinon je ferai un fichier
@+