Bonjour,
je pensais que cela serait simple mais je galère à chercher depuis des jours.
J'ai créé une macro pour remettre en ordre un fichier txt. Cela crée une nouvelle feuille avec un bouton sous la dernière ligne.
Mais je ne trouve pas comment attribuer une action au bouton, c'est à dire lancer la fonction export_fichier qui permet d'enregistrer le fichier
'Création du bouton
Sheets(2).Select
Set boutonA = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=420, Top:=NbrLig * 15 + 15, Width:=120.75, Height _
:=30.75)
With boutonA
.Name = "boutonA"
.Object.BackColor = RGB(90, 160, 26) 'Couleur du bouton
.Object.Caption = "Exporter le CSV" 'Texte du bouton
.Object.FontName = "Times New Roman" 'Police du bouton
.Object.FontSize = 12 'Taille police du bouton
End With
Application.ScreenUpdating = True
End Sub
'enregistrement du fichier
Sub export_fichier()
dossierparent = Left(ActiveWorkbook.Path, InStrRev(ActiveWorkbook.Path, "\") - 1) 'chemin du dossier parent
nomfichier = ActiveSheet.Name
chemin = dossierparent & "\Flux\Commandes - Flux 1.5.1\"
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=dossier & "\Flux\Commandes - Flux 1.5.1\" & nomfichier, FileFormat:=xlCSV, _
CreateBackup:=False, local:=True
ActiveWorkbook.Close False
MsgBox ("Fichier commande créé - Flux 1.5.1")
End Sub
J'ai essayé .onaction = export_fichier sans succès
Merci pour votre aide
Cordialement