Transformer la macro en code pour macro commandbuton
Bonsoir le forum
J'ai une macro qui marchait bien sur un bouton normal et j'ai crée un commandbutton sur un userform ,est ce que c'est possible de transformer cette macro en code pour ce commandbutton.
Merci
Cordialement
voila la macro
Sub enregistrer()
Dim LePath As String, LeNom As String
MsgBox "Enregistre"
If UCase(Range("E6")) = "DEVIS" Then
' LePath = ThisWorkbook.Path & "\"
LePath = "C:\Users\ait haddou\Documents\sud est travaux\DEVIS\"
ElseIf UCase(Range("E6")) = "FACTURE" Then
' LePath = ThisWorkbook.Path & "\"
LePath = "C:\Users\ait haddou\Documents\sud est travaux\Factures\"
ElseIf UCase(Range("C6")) = "AVOIR D'ACOMPTE" Then
' LePath = ThisWorkbook.Path & "\"
LePath = "C:\Users\ait haddou\Documents\sud est travaux\Factures\"
Else
MsgBox "Vérifier le nom dans E6"
Exit Sub
End If
ActiveSheet.Copy
LeNom = [B12] & Format([E8], "ddmmyyyyhhmm") & ".xls"
ActiveWorkbook.SaveAs LePath & LeNom
ActiveWorkbook.Close
Range("E8") = Range("E8")
Range("E8").Select
End Sub
Sub Archiver()
'
' gestiondevis Macro
'
' On est dans la page "Devis Factures P1"
MsgBox "Archiver"
With Sheets("Gestion Devis factures")
If UCase(Range("E6")) = "DEVIS" Then
.Range("A3:G3").Insert Shift:=xlShiftDown
.Range("A3:F3").Value = Array(CDate(Range("E7")), Range("E8"), Range("B12"), Range("E47"), Range("E48"), Range("E49"))
.Range("A3:G3").Interior.ColorIndex = xlNone
Else
.Range("I3:P3").Insert Shift:=xlShiftDown
.Range("I3:P3").Value = Array(CDate(Range("E7")), Range("E8"), Range("B12"), Range("E47"), Range("E48"), Range("E49"), Range("E53"), Range("E54"))
.Range("I3:P3").Interior.ColorIndex = xlNone
Range("E8").Select
End If
End With
End Sub
Sub MonBouton3()
ActiveSheet.Shapes("MonBouton3").Select
If Selection.Characters.Text = "Enregistrer" Then
Selection.Characters.Text = "Archiver"
Call enregistrer
ElseIf Selection.Characters.Text = "Archiver" Then
Selection.Characters.Text = "Enregistrer"
Call Archiver
End If
End Sub
Personne ne peux m'aider
Bonjour ait haddou
Je pense que tu te moques de nous sur ce forum
Je t'ai déjà donné la réponse dans un fil précédent
https://forum.excel-pratique.com/excel/modifier-la-macro-par-une-macro-commandbuton-t30354.html
Ca ne te suffit pas
Re bonsoir
Non jamais BrunoM45
ç'est pas la méme macro ,j'ai essayé de la modifié et de prendre la première que tu m'as fais comme modèle mais j'ai pas arrivé,
De se moquer des gents c'est pas mon métier je vous respecte et je vous remercie beaucoup
cordialement
Re,
Je te signale que le code que tu nous présente est déjà modifié et qu'il fonctionne correctement
Private Sub CommandButton6_Click()
Select Case Me.CommandButton6.Caption
Case "enregistrer"
Call enregistrer3
Case "Archiver"
Call ArchiverdevisFactures3
Case Else
MsgBox "Y'a comme un problème !"
End Select
End SubOu est le problème !?
Re bonjour
Je viens pas vous demander de l'aide si j'avais pas de problème avec ce code
ça archive mais ça enregistre pas voila le fichier si ça peut aider pour trouver ou le problème
Je suis nul dans VBA je compte sur vous pour avancer dans mon projet
Merci
Cordialement
Rebonjour le forum
Enfaite ma macro ça bug quand j'enregistre sur le code de la feuille que j'ai met pour fixer l'userform sur la feuille et si je retire ce code ça enregistre parfaitement les factures et les avoirs d'acompte mais pas les devis mais ça archive les devis et les factures et les avoirs d'acompte et si je remet le code pour fixer l'userform sur la feuille ça archive tous mais ça enregistre pas,
SVP est ce que vous pouvez m'aider
Merci
Cordialement
voila le code qui me bloque l'enregistrement
Private Sub Worksheet_Activate()
Unload UserForm3
UserForm2.Show 0
End Sub