[VB6- > VBA]suprimer une ligne donnée [Résolu]

Signaler
-
 EnguerrandP -
Bonjour ,
Je souhaite supprimée une ligne d'une feuille excel je ne connais pas la position exacte de cette ligne car elle dépend d'une variable.
-J'aimerai pouvoir supprimer une ligne si la 2éme cellule est vide .
aprés avoir fais des recherche sur le net je n'ai rien trouver est lorque je mais:
Row(ligne).delete
sa ne fais rien
pourtant la valeur de la ligne que je souhaite supprimé se trouve dans cette variable.

5 réponses

Désoler de ne pas répondre plus tot j'ai résolu mon probléme aparament c'est le fait que pour certaint fournisseur j'ai mis un piont dans le nom qui poser probléme.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Bonjour,
On aimerait (je te l'ai déjà dit en réponse à ton MP) voir le code écrit et incluant la déclaration et l'initialisation de la variable ligne (pas uniquement une ligne de ce code.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
'Appui sur Suppression du fournisseur '

Public Sub Suppréssion_f_Click()

' Suppression de la fiche du fournisseur : '
Fs = Fournisseur1.Text
Worksheets(Fs).Delete
ligne = 2

While (Worksheets("Fournisseur").Cells(ligne, 2).Value <> Fournisseur.Text)
ligne = ligne + 1
Wend

' Suppression de la ligne de donnée fournisseur : '
If (Worksheets("Fournisseur").Cells(ligne, 2).Value = Fournisseur.Text) Then
Rows(ligne).EntireRow.Delete Shift:=xlUp
End If
'Appui sur Suppression du fournisseur '

Public Sub Suppréssion_f_Click()

' Suppression de la fiche du fournisseur : '
Fs = Fournisseur1.Text
Worksheets(Fs).Delete
ligne = 2

While (Worksheets("Fournisseur").Cells(ligne, 2).Value <> Fournisseur.Text)
ligne = ligne + 1
Wend

' Suppression de la ligne de donnée fournisseur : '
If (Worksheets("Fournisseur").Cells(ligne, 2).Value = Fournisseur.Text) Then
Rows(ligne).Row.Delete Shift:=xlUp
End If
Voila le code.
Mais j'ai un message d'incompatibliter de type
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Sur quelle ligne, ce message ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.

Bonjour ,
Désoler de rouvrir un vieux sujet mes mon code ne fonctione pas (la parti supréssion de fournisseur).

Dim Fss As String
Dim cellule As Range
Dim L As Integer, ligne As Integer, Cs As Integer

' Appui sur fournisseur '

Private Sub Fournisseur_Click()
    Produit.Clear
     
   ' Stocke le nom du fournisseur dans Fss : '
       Fournisseur1.Text = Fournisseur.Value
       Fss = Fournisseur.Value
     
   ' Initialise la liste des Produits : '
          Lf = 2
   While (Worksheets(Fss).Cells(Lf, 1).Value <> "")

          Produit.AddItem (Worksheets(Fss).Cells(Lf, 1).Value)
          Lf = Lf + 1
   Wend

End Sub

' Appui sur produit '

Public Sub Produit_Click()

  ' Stocke le rang du produit dans L : '
  L = 0
  Lp = 2
  While (L = 0)
  
    If (Produit.Value = Worksheets(Fss).Cells(Lp, 1).Value) Then
        L = Lp
 
        ElseIf (Produit.Value <> Worksheets(Fss).Cells(Lp, 1).Value) Then
                Lp = Lp + 1
    End If
    
  Wend

   
 ' Affiche le nom du produit que l'on souhaite supprimé '
   Produit1.Value = Produit.Value
        
End Sub

' Appui sur Retour (à l'interface principale) '

Private Sub Retour_Click()

     Unload Me
     Paramétre_A.Show

End Sub

'Appui sur Suppression du fournisseur '

Public Sub Suppréssion_f_Click()
  
  ' Recherche du fournisseur sélectionner dans la liste principale '
         ligne = 2
  While (Worksheets("Fournisseur").Cells(ligne, 2).Value <> Fss)
         ligne = ligne + 1
  Wend
   If (Worksheets("Fournisseur").Cells(ligne, 1).Value = "2") Then
          ligne = 2
   While (Worksheets("Fournisseur (2)").Cells(ligne, 2).Value <> Fss)
          ligne = ligne + 1
   Wend
  
   ' Suppression de la ligne de donnée fournisseur : '
   If (Worksheets("Fournisseur (2)").Cells(ligne, 2).Value = Fss) Then
       Rows(ligne).EntireRow.Delete Shift:=xlUp
   End If
  
   ElseIf (Worksheets("Fournisseur").Cells(ligne, 1).Value = "3") Then
            ligne = 2
     While (Worksheets("Fournisseur (3)").Cells(ligne, 2).Value <> Fss)
            ligne = ligne + 1
     Wend

   ' Suppression de la ligne de donnée fournisseur : '
   If (Worksheets("Fournisseur (3)").Cells(ligne, 2).Value = Fss) Then
       Rows(ligne).EntireRow.Delete Shift:=xlUp
    
   End If
  
  End If
  
         ligne = 2
  While (Worksheets("Fournisseur").Cells(ligne, 2).Value <> Fss)
         ligne = ligne + 1
         
  Wend
  
  ' Suppression de la ligne de donnée fournisseur : '
  If (Worksheets("Fournisseur").Cells(ligne, 2).Value = Fss) Then
      Rows(ligne).EntireRow.Delete Shift:=xlUp
      ' Suppression de la fiche du fournisseur : '
      Worksheets(Fss).Delete
  End If
 
End Sub

' appui sur Suppression du Produit '

Public Sub Suppréssion_p_Click()

' Vide la cellule cible : '
 Cs = 1
 Worksheets(Fss).Cells(L, Cs).Value = ""
 
 ' Remonte les cellules jusqu'a la derniére cellule pleine : '

 For Each cellule In ActiveSheet.Range("A2:A21")
 
    If cellule Is Nothing Or cellule.Value = "" Then
       cellule.Delete xlUp
    End If
    
 Next cellule

End Sub

' Initialisation de l'userform : Suppression '

Private Sub UserForm_Initialize()
 ' Initialise la liste des fournisseurs : '
        ligne = 2
 While (Worksheets("Fournisseur").Cells(ligne, 2).Value <> "")
        Fournisseur.AddItem (Worksheets("Fournisseur").Cells(ligne, 2).Value)
        ligne = ligne + 1
 Wend

End Sub


Es ce que quelqu'un voit ou est mon probléme?
Normalement il devrait bien supprimé le nom sélectionné dans la liste "Fournisseur (2)" ou "Fournisseur (3)" puis dans "Fournisseur"
et enfin supprimmer la feuille excel qui prot le nom sélectionnée nom.