Quand tu postes du code VBA dans tes messages, est-ce que tu pourrais utiliser la balise code avec le paramètre vb, s'il te plait, pour que ledit code soit plus facile à lire ? Merci.j'ai pu trouver aprés une longue recherche
Sub prelevement()
Dim Réponse As String, j As Long, SG As Worksheet, prelevement As Worksheet
Const FM_MillRed = "$#,##0.00_);[Red]($#,##0.00)"
Application.ScreenUpdating = False
Set SG = Sheets("SG")
Set prelevement = Sheets("prelevement")
'Sheets("Tableau_de_bord").Select'???????????????
Sheets("Prelevement").Select
With prelevement
For j = 3 To 21
prelevement.Cells(j, 5) = [Tiers].Value
prelevement.Cells(j, 3).NumberFormat = "dd/mm/yy"
SG.Cells(j,6).NumberFormat = FM_MillRed
SG.Cells(j, 7).NumberFormat = FM_MillRed
If .Cells(j, 3) <> "" Then
MsgBox "A Payer LE PRELEVEMENT" & " " & .Cells(j, 9)
Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 9), Buttons:=vbYesNo + vbDefaultButton2)
If Réponse = vbYes Then
.Cells(j, 9) = [Paiement1].Value
End If
End If
If .Cells(j, 3) <> "" Then
MsgBox "A Payer LE DEPOT" & " " & .Cells(j, 10)
Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 10), Buttons:=vbYesNo + vbDefaultButton2)
If Réponse = vbYes Then
[Date] = .Cells(j, 1)
.Cells(j, 5) = [Tiers].Value
With .Cells(j, 9): .Value = [Paiement1].Value: .NumberFormat = FM_MillRed: End With
With .Cells(j, 10): .Value = [Dépot].Value: .NumberFormat = FM_MillRed: End With
SG.Cells(j, 6).NumberFormat = FM_MillRed
SG.Cells(j, 7).NumberFormat = FM_MillRed
.Cells(j, 3).NumberFormat = "dd/mm/yy"
End If
End If
Next j
End With
[Zone_saisie].ClearContents
Sheets("Tableau_de_bord").Select
Range("A1").Select
MsgBox "FIN"
Application.ScreenUpdating = True
End Sub
fichier modifier ! c'est dur pour un vieux de 72 ans Merci pour ta collaborationre
Sheets("Tableau_de_bord").Select'???????????????????????
Sheets("Prelevement").Select'??????????????????????
fichier modifier ! c'est dur pour un vieux de 72 ans Merci pour ta collaborationre
Sheets("Tableau_de_bord").Select'???????????????????????
Sheets("Prelevement").Select'??????????????????????
fichier modifier ! c'est dur pour un vieux de 72 ans Merci pour ta collaboration mais ton code était parfaitre
après netoyage de ton drnier code ça donne ceci
tout d'abords je vois que tu utilise des names pour tes range "tiers",depot" etc...
les names sont uniques parti de la on a pas besoins de préciser le parent
donc de ton code post#12
je le compile
VB:Sub prelevement() Dim Réponse As String, j As Long, SG As Worksheet, prelevement As Worksheet Const FM_MillRed = "$#,##0.00_);[Red]($#,##0.00)" Application.ScreenUpdating = False Set SG = Sheets("SG") Set prelevement = Sheets("prelevement") 'Sheets("Tableau_de_bord").Select'??????????????? Sheets("Prelevement").Select With prelevement For j = 3 To 21 prelevement.Cells(j, 5) = [Tiers].Value prelevement.Cells(j, 3).NumberFormat = "dd/mm/yy" SG.Cells(j,6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed If .Cells(j, 3) <> "" Then MsgBox "A Payer LE PRELEVEMENT" & " " & .Cells(j, 9) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 9), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then .Cells(j, 9) = [Paiement1].Value End If End If If .Cells(j, 3) <> "" Then MsgBox "A Payer LE DEPOT" & " " & .Cells(j, 10) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 10), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then [Date] = .Cells(j, 1) .Cells(j, 5) = [Tiers].Value With .Cells(j, 9): .Value = [Paiement1].Value: .NumberFormat = FM_MillRed: End With With .Cells(j, 10): .Value = [Dépot].Value: .NumberFormat = FM_MillRed: End With SG.Cells(j, 6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed .Cells(j, 3).NumberFormat = "dd/mm/yy" End If End If Next j End With [Zone_saisie].ClearContents Sheets("Tableau_de_bord").Select Range("A1").Select MsgBox "FIN" Application.ScreenUpdating = True End Sub
fichier modifier ! c'est dur pour un vieux de 72 ans Merci pour ta collaboration ton code ma beaucoup aidé mais sans les feuilles difficile de faire mieuxre
après netoyage de ton drnier code ça donne ceci
tout d'abords je vois que tu utilise des names pour tes range "tiers",depot" etc...
les names sont uniques parti de la on a pas besoins de préciser le parent
donc de ton code post#12
je le compile
VB:Sub prelevement() Dim Réponse As String, j As Long, SG As Worksheet, prelevement As Worksheet Const FM_MillRed = "$#,##0.00_);[Red]($#,##0.00)" Application.ScreenUpdating = False Set SG = Sheets("SG") Set prelevement = Sheets("prelevement") 'Sheets("Tableau_de_bord").Select'??????????????? Sheets("Prelevement").Select With prelevement For j = 3 To 21 prelevement.Cells(j, 5) = [Tiers].Value prelevement.Cells(j, 3).NumberFormat = "dd/mm/yy" SG.Cells(j,6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed If .Cells(j, 3) <> "" Then MsgBox "A Payer LE PRELEVEMENT" & " " & .Cells(j, 9) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 9), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then .Cells(j, 9) = [Paiement1].Value End If End If If .Cells(j, 3) <> "" Then MsgBox "A Payer LE DEPOT" & " " & .Cells(j, 10) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 10), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then [Date] = .Cells(j, 1) .Cells(j, 5) = [Tiers].Value With .Cells(j, 9): .Value = [Paiement1].Value: .NumberFormat = FM_MillRed: End With With .Cells(j, 10): .Value = [Dépot].Value: .NumberFormat = FM_MillRed: End With SG.Cells(j, 6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed .Cells(j, 3).NumberFormat = "dd/mm/yy" End If End If Next j End With [Zone_saisie].ClearContents Sheets("Tableau_de_bord").Select Range("A1").Select MsgBox "FIN" Application.ScreenUpdating = True End Sub
fichier modifier ! c'est dur pour un vieux de 72 ans Merci pour ta collaborationQuand tu postes du code VBA dans tes messages, est-ce que tu pourrais utiliser la balise code avec le paramètre vb, s'il te plait, pour que ledit code soit plus facile à lire ? Merci.
fichier modifier ! c'est dur pour un vieux de 72 ans Merci pour ta collaboration ton code était parfaitre
après netoyage de ton drnier code ça donne ceci
tout d'abords je vois que tu utilise des names pour tes range "tiers",depot" etc...
les names sont uniques parti de la on a pas besoins de préciser le parent
donc de ton code post#12
je le compile
VB:Sub prelevement() Dim Réponse As String, j As Long, SG As Worksheet, prelevement As Worksheet Const FM_MillRed = "$#,##0.00_);[Red]($#,##0.00)" Application.ScreenUpdating = False Set SG = Sheets("SG") Set prelevement = Sheets("prelevement") 'Sheets("Tableau_de_bord").Select'??????????????? Sheets("Prelevement").Select With prelevement For j = 3 To 21 prelevement.Cells(j, 5) = [Tiers].Value prelevement.Cells(j, 3).NumberFormat = "dd/mm/yy" SG.Cells(j,6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed If .Cells(j, 3) <> "" Then MsgBox "A Payer LE PRELEVEMENT" & " " & .Cells(j, 9) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 9), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then .Cells(j, 9) = [Paiement1].Value End If End If If .Cells(j, 3) <> "" Then MsgBox "A Payer LE DEPOT" & " " & .Cells(j, 10) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 10), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then [Date] = .Cells(j, 1) .Cells(j, 5) = [Tiers].Value With .Cells(j, 9): .Value = [Paiement1].Value: .NumberFormat = FM_MillRed: End With With .Cells(j, 10): .Value = [Dépot].Value: .NumberFormat = FM_MillRed: End With SG.Cells(j, 6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed .Cells(j, 3).NumberFormat = "dd/mm/yy" End If End If Next j End With [Zone_saisie].ClearContents Sheets("Tableau_de_bord").Select Range("A1").Select MsgBox "FIN" Application.ScreenUpdating = True End Sub
fichier modifier ! c'est dur pour un vieux de 72 ans Merci pour ta collaboration ton code était parfaitre
après netoyage de ton drnier code ça donne ceci
tout d'abords je vois que tu utilise des names pour tes range "tiers",depot" etc...
les names sont uniques parti de la on a pas besoins de préciser le parent
donc de ton code post#12
je le compile
VB:Sub prelevement() Dim Réponse As String, j As Long, SG As Worksheet, prelevement As Worksheet Const FM_MillRed = "$#,##0.00_);[Red]($#,##0.00)" Application.ScreenUpdating = False Set SG = Sheets("SG") Set prelevement = Sheets("prelevement") 'Sheets("Tableau_de_bord").Select'??????????????? Sheets("Prelevement").Select With prelevement For j = 3 To 21 prelevement.Cells(j, 5) = [Tiers].Value prelevement.Cells(j, 3).NumberFormat = "dd/mm/yy" SG.Cells(j,6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed If .Cells(j, 3) <> "" Then MsgBox "A Payer LE PRELEVEMENT" & " " & .Cells(j, 9) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 9), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then .Cells(j, 9) = [Paiement1].Value End If End If If .Cells(j, 3) <> "" Then MsgBox "A Payer LE DEPOT" & " " & .Cells(j, 10) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 10), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then [Date] = .Cells(j, 1) .Cells(j, 5) = [Tiers].Value With .Cells(j, 9): .Value = [Paiement1].Value: .NumberFormat = FM_MillRed: End With With .Cells(j, 10): .Value = [Dépot].Value: .NumberFormat = FM_MillRed: End With SG.Cells(j, 6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed .Cells(j, 3).NumberFormat = "dd/mm/yy" End If End If Next j End With [Zone_saisie].ClearContents Sheets("Tableau_de_bord").Select Range("A1").Select MsgBox "FIN" Application.ScreenUpdating = True End Sub
fichier modifier ! c'est dur pour un vieux de 72 ans Merci pour ta collaboration ton code était parfaitre
après netoyage de ton drnier code ça donne ceci
tout d'abords je vois que tu utilise des names pour tes range "tiers",depot" etc...
les names sont uniques parti de la on a pas besoins de préciser le parent
donc de ton code post#12
je le compile
VB:Sub prelevement() Dim Réponse As String, j As Long, SG As Worksheet, prelevement As Worksheet Const FM_MillRed = "$#,##0.00_);[Red]($#,##0.00)" Application.ScreenUpdating = False Set SG = Sheets("SG") Set prelevement = Sheets("prelevement") 'Sheets("Tableau_de_bord").Select'??????????????? Sheets("Prelevement").Select With prelevement For j = 3 To 21 prelevement.Cells(j, 5) = [Tiers].Value prelevement.Cells(j, 3).NumberFormat = "dd/mm/yy" SG.Cells(j,6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed If .Cells(j, 3) <> "" Then MsgBox "A Payer LE PRELEVEMENT" & " " & .Cells(j, 9) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 9), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then .Cells(j, 9) = [Paiement1].Value End If End If If .Cells(j, 3) <> "" Then MsgBox "A Payer LE DEPOT" & " " & .Cells(j, 10) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 10), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then [Date] = .Cells(j, 1) .Cells(j, 5) = [Tiers].Value With .Cells(j, 9): .Value = [Paiement1].Value: .NumberFormat = FM_MillRed: End With With .Cells(j, 10): .Value = [Dépot].Value: .NumberFormat = FM_MillRed: End With SG.Cells(j, 6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed .Cells(j, 3).NumberFormat = "dd/mm/yy" End If End If Next j End With [Zone_saisie].ClearContents Sheets("Tableau_de_bord").Select Range("A1").Select MsgBox "FIN" Application.ScreenUpdating = True End Sub
fichier modifier ! c'est dur pour un vieux de 72 ans Merci pour ta collaboration ton code était parfaitre
après netoyage de ton drnier code ça donne ceci
tout d'abords je vois que tu utilise des names pour tes range "tiers",depot" etc...
les names sont uniques parti de la on a pas besoins de préciser le parent
donc de ton code post#12
je le compile
VB:Sub prelevement() Dim Réponse As String, j As Long, SG As Worksheet, prelevement As Worksheet Const FM_MillRed = "$#,##0.00_);[Red]($#,##0.00)" Application.ScreenUpdating = False Set SG = Sheets("SG") Set prelevement = Sheets("prelevement") 'Sheets("Tableau_de_bord").Select'??????????????? Sheets("Prelevement").Select With prelevement For j = 3 To 21 prelevement.Cells(j, 5) = [Tiers].Value prelevement.Cells(j, 3).NumberFormat = "dd/mm/yy" SG.Cells(j,6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed If .Cells(j, 3) <> "" Then MsgBox "A Payer LE PRELEVEMENT" & " " & .Cells(j, 9) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 9), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then .Cells(j, 9) = [Paiement1].Value End If End If If .Cells(j, 3) <> "" Then MsgBox "A Payer LE DEPOT" & " " & .Cells(j, 10) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 10), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then [Date] = .Cells(j, 1) .Cells(j, 5) = [Tiers].Value With .Cells(j, 9): .Value = [Paiement1].Value: .NumberFormat = FM_MillRed: End With With .Cells(j, 10): .Value = [Dépot].Value: .NumberFormat = FM_MillRed: End With SG.Cells(j, 6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed .Cells(j, 3).NumberFormat = "dd/mm/yy" End If End If Next j End With [Zone_saisie].ClearContents Sheets("Tableau_de_bord").Select Range("A1").Select MsgBox "FIN" Application.ScreenUpdating = True End Sub
fichier modifier ! c'est dur pour un vieux de 72 ans Merci pour ta collaboration ton code était parfaitre
après netoyage de ton drnier code ça donne ceci
tout d'abords je vois que tu utilise des names pour tes range "tiers",depot" etc...
les names sont uniques parti de la on a pas besoins de préciser le parent
donc de ton code post#12
je le compile
VB:Sub prelevement() Dim Réponse As String, j As Long, SG As Worksheet, prelevement As Worksheet Const FM_MillRed = "$#,##0.00_);[Red]($#,##0.00)" Application.ScreenUpdating = False Set SG = Sheets("SG") Set prelevement = Sheets("prelevement") 'Sheets("Tableau_de_bord").Select'??????????????? Sheets("Prelevement").Select With prelevement For j = 3 To 21 prelevement.Cells(j, 5) = [Tiers].Value prelevement.Cells(j, 3).NumberFormat = "dd/mm/yy" SG.Cells(j,6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed If .Cells(j, 3) <> "" Then MsgBox "A Payer LE PRELEVEMENT" & " " & .Cells(j, 9) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 9), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then .Cells(j, 9) = [Paiement1].Value End If End If If .Cells(j, 3) <> "" Then MsgBox "A Payer LE DEPOT" & " " & .Cells(j, 10) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 10), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then [Date] = .Cells(j, 1) .Cells(j, 5) = [Tiers].Value With .Cells(j, 9): .Value = [Paiement1].Value: .NumberFormat = FM_MillRed: End With With .Cells(j, 10): .Value = [Dépot].Value: .NumberFormat = FM_MillRed: End With SG.Cells(j, 6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed .Cells(j, 3).NumberFormat = "dd/mm/yy" End If End If Next j End With [Zone_saisie].ClearContents Sheets("Tableau_de_bord").Select Range("A1").Select MsgBox "FIN" Application.ScreenUpdating = True End Sub
Option Explicitre
après netoyage de ton drnier code ça donne ceci
tout d'abords je vois que tu utilise des names pour tes range "tiers",depot" etc...
les names sont uniques parti de la on a pas besoins de préciser le parent
donc de ton code post#12
je le compile
VB:Sub prelevement() Dim Réponse As String, j As Long, SG As Worksheet, prelevement As Worksheet Const FM_MillRed = "$#,##0.00_);[Red]($#,##0.00)" Application.ScreenUpdating = False Set SG = Sheets("SG") Set prelevement = Sheets("prelevement") 'Sheets("Tableau_de_bord").Select'??????????????? Sheets("Prelevement").Select With prelevement For j = 3 To 21 prelevement.Cells(j, 5) = [Tiers].Value prelevement.Cells(j, 3).NumberFormat = "dd/mm/yy" SG.Cells(j,6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed If .Cells(j, 3) <> "" Then MsgBox "A Payer LE PRELEVEMENT" & " " & .Cells(j, 9) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 9), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then .Cells(j, 9) = [Paiement1].Value End If End If If .Cells(j, 3) <> "" Then MsgBox "A Payer LE DEPOT" & " " & .Cells(j, 10) Réponse = MsgBox(prompt:=" le montant est de " & .Cells(j, 10), Buttons:=vbYesNo + vbDefaultButton2) If Réponse = vbYes Then [Date] = .Cells(j, 1) .Cells(j, 5) = [Tiers].Value With .Cells(j, 9): .Value = [Paiement1].Value: .NumberFormat = FM_MillRed: End With With .Cells(j, 10): .Value = [Dépot].Value: .NumberFormat = FM_MillRed: End With SG.Cells(j, 6).NumberFormat = FM_MillRed SG.Cells(j, 7).NumberFormat = FM_MillRed .Cells(j, 3).NumberFormat = "dd/mm/yy" End If End If Next j End With [Zone_saisie].ClearContents Sheets("Tableau_de_bord").Select Range("A1").Select MsgBox "FIN" Application.ScreenUpdating = True End Sub
Option Explicit
Sub Prelevement()
Dim Réponse As String
Application.ScreenUpdating = False
Sheets("Tableau_de_bord").Select
Sheets("Prelevement").Select
Dim j As Long
For j = 3 To 21
Sheets("SG").Range("Zone_saisie").ClearContents
If Sheets("prelevement").Cells(j, 3) <> "" Then
MsgBox "A Payer LE PRELEVEMENT" & " " & Sheets("prelevement").Cells(j, 9)
Réponse = MsgBox(prompt:=" le montant est de " & Sheets("prelevement").Cells(j, 9), Buttons:=vbYesNo + vbDefaultButton2)
End If
If Réponse = vbYes Then
Sheets("SG").Range("Date") = Sheets("prelevement").Cells(j, 3)
Sheets("SG").Range("Tiers") = Sheets("prelevement").Cells(j, 5)
Sheets("SG").Cells(j, 6).NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
Sheets("SG").Cells(j, 7).NumberFormat = "#,##0.00€;[Red]-#,##0.00€"
Sheets("SG").Range("Paiement1") = Sheets("prelevement").Cells(j, 9)
Sheets("prelevement").Cells(j, 9).NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
Sheets("SG").Range("Dépot") = Sheets("prelevement").Cells(j, 10)
Sheets("prelevement").Cells(j, 10).NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
Sheets("SG").Cells(j, 6).NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
Sheets("SG").Cells(j, 7).NumberFormat = "#,##0.00€;[Red]-#,##0.00€"
Sheets("prelevement").Cells(j, 3).NumberFormat = "dd/mm/yy"
'Sheets("SG").Range("Dépot").Value = Sheets("prelevement").Cells(j, 9)
ElseIf Réponse = vbNo Then
Sheets("prelevement").Cells(j, 9).Select
End If
If Réponse = vbNo Then
Cells(j, 3).Select
End If
'If Sheets("SG").Range("Dépot") = "" Then
'Cells(j + 1, 3).Select
'End If
If Sheets("prelevement").Cells(j, 3) <> "" Then
Réponse = MsgBox(prompt:=" le VERSEMENT est de " & Sheets("prelevement").Cells(j, 10), Buttons:=vbYesNo + vbDefaultButton2)
If Réponse = vbNo Then
Cells(j, 3).Select
End If
End If
Next j
Sheets("Tableau_de_bord").Select
Range("A1").Select
MsgBox "FIN"
Sheets("Tableau_de_bord").Select
Application.ScreenUpdating = True
Sheets("Tableau_de_bord").Select
Range("A1").Select
MsgBox "FIN"
Sheets("Tableau_de_bord").Select
Application.ScreenUpdating = True
End Sub