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
 
82classeur3.xlsm (235.25 Ko)

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 Sub

Ou 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

55classeur3.xlsm (245.27 Ko)

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

Rechercher des sujets similaires à "transformer macro code commandbuton"