Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Projet VBA à affiner

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Chaton77

XLDnaute Nouveau
Bonsoir,

j'ai fait un programme de contrôle. Dans l'ensemble il marche mais je n'arrive pas à faire certaines actions que je souhaite faire.

Ce qui coince,
j'ai fait un code qui enregistre à la fois un fichier en pdf et un fichier en xlsx :
  • dans le nouveau fichier en pdf, il y a deux pages au lieu de une

  • dans le nouveau fichier en xlsx, les boutons de commandes restent (Je n'arrive pas à les enlever avec le code que j'ai fait, alors je l'ai effacé)
    et les supports de signatures (via InkPicture restent affichés)

Si quelqu'un du forum puisse m'aider à affiner le programme, svp.

Je vous remercie à l'avance.

Juju
 

Pièces jointes

Solution
Bonjour Chaton77

Voici une possibilité de code à utiliser à la place du tiens
VB:
'****************************************************
'enregistrer une fiche en pdf et une fiche en xlsx
'****************************************************
Sub EnregistrerFiche()
    Dim ws As Worksheet
    Dim nouveauClasseur As Workbook
    Dim chemin As String
    Dim nomFichier As String
    Dim compteur As Integer
    Dim dateActuelle As String
    Dim Shp As Shape
    ' Définir la feuille à copier
    ' adapter le nom e la feuille selon type de zone
    Set ws = ThisWorkbook.Sheets("Zone0")
    ' Définir le chemin où enregistrer les fichiers
    'adapter le chemin selon choix emplcement
    chemin = "C:\Users\Julia\Documents\Bjn Bionet\"
    '...
Bonjour Chaton77

Voici une possibilité de code à utiliser à la place du tiens
VB:
'****************************************************
'enregistrer une fiche en pdf et une fiche en xlsx
'****************************************************
Sub EnregistrerFiche()
    Dim ws As Worksheet
    Dim nouveauClasseur As Workbook
    Dim chemin As String
    Dim nomFichier As String
    Dim compteur As Integer
    Dim dateActuelle As String
    Dim Shp As Shape
    ' Définir la feuille à copier
    ' adapter le nom e la feuille selon type de zone
    Set ws = ThisWorkbook.Sheets("Zone0")
    ' Définir le chemin où enregistrer les fichiers
    'adapter le chemin selon choix emplcement
    chemin = "C:\Users\Julia\Documents\Bjn Bionet\"
    ' Initialiser le compteur
    compteur = 1
    ' Obtenir la date actuelle au format JJMMYYYY
    dateActuelle = Format(Date, "dd mm yyyy")
    ' Générer un nom de fichier unique avec la date et incrémentation
    Do While Dir(chemin & dateActuelle & "_Fiche" & compteur & ".xlsx") <> ""
        compteur = compteur + 1
    Loop
    nomFichier = dateActuelle & "_Fiche" & compteur
    ' Copier la feuille dans un nouveau classeur
    ws.Copy
    ' Définir ce nouveau classeur actif
    Set nouveauClasseur = ActiveWorkbook
    ' Supprimer les bouton
    For Each Shp In nouveauClasseur.Sheets(1).Shapes
      Shp.Delete
    Next Shp
    ' Supprimer les colonnes
    Application.EnableEvents = False
    ActiveSheet.Columns("N:Q").Delete
    Application.EnableEvents = True
    ' Zone d'impression pour 1 seule page
    ActiveSheet.PageSetup.PrintArea = "$A$1:$L$28"
    ' Enregistrer en format XLSX
    'On Error GoTo ErreurEnregistrement
    Application.DisplayAlerts = False
    nouveauClasseur.SaveAs Filename:=chemin & nomFichier & ".xlsx", FileFormat:=51   ' xlOpenXMLWorkbook
    ' Enregistrer en format PDF
    nouveauClasseur.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & nomFichier & ".pdf"    ' xlTypePDF
    Application.DisplayAlerts = True
End Sub

Nota : je n'ai pas vu de support de signature comme indiqué 🤔

A+
 
Bonsoir,
suite de mon projet. J'ai fait un code pour faire une application mais il bug au niveau :
'activation/désactivation barre de formule
Si quelqu'un peut m'aider? 🙏


Private Sub Workbook_Open()

'----------------------------------------------------------
'ouverture du classeur et affichage de la feuille Accueil
'----------------------------------------------------------
Sheets("Accueil").Select

'----------------------------------------------------
'faire une Application avec un menu
'----------------------------------------------------

Dim enabled As Boolean
enabled = False
'activation/désactivation visibilité des onglets
ActiveWindow.DisplayWorkbookTabs = enabled

'activation/désactivation menu contextuel onglet
Application.CommandBars("Ply").enabled = enabled

'activation/désactivation barre de formule
Application.FormulaBar = enabled

'activation/désactivation barre d'état
Application.DisplayStatusBar = enabled

'activation/désactivation entêtes des lignes et colonnes
ActiveWindow.DisplayHeadings = enabled

'activation/désactivation du ruban
If enabled Then
Application.ExecuteExcel4Macro "SHOW.TOOLBAR (""Ribbon"", true)"
Else
Application.ExecuteExcel4Macro "SHOW.TOOLBAR (""Ribbon"", false)"

End If

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
887
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…