Microsoft 365 supprimer bouton lors de l'enregistrement

pelerin65

XLDnaute Occasionnel
bonjour,

je cherche le moyen de supprimer un bouton " copie tournée",
lors de l'enregistrement d'un fichier nommé par une valeur de cellule

voici le code
Sub enregistretournee()
'Affectations des Variables
Dim Nom$: Nom = [D3]
Dim Chemin As String
Dim NomDossier As String

'Désactives les alertes
Application.DisplayAlerts = False
Application.ScreenUpdating = False

'Enregistrement du fichier complet
'Adresse de la sauvegarde
Chemin = "C:\Users\6810558F\OneDrive - SNCF\Documents\0-Loc Ng\04-Tournées Realisées\" 'A ajuster selon ton cas
'Message pour l'enregistrement du fichier
If MsgBox("Voulez-vous sauvegarder votre tournée nommée" & " " & Nom, vbQuestion + vbYesNo, "Confirmation Request") = vbYes Then
'nom du dossier
NomDossier = Nom & ".xlsb"
'le fichier active est copié
ActiveWorkbook.SaveCopyAs Chemin & NomDossier
' Message dinformation du lieu de l enregistrement
MsgBox "Votre tournée est sauvegardée dans dossier : " & Chr(10) & Chemin, vbInformation, ""

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End If

End Sub
cordialement
 

Staple1600

XLDnaute Barbatruc
Re, Bonjour @jcf6464

En attendant le fichier
(en guise de test)
Code:
Sub test_Suppression_A()
'ici bouton issue de la barre Contrôles de formulaire
ActiveSheet.Buttons("Bouton").Delete
End Sub
Sub test_Suppression_B()
'ici bouton issue de la barre Contrôles ActiveX
ActiveSheet.Shapes("CommandButton1").Delete
End Sub
NB: Test OK
le 1er bouton a été renommé : bouton
Le 2nd (un CommandButton) a été juste inséré.
Résultat:
Dans les deux cas, le bouton est effacé.
 

Staple1600

XLDnaute Barbatruc
Re

Ce petit test fonctionne sur mon PC
VB:
Sub test_2()
'on copie la feuille dans un nouveau classeur
ActiveSheet.Copy
' on supprime le bouton dans la copie
ActiveWorkbook.Sheets(1).Buttons("Bouton 7").Delete
' suite du code pour enregistrer la copie
'reprendre cette partie dans le code du message#1
End Sub
NB: Le code est stocké dans le fichier source.
 

pelerin65

XLDnaute Occasionnel
Sub enregistretournee()
'Affectations des Variables
Dim Nom$: Nom = [D3]
Dim Chemin As String
Dim NomDossier As String

'Désactives les alertes
Application.DisplayAlerts = False
Application.ScreenUpdating = False

'Enregistrement du fichier complet
'Adresse de la sauvegarde
Chemin = "C:\Users\6810558F\OneDrive - SNCF\Documents\0-Loc Ng\04-Tournées Realisées\" 'A ajuster selon ton cas
'Message pour l'enregistrement du fichier
If MsgBox("Voulez-vous sauvegarder votre tournée nommée" & " " & Nom, vbQuestion + vbYesNo, "Confirmation Request") = vbYes Then
'nom du dossier
NomDossier = Nom & ".xlsb"
'le fichier active est copié
ActiveWorkbook.SaveCopyAs Chemin & NomDossier
' Message dinformation du lieu de l enregistrement
MsgBox "Votre tournée est sauvegardée dans dossier : " & Chr(10) & Chemin, vbInformation, ""

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End If

End Sub

VB:
Sub test_2()
'on copie la feuille dans un nouveau classeur
ActiveSheet.Copy
' on supprime le bouton dans la copie
ActiveWorkbook.Sheets(1).Buttons("Bouton 7").Delete
' suite du code pour enregistrer la copie
'reprendre cette partie dans le code du message#1
End Sub

1684597401666.png

Je ne comprends pas ou le mettre avec mon code d'origine
car en enregistrant il prends le nom qui est en d" sur la feuille a enregistrer

Désolé parfois je comprends vite et parfois je nage avec les codes et depuis ce matin j ai lu et lu des pages de forums pour finir mon fichier je bute ce ce problème
 

Staple1600

XLDnaute Barbatruc
Re

@pelerin65
Test OK sur mon PC
NB: le bouton se nomme Bouton 7
(comme dans ton fichier exemple)
Mais ici on ne sauvegarde que la feuille sur laquelle se situe le bouton
Enrichi (BBcode):
Sub enregistretournee()
'Affectations des Variables
Dim Nom$, Chemin$, NomDossier$
'Désactives les alertes
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Enregistrement du fichier complet
'Adresse de la sauvegarde
Chemin = ThisWorkbook.Path & "\" ' A ADAPTER
 Nom = ThisWorkbook.Sheets(1).Range("D3")
'Message pour l'enregistrement du fichier
If MsgBox("Voulez-vous sauvegarder votre tournée nommée" & " " & Nom, vbQuestion + vbYesNo, "Confirmation Request") = vbYes Then
'nom du dossier
NomDossier = Nom & ".xlsb"
'le fichier active la feuille active est copiée
ActiveSheet.Copy
ActiveWorkbook.Sheets(1).Buttons("Bouton 7").Delete
ActiveWorkbook.SaveAs Chemin & Nom, 51
ActiveWorkbook.Close True
' Message dinformation du lieu de l enregistrement
MsgBox "Votre tournée est sauvegardée dans dossier : " & Chr(10) & Chemin, vbInformation, ""
End If
End Sub
 

Discussions similaires

Réponses
2
Affichages
252
Réponses
3
Affichages
506