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

Problème avec code qui supprime une ligne

  • Initiateur de la discussion Initiateur de la discussion sososo82
  • 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 !

sososo82

XLDnaute Occasionnel
Bonjour forum!

J'ai un code que je met ci dessous avec le quel j'ai un problème, en effet lorsque l'inputbox s'affiche et demande "Voulez vous supprimer ce dossier?" (j'ai un dossier par ligne...) si je clique sur "Annuler" je suis renvoyé sur le code soit disant il contient une erreur...

Y'a t'il une solution pour empecher cela?

Merci pour votre aide

Mon code:


Sub efface_ligne()
Dim Choixlign As Range
Dim AConfirmer
'choix lignes du dossier à supprimer
Set Choixlign = Application.InputBox(Prompt:="Sélectionner le dossier à supprimer", Title:="Choix dossier à supprimer", Type:=8)
Set Choixlign = Choixlign.EntireRow

Choixlign.Select
AConfirmer = MsgBox(Prompt:="Confirmez la suppression de ce dossier", Title:="Suppression dossier", Buttons:=vbYesNo + vbExclamation + vbDefaultButton2)
If AConfirmer = vbYes Then Choixlign.Delete

End Sub

P.S: J'utilise VBA sur EXCEL 2003
 
Re : Problème avec code qui supprime une ligne

Bonjour,

Fais un test avec l'ajout en gras:

Set Choixlign = Application.InputBox(Prompt:="Sélectionner le dossier à supprimer", Title:="Choix dossier à supprimer", Type:=8)
If Choixlign Is Nothing Then Exit Sub
Set Choixlign = Choixlign.EntireRow
 
Re : Problème avec code qui supprime une ligne

Merci bien mais nan toujours le même problème signalé sur la ligne suivante:

Set Choixlign = Application.InputBox(Prompt:="Sélectionner le dossier à supprimer", Title:="Choix dossier à supprimer", Type:=8)


D'après Excel: "Erreur 424, objet requis"

Je vois pas là pourtant c'était une bonne idée ce que tu as proposé...
 
Re : Problème avec code qui supprime une ligne

Bonjour,

Avant d'envoyer ma réponse, j'ai testé le code de Skoobi et il renvoie une erreur.
Il faut rajouter On Error Resume Next avant la ligne Set Choixlign = Application.InputBox
Code:
[B][COLOR=Red]On Error Resume Next[/COLOR][/B]
Set Choixlign = Application.InputBox(Prompt:="Sélectionner le dossier à supprimer", Title:="Choix dossier à supprimer", Type:=8)
[B]If Choixlign Is Nothing Then Exit Sub[/B]
Set Choixlign = Choixlign.EntireRow
J'envoie quand même le code que j'avais trouvé ça peut toujours être utile
Code:
Sub efface_ligne()
    Dim Choixlign As Range
    Dim AConfirmer
    'choix lignes du dossier à supprimer
    On Error Resume Next
    Set Choixlign = Application.InputBox(Prompt:="Sélectionner le dossier à supprimer", Title:="Choix dossier à supprimer", Type:=8)
    If Err.Number = 424 Then
        MsgBox "Vous avez choisi d'annuler"
        On Error GoTo 0
        End
    Else
        Set Choixlign = Choixlign.EntireRow
        Choixlign.Select
        AConfirmer = MsgBox(Prompt:="Confirmez la suppression de ce dossier", Title:="Suppression dossier", Buttons:=vbYesNo + vbExclamation + vbDefaultButton2)
        If AConfirmer = vbYes Then Choixlign.Delete
    End If
End Sub
 
Re : Problème avec code qui supprime une ligne

Salut sososo82 et le forum
Code:
Sub efface_ligne()
Dim Choixlign
Dim AConfirmer
'choix lignes du dossier à supprimer
On Error Resume Next
Set Choixlign = Application.InputBox(Prompt:="Sélectionner le dossier à supprimer", Title:="Choix dossier à supprimer", Type:=8)
If Err.Number = 0 Then
    On Error GoTo 0
     Set Choixlign = Choixlign.EntireRow
 
     Choixlign.Select
     AConfirmer = MsgBox("Confirmez la suppression de ce dossier", _
                        vbYesNo + vbExclamation + vbDefaultButton2, _
                        "Suppression dossier")
     If AConfirmer = vbYes Then Choixlign.Delete
End If
End Sub
Pour les instructions à paramètres, soit tu peux préciser le paramètre en le nommant, mais quand tu mets les paramètres dans l'ordre, ce n'est pas la peine de les nommer.
A+
EDIT Salut RENAUDER
Oui, je sais, fausse manip qui m'a fait envoyer le poste alors que je testais mon code pour mon assurer et comme j'ai vu ton poste, je voulais supprimer le mien, mais pas trouvé comment faire, alors j'ai refait une proposition légèrement différente de la tienne
 
Dernière édition:
Re : Problème avec code qui supprime une ligne

OK ça marche, merci beaucoup pour le code Eric Renaud, ça m'a rendu un bien grand service et vraiment ça m'enlève une épine du pied...

Je ne savais pas qu'il fallait "se servir" de l'erreur en fait, j'suis complètement dépassé sur le coup... héhé

Bonne journée et à bientôt!

P.S: Oui en effet le "On Error Resume Next " semble incontournable dans ce problème...
 
Dernière édition:
Re : Problème avec code qui supprime une ligne

Re,
bonjour Renauder, gorfael,

arfff, comme sososo82 n'avait pas précisé la ligne au premier message, je supposais (sans avoir testé) que l'erreur se produisait ici:

Set Choixlign = Choixlign.EntireRow
 
- 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

G
Réponses
6
Affichages
2 K
Gazzzz
G
M
Réponses
3
Affichages
2 K
MONADESIGN82
M
A
Réponses
17
Affichages
3 K
Ananas94
A
Réponses
5
Affichages
865
J
Réponses
9
Affichages
3 K
jerem512
J
V
Réponses
2
Affichages
2 K
VOILLOT
V
Réponses
12
Affichages
1 K
S
Réponses
1
Affichages
854
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…