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

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 !

Nonno 94

XLDnaute Occasionnel
Bonjour le Forum,

je viens solliciter votre aide pour faire fonctionner correctement le code ci-dessous :

Private Sub CommandButton2_Click() 'Supprimer la Fiche'

Feuille_Chercher

Dim OuiNon As Integer
On Error GoTo Err_CommandButton2_Click

OuiNon = MsgBox("Attention ! Voulez-vous vraiment supprimer cette Fiche ?", vbYesNo)
If OuiNon = vbYes Then
Bonjour

Exit Sub
Else
Exit Sub
End If


Le code de Feuille_Chercher est le suivant :

Sub Feuille_Chercher() 'Sélectionner la Feuille'
Dim maFeuil As String
On Error GoTo GestErreur
maFeuil = InputBox(Prompt:="Taper le nom de la Fiche à supprimer. ")
Sheets(maFeuil).Select
Range("Q1").Select
Exit Sub
GestErreur:
MsgBox "Cette Fiche n'existe pas !"
End Sub

Exit_CommandButton2_Click:
Exit Sub

Err_CommandButton2_Click:
MsgBox Err.Description
Resume Exit_CommandButton2_Click
End Sub

Celui de "Bonjour" :

Sub Bonjour()
'
' Bonjour Macro
' Macro enregistrée le 20/02/2011 par Edmond
'

'
ActiveSheet.Unprotect
Range("D2").Select
ActiveCell.FormulaR1C1 = "Bonjour"
Range("A1").Select
ActiveSheet.Protect
End Sub

Précisions sur le problème de fonctionnement :
- lorsque la macro "Feuille_Chercher" est utilisée seule, si le nom de la feuille saisi est erroné, la boîte de dialogue "Cette fiche n'existe pas" s'affiche et la procédure se termine lorque l'on clique sur le bouton "OK".
- lorsqu'elle est insérée dans Private Sub CommandButton2_Click(), la procédure ne se termine pas lorque l'on clique sur le bouton "OK" et la boîte de dialogue "Attention : voulez-vous vraiment supprimer cette fiche ?" s'affiche.

Ma question est donc la suivante :
quelle correction faut-il apporter au code "Private Sub CommandButton2_Click()" pour que la procédure se termine et donc ne pas afficher la boîte de dialogue "Attention : voulez-vous vraiment supprimer cette fiche" lorsque la fiche cherchée n'existe pas ?


Je vous remercie pour vos conseils et vos réponses.
Cordialement.

Nonno 94.
 
Dernière édition:
Re : Code bancal !

Salut Nonno 94 et le forum Exit Sub : Terminer la macro en cours (et retourner à la macro appelante si elle existe)
End : terminer les macros

Un dépannage correct ne peut s'effectuer qu'avec la totalité de la macro, de Sub à End Sub !

Quand tu auras tes autres problèmes, essaie ça :
Code:
Private Sub CommandButton2_Click() 'Supprimer la Fiche'
Dim OuiNon As Integer

Feuille_Chercher

OuiNon = MsgBox("Attention ! Voulez-vous vraiment supprimer cette Fiche ?", vbYesNo)
If OuiNon = vbYes Then
    Bonjour
    Exit Sub
Else
    Exit Sub
End If
End Sub

Sub Feuille_Chercher() 'Sélectionner la Feuille'
Dim maFeuil As String
On Error GoTo GestErreur
maFeuil = InputBox("Taper le nom de la Fiche à supprimer. ")
Sheets(maFeuil).Select
'Range("Q1").Select
Exit Sub
GestErreur:
MsgBox "Cette Fiche n'existe pas !"
End

Exit_CommandButton2_Click:
Exit Sub

Err_CommandButton2_Click:
MsgBox Err.Description
Resume Exit_CommandButton2_Click
End Sub


Sub Bonjour()
ActiveSheet.Unprotect
Range("D2") = "Bonjour"
'Range("A1").Activate
ActiveSheet.Protect
End Sub
A+
 
Re : Code bancal !

Bonjour Nonno 94
Pour être bancal, c'est bancal…
Ceci, peut-être ?
VB:
Private Sub CommandButton2_Click() 'Supprimer la Fiche'
Dim OuiNon As Integer
  Feuille_Chercher
  OuiNon = MsgBox("Attention ! Voulez-vous vraiment supprimer cette Fiche ?", vbYesNo)
  If OuiNon = vbYes Then Bonjour
End Sub

'Le code de Feuille_Chercher est le suivant :

Sub Feuille_Chercher() 'Sélectionner la Feuille'
Dim maFeuil As String
  On Error GoTo GestErreur
  maFeuil = InputBox(Prompt:="Taper le nom de la Fiche à supprimer. ")
  Sheets(maFeuil).Select
  Sheets(maFeuil).Range("Q1").Select
  Exit Sub
GestErreur:
  MsgBox "Cette Fiche n'existe pas !"
  End
End Sub

'Celui de "Bonjour" :

Sub Bonjour()
  With ActiveSheet
    .Unprotect
    .Range("D2").Value = "Bonjour"
    .Range("A1").Select
    .Protect
  End With
End Sub
ROGER2327
#4998


Vendredi 6 Pédale 138 (Vers Belges, SQ)
10 Ventôse An CCXIX
2011-W09-1T15:42:54Z
 
Re : Code bancal !

Bonjour,

remerciements pour le code qui, est-il utile de le préciser, fonctionne parfaitement.
En espérant ne pas "abuser", j'aimerais poser 2 questions "subsidiaires" :
1/ est-il possible de comparer le nom saisi dans la boîte de dialogue qui est celui d'une feuille qui exite bien dans le classeur avec celui qui apparaît dans une cellule de façon à ce que :
- si les 2 noms sont identiques, la procédure continue et, dans notre exemple, "on" dit "Bonjour",
- si les 2 noms ne sont pas identiques, une boîte de dialogue s'ouvre invitant le "maladroit" ou le "distrait" à recommencer et saisir le "bon" nom de la feuille à sélectionner ?
2/ est-il possible car vous l'aurez compris, avec moi, le pire est à redouter de "ressusciter" une feuille "indûment" supprimée; ceci malgré l'avertissement de Microsoft ("suppression définitive" !) et de l'impossibilité d' "annuler" dans le menu "Edition" ?

Merci d'avance.
Cordialement.

Nonno 94.
 
Dernière édition:
Re : Code bancal !

Bonjour,

remerciement pour la réponse et l'invitation à me perfectionner en "copier/coller" pour le code incomplet et surtout à me relire quand j'envoie un message.
Ceci vous "ouvre le droit" à répondre aux 2 questions subsidiaires suivantes :
1/ est-il possible de comparer le nom saisi dans la boîte de dialogue qui est celui d'une feuille qui existe bien dans le classeur avec celui qui apparaît dans une cellule de façon à ce que :
- si les 2 noms sont identiques, la procédure continue et, dans notre exemple, "on" dit "Bonjour",
- si les 2 noms ne sont pas identiques, une boîte de dialogue s'ouvre invitant le "maladroit" ou le "distrait" à recommencer et saisir le "bon" nom de la feuille à sélectionner ?
2/ est-il possible car vous l'aurez compris, avec moi, le pire est à redouter de "ressusciter" une feuille "indûment" supprimée; ceci malgré l'avertissement de Microsoft ("suppression définitive" !) et de l'impossibilité d' "annuler" dans le menu "Edition" ?

Je renouvelle mes remerciements pour votre patience et votre .......compréhension.
Bonne journée.

Nonno 94.
 
Dernière édition:
- 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
9
Affichages
386
Réponses
4
Affichages
586
Réponses
4
Affichages
521
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
358
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…