Microsoft 365 supprimer bouton lors de l'enregistrement

  • Initiateur de la discussion Initiateur de la discussion pelerin65
  • Date de début Date de début

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 !

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
 
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é.
 
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.
 
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
 
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
 
- 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
2
Affichages
548
Réponses
6
Affichages
2 K
Réponses
3
Affichages
514
Retour