Probleme bouton supprimer

j'ai developpé un code qui me permet de supprimer une ligne de la feuille excel a partir des données introduites dans l'userform. mais le problème est qu'il ne supprime que la premiere ligne au lieu de le faire pour la ligne correspondant au nom.

le principe serait que le bouton "supprimer" puisse supprimer la ligne de la feuille excel correspondant au nom se trouvant dans champ "nom". mais le mien supprime toujours la 1ère ligne peu importe le nom se trouvant dans le champ.

quelqu'un pourrait-il me dire ou je peche??? svp???

le fichier est joint

Merci

-- 06 Mai 2011, 17:04 --

Egalement sur le meme fichier, ma commande Modifier m'affiche: Erreur 6, depassement de capacité.

que faire??

merci

Bonjour jonathan,

Modifie le code du bouton supprimer comme ceci :

Private Sub btnsupprimer_Click()
    Dim objsppr As String
    Dim q As String
    Dim trouveNom As Range
    objtsppr = T_nom
    If T_nom <> "" Then

        'utilisation de la méthode Find pour chercher en colonne A le nom saisi
        Set trouveNom = [A:A].Find(objtsppr)
        If Not trouveNom Is Nothing Then    'si le nom est trouvé
            q = MsgBox("Supprimer " & objtsppr & " ? ", vbCritical + vbYesNo)
            If q = vbYes Then
                Feuil2.Rows(trouveNom.Row).Delete    'trouveNom.Row permet d'obtenir le numéro de la ligne contenant le nom trouvé
            End If
            Unload Me
            employes.Show
        Else
            MsgBox "Pas trouvé !"
        End If
    Else
        MsgBox " Introduisez un nom à supprimer"
    End If
End Sub

Pour le bouton "modifier" et l'erreur 6 : dépassement de capacité, c'est parce que lorsque le nom n'est pas trouvé dans la boucle

    While Feuil2.Cells(i, 1) <> T_nom.Value
        i = i + 1
    Wend

On entre dans une boucle infinie. Or, tu as déclaré ta variable i comme un Integer :

Dim i As Integer

Interger a pour limite 32 767 et tu dépasses cette valeur lorsque la boucle est infinie.

Pour remédier à ça, essaie d'utiliser la méthode Find comme ci-dessus pour trouver le nom à modifier puis faire la modification ensuite.

Si tu galères, reviens.

merci, je vais essayer de ce pas meme

merci pour le code supprimer, ca marche.

cependant, j'ai essayé avec la méthode find pour le bouton modifier mais je n'y arrive pas( je ne connais pas cette méthode).

mais j'ai essayé avec un nouveau code, mais celui ci ne modifie rien mais s'applique correctement:

Private Sub btnmodifier_Click()
Dim q As String
Dim i As Integer, fin&
i = 2
fin = Feuil5.Range("A" & Rows.Count).End(xlUp).Row

    Do While T_codeproduit.Value <> Feuil5.Cells(i, 1)
        i = i + 1
        If i > fin Then MsgBox " Le code spécifié n'existe pas ": GoTo 1
    Loop
    q = MsgBox("Confirmer modification?", vbCritical + vbYesNo)
    If q = vbYes Then
        Feuil3.Cells(i, 1) = T_codeproduit
        Feuil3.Cells(i, 1).Offset(0, 1) = T_prenom
        Feuil3.Cells(i, 1).Offset(0, 2) = T_nom
        Feuil3.Cells(i, 1).Offset(0, 3) = T_categorie
        Feuil3.Cells(i, 1).Offset(0, 4) = T_prixdachat
        Feuil3.Cells(i, 1).Offset(0, 5) = T_prixunitairedevente
        Feuil3.Cells(i, 1).Offset(0, 6) = T_stockreel
        Feuil3.Cells(i, 1).Offset(0, 7) = T_stockminimum
        Feuil3.Cells(i, 1).Offset(0, 8) = T_delaidereapprovisionnement
        MsgBox "Opéraion effectuée"
        Unload Me
        produits.Show
    End If
1       MsgBox "Veuillez introduire un code peoduit"
End Sub

pourrais je savoir ou se situe l'erreur??

-- 07 Mai 2011, 10:25 --

Private Sub btnmodifier_Click()
Dim objtr As String
Dim q As String
Dim trouveNom As Range
    objtr = T_nom
    If T_nom <> "" Then

       Set trouveNom = [A:A].Find(objtr)
        If Not trouveNom Is Nothing Then
           q = MsgBox("modifier " & objtr & " ? ", vbCritical + vbYesNo)
            If q = vbYes Then
                Feuil2.Rows(trouveNom.Row) = T_nom
           End If
            Unload Me
            employes.Show
        End If
    Else
        MsgBox " Introduisez un nom à supprimer"
    End If
End Sub

voici ce que j'ai essayé avec la méthode find, mais sans grand résultat

-- 07 Mai 2011, 15:21 --

je crois y etre arrivé avec la boucle while, j'ai juste definie une limite pour le i

merci quand même

Rechercher des sujets similaires à "probleme bouton supprimer"