heart clean
XLDnaute Nouveau
Bonjour à tous,
J'ai besoin d'aide pour résoudre un problème dans mon code de macro. J'ai un tableau dans la feuille "Régularisation" où je compare les valeurs de la colonne H à partir de la ligne 7. Si la cellule est égale à "Paiement", je souhaite ouvrir une attestation au format PDF. Si la cellule est égale à "Remboursement" ou à "En ordre", je ne veux rien faire et aucun PDF ne doit s'ouvrir.
Si quelqu'un parmi vous pourrait m'aider à corriger ce code de macro, je vous serais très reconnaissant. Veuillez trouver ci-dessous le code actuel :
Private Sub CommandButton1_Click()
Dim dl As Integer
If Me.ComboBox3.Value <> "" And Me.Txt_description.Value <> "" And Me.Txt_payé.Value <> "" And Me.Txt_listing.Value <> "" Then
Sheets("Régularisation").ListObjects(1).ListRows.Add
dl = Sheets("Régularisation").Range("c9999").End(xlUp).Row
'Ajouter dans le tableau
Sheets("Régularisation").Range("C" & dl) = Me.ComboBox3.Value
Sheets("Régularisation").Range("D" & dl) = Me.Txt_description.Value
Sheets("Régularisation").Range("E" & dl) = CDec(Me.Txt_payé.Value)
Sheets("Régularisation").Range("F" & dl) = CInt(Me.Txt_listing.Value)
Dim chemin As String
Dim nomFichier As String
' Définir le chemin et le nom de fichier
chemin = "C:\Users\Utilisateur\Desktop\Attestation\" ' Chemin où le PDF sera enregistré
nomFichier = Me.Txt_description.Value & ".pdf" ' Nom du fichier PDF
' Vérifier la valeur de la cellule H7 et les suivantes dans la feuille "Régularisation"
Dim derniereligne As Long
derniereligne = Sheets("Régularisation").Cells(Rows.Count, "H").End(xlUp).Row
Dim i As Long
Dim plage As Range
Dim paiementTrouve As Boolean
Dim remboursementTrouve As Boolean
Dim enOrdreTrouve As Boolean
paiementTrouve = False
remboursementTrouve = False
enOrdreTrouve = False
For i = 7 To derniereligne
If Sheets("Régularisation").Range("H" & i).Value = "Paiement" Then
Sheets("Attestation").Activate
Set plage = Range("B4:B46")
plage.Worksheet.PageSetup.Zoom = 80
plage.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & nomFichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False
Shell "explorer.exe """ & chemin & nomFichier & """"
paiementTrouve = True
Exit For
ElseIf Sheets("Régularisation").Range("H" & i).Value = "Remboursement" Then
remboursementTrouve = True
ElseIf Sheets("Régularisation").Range("H" & i).Value = "En ordre" Then
enOrdreTrouve = True
End If
Next i
If remboursementTrouve Then
MsgBox "Attention, vous avez le remboursement. Aucun PDF ne sera ouvert."
ElseIf enOrdreTrouve Then
MsgBox "Parfait, tout est en ordre."
ElseIf Not paiementTrouve Then
MsgBox "Aucun paiement trouvé. Aucun PDF ne sera ouvert."
End If
End If
Sheets("Employés").Range("d19") = Sheets("Employés").Range("d19")
ThisWorkbook.Save
Unload Add_employé
End Sub
Je vous remercie d'avance pour votre aide précieuse !
J'ai besoin d'aide pour résoudre un problème dans mon code de macro. J'ai un tableau dans la feuille "Régularisation" où je compare les valeurs de la colonne H à partir de la ligne 7. Si la cellule est égale à "Paiement", je souhaite ouvrir une attestation au format PDF. Si la cellule est égale à "Remboursement" ou à "En ordre", je ne veux rien faire et aucun PDF ne doit s'ouvrir.
Si quelqu'un parmi vous pourrait m'aider à corriger ce code de macro, je vous serais très reconnaissant. Veuillez trouver ci-dessous le code actuel :
Private Sub CommandButton1_Click()
Dim dl As Integer
If Me.ComboBox3.Value <> "" And Me.Txt_description.Value <> "" And Me.Txt_payé.Value <> "" And Me.Txt_listing.Value <> "" Then
Sheets("Régularisation").ListObjects(1).ListRows.Add
dl = Sheets("Régularisation").Range("c9999").End(xlUp).Row
'Ajouter dans le tableau
Sheets("Régularisation").Range("C" & dl) = Me.ComboBox3.Value
Sheets("Régularisation").Range("D" & dl) = Me.Txt_description.Value
Sheets("Régularisation").Range("E" & dl) = CDec(Me.Txt_payé.Value)
Sheets("Régularisation").Range("F" & dl) = CInt(Me.Txt_listing.Value)
Dim chemin As String
Dim nomFichier As String
' Définir le chemin et le nom de fichier
chemin = "C:\Users\Utilisateur\Desktop\Attestation\" ' Chemin où le PDF sera enregistré
nomFichier = Me.Txt_description.Value & ".pdf" ' Nom du fichier PDF
' Vérifier la valeur de la cellule H7 et les suivantes dans la feuille "Régularisation"
Dim derniereligne As Long
derniereligne = Sheets("Régularisation").Cells(Rows.Count, "H").End(xlUp).Row
Dim i As Long
Dim plage As Range
Dim paiementTrouve As Boolean
Dim remboursementTrouve As Boolean
Dim enOrdreTrouve As Boolean
paiementTrouve = False
remboursementTrouve = False
enOrdreTrouve = False
For i = 7 To derniereligne
If Sheets("Régularisation").Range("H" & i).Value = "Paiement" Then
Sheets("Attestation").Activate
Set plage = Range("B4:B46")
plage.Worksheet.PageSetup.Zoom = 80
plage.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & nomFichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False
Shell "explorer.exe """ & chemin & nomFichier & """"
paiementTrouve = True
Exit For
ElseIf Sheets("Régularisation").Range("H" & i).Value = "Remboursement" Then
remboursementTrouve = True
ElseIf Sheets("Régularisation").Range("H" & i).Value = "En ordre" Then
enOrdreTrouve = True
End If
Next i
If remboursementTrouve Then
MsgBox "Attention, vous avez le remboursement. Aucun PDF ne sera ouvert."
ElseIf enOrdreTrouve Then
MsgBox "Parfait, tout est en ordre."
ElseIf Not paiementTrouve Then
MsgBox "Aucun paiement trouvé. Aucun PDF ne sera ouvert."
End If
End If
Sheets("Employés").Range("d19") = Sheets("Employés").Range("d19")
ThisWorkbook.Save
Unload Add_employé
End Sub
Je vous remercie d'avance pour votre aide précieuse !