Rechercher une ligne puis supprimer

Le
suze32
Bonjour,

Toujours sur le même fichier, et étant débutante en maccro, j'ai un
problème un petit problème. J'ai une base de donnée en feuille 2 avec
comme intitulé de colonne "Nom"; "Date d'encaissement";
"Commentaires"; "Montant".

A l'aide de la méthode InputBox, je souhaite que l'on tape le Nom et
que l'on sélectionne cette ligne pour pouvoir la supprimer. Cependant,
des clients apparaissent plusieurs fois et j'aiemerais avoir le choix
pour supprimer une des.

De plus je n'arrive pas à mettre en place une boucle qui me
permettrait de redemander si il y a une autre ligne à supprimer.

Voici ma maccro actuelle :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Cells.Find(Var, xlNext)
If Not MotTtrouvé Is Nothing Then
MotTrouvé.Select
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne"
Title = "Attention suppression de la ligne"
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A
encaisser"")"
Range("G2").Select
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Sheets("Feuil1").Select

End Sub

Elle est un peu complexe, mais comme je voulais dit je débute.

Merci pour votre aide
Suze
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #6674261
Bonjour.
Essaie :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String, ResAdr As String, MotTrouvé As Range
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Range("A:A").Find(Var)
ResAdr = MotTrouvé.Address
Do
If Not MotTrouvé Is Nothing Then
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne " & MotTrouvé.Row
Title = "Attention suppression de la ligne "
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
MotTrouvé.EntireRow.Delete Shift:=xlUp
Range("G1").FormulaR1C1 =
"=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A encaisser"")"
Else
ResAdr = MotTrouvé.Address
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Set MotTrouvé = Range("A:A").Find(Var)
Loop Until MotTrouvé Is Nothing Or MotTrouvé.Address = ResAdr
Sheets("Feuil1").Select

End Sub

Cordialement.
Daniel
"suze32"
Bonjour,

Toujours sur le même fichier, et étant débutante en maccro, j'ai un
problème un petit problème. J'ai une base de donnée en feuille 2 avec
comme intitulé de colonne "Nom"; "Date d'encaissement";
"Commentaires"; "Montant".

A l'aide de la méthode InputBox, je souhaite que l'on tape le Nom et
que l'on sélectionne cette ligne pour pouvoir la supprimer. Cependant,
des clients apparaissent plusieurs fois et j'aiemerais avoir le choix
pour supprimer une des.

De plus je n'arrive pas à mettre en place une boucle qui me
permettrait de redemander si il y a une autre ligne à supprimer.

Voici ma maccro actuelle :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Cells.Find(Var, xlNext)
If Not MotTtrouvé Is Nothing Then
MotTrouvé.Select
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne"
Title = "Attention suppression de la ligne"
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A
encaisser"")"
Range("G2").Select
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Sheets("Feuil1").Select

End Sub

Elle est un peu complexe, mais comme je voulais dit je débute.

Merci pour votre aide
Suze
suze32
Le #6675391
On 21 mai, 11:47, "Daniel.C"
Bonjour.
Essaie :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS  MARIE
'
    Sheets("Feuil2").Select
    Dim Var As String, ResAdr As String, MotTrouvé As Range
    On Error Resume Next
    Var = InputBox("Entrer une référence", , "")
    If Var = "" Then Exit Sub
    Set MotTrouvé = Range("A:A").Find(Var)
    ResAdr = MotTrouvé.Address
    Do
        If Not MotTrouvé Is Nothing Then
            Style = vbYesNo + vbDefaultButton1
            Msg = "Suppression de la ligne " & MotTrouvé.R ow
            Title = "Attention suppression de la ligne "
            Réponse = MsgBox(Msg, Style, Title)
                If Réponse = vbYes Then
                MotTrouvé.EntireRow.Delete Shift:=xlUp
                Range("G1").FormulaR1C1 =
"=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A encaisser"")"
            Else
                ResAdr = MotTrouvé.Address
            End If
        Else
            MsgBox "Rien trouvé"
            Exit Sub
        End If
        Set MotTrouvé = Range("A:A").Find(Var)
    Loop Until MotTrouvé Is Nothing Or MotTrouvé.Address = ResAd r
    Sheets("Feuil1").Select

End Sub

Cordialement.
Daniel
"suze32"
Bonjour,

Toujours sur le même fichier, et étant débutante en maccro, j'ai un
problème un petit problème. J'ai une base de donnée en feuille 2 ave c
comme intitulé de colonne "Nom"; "Date d'encaissement";
"Commentaires"; "Montant".

A l'aide de la méthode InputBox, je souhaite que l'on tape le Nom et
que l'on sélectionne cette ligne pour pouvoir la supprimer. Cependant,
des clients apparaissent plusieurs fois et j'aiemerais avoir le choix
pour supprimer une des.

De plus je n'arrive pas à mettre en place une boucle qui me
permettrait de redemander si il y a une autre ligne à supprimer.

Voici ma maccro actuelle :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS  MARIE
'
    Sheets("Feuil2").Select
    Dim Var As String
    On Error Resume Next
    Var = InputBox("Entrer une référence", , "")
    If Var = "" Then Exit Sub
    Set MotTrouvé = Cells.Find(Var, xlNext)
    If Not MotTtrouvé Is Nothing Then
    MotTrouvé.Select
    Style = vbYesNo + vbDefaultButton1
    Msg = "Suppression de la ligne"
    Title = "Attention suppression de la ligne"
    Réponse = MsgBox(Msg, Style, Title)
    If Réponse = vbYes Then
    ActiveCell.EntireRow.Select
    Selection.Delete Shift:=xlUp
    Range("G1").Select
     ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]), ""A
encaisser"")"
    Range("G2").Select
    End If
    Else
    MsgBox "Rien trouvé"
    Exit Sub
    End If
    Sheets("Feuil1").Select

End Sub

Elle est un peu complexe, mais comme je voulais dit je débute.

Merci pour votre aide
Suze


ReBonjour,

En fait votre formule supprime la première ligne et non celle que je
rentre avec la commande Inputbox.

Cordialement,
Suze

Daniel.C
Le #6676011
Essaie la macro suivante. A partir de l'inputbox, tu choisis directement
avec la souris la référence à supprimer :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String
On Error Resume Next
Do While MsgBox("Supprimer une ligne", vbYesNo) = vbYes
Set MotTrouvé = Application.InputBox("Cliquez sur la référence à
supprimer", Type:=8)
If MotTrouvé Is Nothing Then Exit Sub
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne " & MotTrouvé.Row
Title = "Attention suppression de la ligne " & MotTrouvé.Row
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
MotTtrouvé.EntireRow.Delete Shift:=xlUp
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A
encaisser"")"
Range("G2").Select
End If
Loop
Sheets("Feuil1").Select

End Sub

Daniel
"suze32"
On 21 mai, 11:47, "Daniel.C"
Bonjour.
Essaie :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String, ResAdr As String, MotTrouvé As Range
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Range("A:A").Find(Var)
ResAdr = MotTrouvé.Address
Do
If Not MotTrouvé Is Nothing Then
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne " & MotTrouvé.Row
Title = "Attention suppression de la ligne "
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
MotTrouvé.EntireRow.Delete Shift:=xlUp
Range("G1").FormulaR1C1 > "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A encaisser"")"
Else
ResAdr = MotTrouvé.Address
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Set MotTrouvé = Range("A:A").Find(Var)
Loop Until MotTrouvé Is Nothing Or MotTrouvé.Address = ResAdr
Sheets("Feuil1").Select

End Sub

Cordialement.
Daniel
"suze32"
Bonjour,

Toujours sur le même fichier, et étant débutante en maccro, j'ai un
problème un petit problème. J'ai une base de donnée en feuille 2 avec
comme intitulé de colonne "Nom"; "Date d'encaissement";
"Commentaires"; "Montant".

A l'aide de la méthode InputBox, je souhaite que l'on tape le Nom et
que l'on sélectionne cette ligne pour pouvoir la supprimer. Cependant,
des clients apparaissent plusieurs fois et j'aiemerais avoir le choix
pour supprimer une des.

De plus je n'arrive pas à mettre en place une boucle qui me
permettrait de redemander si il y a une autre ligne à supprimer.

Voici ma maccro actuelle :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Cells.Find(Var, xlNext)
If Not MotTtrouvé Is Nothing Then
MotTrouvé.Select
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne"
Title = "Attention suppression de la ligne"
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A
encaisser"")"
Range("G2").Select
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Sheets("Feuil1").Select

End Sub

Elle est un peu complexe, mais comme je voulais dit je débute.

Merci pour votre aide
Suze


ReBonjour,

En fait votre formule supprime la première ligne et non celle que je
rentre avec la commande Inputbox.

Cordialement,
Suze

suze32
Le #6681351
On 21 mai, 15:55, "Daniel.C"
Essaie la macro suivante. A partir de l'inputbox, tu choisis directement
avec la souris la référence à supprimer :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS  MARIE
'
    Sheets("Feuil2").Select
    Dim Var As String
    On Error Resume Next
    Do While MsgBox("Supprimer une ligne", vbYesNo) = vbYes
        Set MotTrouvé = Application.InputBox("Cliquez sur la r éférence à
supprimer", Type:=8)
        If MotTrouvé Is Nothing Then Exit Sub
        Style = vbYesNo + vbDefaultButton1
        Msg = "Suppression de la ligne " & MotTrouvé.Row
        Title = "Attention suppression de la ligne " & MotTrouv é.Row
        Réponse = MsgBox(Msg, Style, Title)
        If Réponse = vbYes Then
        MotTtrouvé.EntireRow.Delete Shift:=xlUp
        Range("G1").Select
         ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249 ]C[-2]),""A
encaisser"")"
        Range("G2").Select
        End If
    Loop
    Sheets("Feuil1").Select

End Sub

Daniel
"suze32"
On 21 mai, 11:47, "Daniel.C"




Bonjour.
Essaie :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String, ResAdr As String, MotTrouvé As Range
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Range("A:A").Find(Var)
ResAdr = MotTrouvé.Address
Do
If Not MotTrouvé Is Nothing Then
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne " & MotTrouvé.Row
Title = "Attention suppression de la ligne "
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
MotTrouvé.EntireRow.Delete Shift:=xlUp
Range("G1").FormulaR1C1 =
"=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A encaisser"")"
Else
ResAdr = MotTrouvé.Address
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Set MotTrouvé = Range("A:A").Find(Var)
Loop Until MotTrouvé Is Nothing Or MotTrouvé.Address = ResAdr
Sheets("Feuil1").Select

End Sub

Cordialement.
Daniel
"suze32"
Bonjour,

Toujours sur le même fichier, et étant débutante en maccro, j'ai u n
problème un petit problème. J'ai une base de donnée en feuille 2 a vec
comme intitulé de colonne "Nom"; "Date d'encaissement";
"Commentaires"; "Montant".

A l'aide de la méthode InputBox, je souhaite que l'on tape le Nom et
que l'on sélectionne cette ligne pour pouvoir la supprimer. Cependant,
des clients apparaissent plusieurs fois et j'aiemerais avoir le choix
pour supprimer une des.

De plus je n'arrive pas à mettre en place une boucle qui me
permettrait de redemander si il y a une autre ligne à supprimer.

Voici ma maccro actuelle :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Cells.Find(Var, xlNext)
If Not MotTtrouvé Is Nothing Then
MotTrouvé.Select
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne"
Title = "Attention suppression de la ligne"
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A
encaisser"")"
Range("G2").Select
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Sheets("Feuil1").Select

End Sub

Elle est un peu complexe, mais comme je voulais dit je débute.

Merci pour votre aide
Suze


ReBonjour,

En fait votre formule supprime la première ligne et non celle que je
rentre avec la commande Inputbox.

Cordialement,
Suze- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Bonjour,

Votre formule correspond tout à fait à ce que je veux, cependant je ne
comprend pas cela ne supprime rien du tout. Cela me dit bien qu'elle
ligne va être supprimé mais rien ne se passe.

Merci,
Suze


Daniel.C
Le #6682161
Bonjour.
Désolé, une petite faute de frappe :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String
Do While MsgBox("Supprimer une ligne", vbYesNo) = vbYes
Set MotTrouvé = Application.InputBox("Cliquez sur la référence à
supprimer", Type:=8)
If MotTrouvé Is Nothing Then Exit Sub
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne " & MotTrouvé.Row
Title = "Attention suppression de la ligne " & MotTrouvé.Row
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
MotTrouvé.EntireRow.Delete
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A
encaisser"")"
Range("G2").Select
End If
Loop
Sheets("Feuil1").Select

End Sub

Daniel
"suze32"
On 21 mai, 15:55, "Daniel.C"
Essaie la macro suivante. A partir de l'inputbox, tu choisis directement
avec la souris la référence à supprimer :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String
On Error Resume Next
Do While MsgBox("Supprimer une ligne", vbYesNo) = vbYes
Set MotTrouvé = Application.InputBox("Cliquez sur la référence à
supprimer", Type:=8)
If MotTrouvé Is Nothing Then Exit Sub
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne " & MotTrouvé.Row
Title = "Attention suppression de la ligne " & MotTrouvé.Row
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
MotTtrouvé.EntireRow.Delete Shift:=xlUp
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A
encaisser"")"
Range("G2").Select
End If
Loop
Sheets("Feuil1").Select

End Sub

Daniel
"suze32"
On 21 mai, 11:47, "Daniel.C"




Bonjour.
Essaie :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String, ResAdr As String, MotTrouvé As Range
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Range("A:A").Find(Var)
ResAdr = MotTrouvé.Address
Do
If Not MotTrouvé Is Nothing Then
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne " & MotTrouvé.Row
Title = "Attention suppression de la ligne "
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
MotTrouvé.EntireRow.Delete Shift:=xlUp
Range("G1").FormulaR1C1 > > "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A encaisser"")"
Else
ResAdr = MotTrouvé.Address
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Set MotTrouvé = Range("A:A").Find(Var)
Loop Until MotTrouvé Is Nothing Or MotTrouvé.Address = ResAdr
Sheets("Feuil1").Select

End Sub

Cordialement.
Daniel
"suze32"
Bonjour,

Toujours sur le même fichier, et étant débutante en maccro, j'ai un
problème un petit problème. J'ai une base de donnée en feuille 2 avec
comme intitulé de colonne "Nom"; "Date d'encaissement";
"Commentaires"; "Montant".

A l'aide de la méthode InputBox, je souhaite que l'on tape le Nom et
que l'on sélectionne cette ligne pour pouvoir la supprimer. Cependant,
des clients apparaissent plusieurs fois et j'aiemerais avoir le choix
pour supprimer une des.

De plus je n'arrive pas à mettre en place une boucle qui me
permettrait de redemander si il y a une autre ligne à supprimer.

Voici ma maccro actuelle :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Cells.Find(Var, xlNext)
If Not MotTtrouvé Is Nothing Then
MotTrouvé.Select
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne"
Title = "Attention suppression de la ligne"
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A
encaisser"")"
Range("G2").Select
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Sheets("Feuil1").Select

End Sub

Elle est un peu complexe, mais comme je voulais dit je débute.

Merci pour votre aide
Suze


ReBonjour,

En fait votre formule supprime la première ligne et non celle que je
rentre avec la commande Inputbox.

Cordialement,
Suze- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Bonjour,

Votre formule correspond tout à fait à ce que je veux, cependant je ne
comprend pas cela ne supprime rien du tout. Cela me dit bien qu'elle
ligne va être supprimé mais rien ne se passe.

Merci,
Suze


suze32
Le #6683871
On 22 mai, 10:35, "Daniel.C"
Bonjour.
Désolé, une petite faute de frappe :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS  MARIE
'
    Sheets("Feuil2").Select
    Dim Var As String
    Do While MsgBox("Supprimer une ligne", vbYesNo) = vbYes
        Set MotTrouvé = Application.InputBox("Cliquez sur la r éférence à
supprimer", Type:=8)
        If MotTrouvé Is Nothing Then Exit Sub
        Style = vbYesNo + vbDefaultButton1
        Msg = "Suppression de la ligne " & MotTrouvé.Row
        Title = "Attention suppression de la ligne " & MotTrouv é.Row
        Réponse = MsgBox(Msg, Style, Title)
        If Réponse = vbYes Then
        MotTrouvé.EntireRow.Delete
        Range("G1").Select
         ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249 ]C[-2]),""A
encaisser"")"
        Range("G2").Select
        End If
    Loop
    Sheets("Feuil1").Select

End Sub

Daniel
"suze32"
On 21 mai, 15:55, "Daniel.C"




Essaie la macro suivante. A partir de l'inputbox, tu choisis directement
avec la souris la référence à supprimer :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String
On Error Resume Next
Do While MsgBox("Supprimer une ligne", vbYesNo) = vbYes
Set MotTrouvé = Application.InputBox("Cliquez sur la référence à
supprimer", Type:=8)
If MotTrouvé Is Nothing Then Exit Sub
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne " & MotTrouvé.Row
Title = "Attention suppression de la ligne " & MotTrouvé.Row
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
MotTtrouvé.EntireRow.Delete Shift:=xlUp
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A
encaisser"")"
Range("G2").Select
End If
Loop
Sheets("Feuil1").Select

End Sub

Daniel
"suze32"
On 21 mai, 11:47, "Daniel.C"
Bonjour.
Essaie :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String, ResAdr As String, MotTrouvé As Range
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Range("A:A").Find(Var)
ResAdr = MotTrouvé.Address
Do
If Not MotTrouvé Is Nothing Then
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne " & MotTrouvé.Row
Title = "Attention suppression de la ligne "
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
MotTrouvé.EntireRow.Delete Shift:=xlUp
Range("G1").FormulaR1C1 =
"=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A encaisser"")"
Else
ResAdr = MotTrouvé.Address
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Set MotTrouvé = Range("A:A").Find(Var)
Loop Until MotTrouvé Is Nothing Or MotTrouvé.Address = ResAdr
Sheets("Feuil1").Select

End Sub

Cordialement.
Daniel
"suze32"
Bonjour,

Toujours sur le même fichier, et étant débutante en maccro, j'ai un
problème un petit problème. J'ai une base de donnée en feuille 2 avec
comme intitulé de colonne "Nom"; "Date d'encaissement";
"Commentaires"; "Montant".

A l'aide de la méthode InputBox, je souhaite que l'on tape le Nom et
que l'on sélectionne cette ligne pour pouvoir la supprimer. Cependan t,
des clients apparaissent plusieurs fois et j'aiemerais avoir le choix
pour supprimer une des.

De plus je n'arrive pas à mettre en place une boucle qui me
permettrait de redemander si il y a une autre ligne à supprimer.

Voici ma maccro actuelle :

Sub supprimer()
'
' supprimer Macro
' Macro enregistrée le 26/03/2008 par DARTUS MARIE
'
Sheets("Feuil2").Select
Dim Var As String
On Error Resume Next
Var = InputBox("Entrer une référence", , "")
If Var = "" Then Exit Sub
Set MotTrouvé = Cells.Find(Var, xlNext)
If Not MotTtrouvé Is Nothing Then
MotTrouvé.Select
Style = vbYesNo + vbDefaultButton1
Msg = "Suppression de la ligne"
Title = "Attention suppression de la ligne"
Réponse = MsgBox(Msg, Style, Title)
If Réponse = vbYes Then
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Range("G1").Select
ActiveCell.FormulaR1C1 = "=COUNTIF((R[1]C[-2]:R[249]C[-2]),""A
encaisser"")"
Range("G2").Select
End If
Else
MsgBox "Rien trouvé"
Exit Sub
End If
Sheets("Feuil1").Select

End Sub

Elle est un peu complexe, mais comme je voulais dit je débute.

Merci pour votre aide
Suze


ReBonjour,

En fait votre formule supprime la première ligne et non celle que je
rentre avec la commande Inputbox.

Cordialement,
Suze- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Bonjour,

Votre formule correspond tout à fait à ce que je veux, cependant je ne
comprend pas cela ne supprime rien du tout. Cela me dit bien qu'elle
ligne va être supprimé mais rien ne se passe.

Merci,
Suze- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Rebonjour,

Cela fonctionne très bien. Je vous remercie beaucoup pour votre aide.

Bonne fin de journée

Suze



Publicité
Poster une réponse
Anonyme