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

Autres If Not IsError(Application.Match

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 !

re Salut , Bonjour et Bonsoir ^^
même problème
Private Sub cmd_Supprimer_Click()
If TextBox1 = "" Then
MsgBox " il faut sélectionner un salarié pour pouvoir le supprimier"
Exit Sub
End If
If MsgBox("Etes-vous sur de vouloir supprimer ce salarié ? ", vbYesNo + vbCritical, "suppression article") = vbYes Then
Set ws = Sheets("sheet13")
If Not IsError(Application.Match(Matricule, Sheets("sheet13").Rang("A:A"), 0)) Then
ligne = Application.Match(Matricule, Sheets("sheet13").Range("A:A"), 0)
ws.Rows(ligne).EntireRow.Delete
Unload Me
MsgBox "Le salarié s'est correctement supprimé"
UserForm5.Show
End If
End If
End Sub



🙁
 

Pièces jointes

  • Sans titre.png
    223.2 KB · Affichages: 18
Re
ce que j'ai mis et semble fonctionner!
VB:
Private Sub cmd_Supprimer_Click()
Dim REF As Long
If TextBox1 = "" Then
MsgBox " il faut sélectionner un salarié pour pouvoir le supprimier"
Exit Sub
Else
 REF = TextBox1
End If
If MsgBox("Etes-vous  sur de vouloir supprimer ce salarié ? ", vbYesNo + vbCritical, "suppression article") = vbYes Then
Set ws = Sheets("sheet13")
If Not IsError(Application.Match(REF, Sheets("sheet13").Range("A:A"), 0)) Then
ligne = Application.Match(REF, Sheets("sheet13").Range("A:A"), 0)
ws.Rows(ligne).EntireRow.Delete
Unload Me
MsgBox "Le salarié s'est correctement supprimé"
UserForm5.Show
End If
End If
End Sub
jean marie
 
re
bonsoir
@ChTi160 sérieux tu refait 2 fois le match ?

visiblement tu ne sais pas gérer l'erreur en amont
souhaitons qu'il n'est pas 36 000 lignes
et REF alors c'est un long et on lui met le value d'un textbox qui est forcement du string
heureusement que VBA et large avec nous humble mortel 😉
 
le match avec la gestion en amont tu le fait qu'une fois
VB:
Private Sub cmd_Supprimer_Click()
    Dim REF&,x&
    If TextBox1 = "" Then MsgBox " il faut sélectionner un salarié pour pouvoir le supprimier": Exit Sub
    REF = Val(TextBox1)
    If MsgBox("Etes-vous  sur de vouloir supprimer ce salarié ? ", vbYesNo + vbCritical, "suppression article") = vbYes Then

        With Sheets("sheets13")
            x = Application.IfError(Application.Match(REF, .Range("A:A"), 0), 0)
            If x > 0 Then
                .Rows(x).EntireRow.Delete
                Unload Me
                MsgBox "Le salarié s'est correctement supprimé"
                UserForm5.Show
            End If
        End With
    End If
End Sub
bien que pour réduire encore la charge de travail ,je réduirais la plage de match a ce qui est utilisé
 
re slaut
c marche pas
 
- 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
14
Affichages
331
Réponses
4
Affichages
406
Réponses
5
Affichages
200
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…