XL 2010 Suppression fournisseur (Modification VBA)

aminovsky

XLDnaute Nouveau
Bonjour à tous,
dans l'exemple que j'ai joint j'ai un code avec le quel je supprime les fournisseurs ajoutés,
dans l'onglet Données n'importe quelle cellule de la ligne 8 contenant le nom du fournisseur qu'on veut supprimé en cliquant par la suite sur l'onglet supprimer fournisseur, le code efface toutes les colonnes de l'onglet Total général qui concernent le fournisseur choisi.
mon problème c'est que pour supprimer un fournisseur je dois remplir le type et le prix unitaire et faire un passage dans l'onglet total général pour actualisation avant de cliquer sur supprimer fournisseur, car si par exemple dans l'exemple ci-joint je choisi la cellule F8 et je clique sur supprimer fournisseur le code bug parce que les informations de la colonne F ne sont pas remplis,
VB:
Sub SupprimerUnFournisseur()
   
    If Selection.Count > 1 Then End
    If Not Intersect(Selection, Range(Cells(8, 5), Cells(8, Cells(8, Columns.Count).End(xlToLeft).Column))) Is Nothing Then
        If Selection.Column = 5 Then
            MsgBox "Vous ne pouvez pas supprimer le premier fournisseur.", 16
            End
        Else
            rep = MsgBox("Vous voulez vraiment supprimer le fournisseur " & Selection.Value & " ?", 20)
            If rep = 7 Then End
           
            f = Selection
            Set ft = Sheets("Total Général")
           
            'colonnes de détail du fournisseur
            col = ft.Rows("10:10").Find("*LIVRAISON*", LookAt:=xlWhole).Column
            col2 = ft.Range(ft.Cells(10, 9), ft.Cells(10, col - 1)).Find(f, LookAt:=xlWhole, LookIn:=xlValues).Column
            ft.Range(ft.Columns(col2), ft.Columns(col2 + 6)).Delete Shift:=xlToLeft
           
            'colonne "LIVRAISON"
            col = ft.Rows("10:10").Find("LIVRAISON " & f, LookAt:=xlWhole, LookIn:=xlValues).Column
            ft.Range(ft.Columns(col), ft.Columns(col)).Delete Shift:=xlToLeft
           
            'colonnes "Prix unitaires"
            col = ft.Rows("10:10").Find(f, LookAt:=xlWhole, LookIn:=xlValues).Column
            ft.Range(ft.Columns(col), ft.Columns(col + 6)).Delete Shift:=xlToLeft
           
            'colonne "MONTANT FOURNISSEUR"
            col = ft.Rows("10:10").Find("MONTANT " & f, LookAt:=xlWhole, LookIn:=xlValues).Column
            ft.Range(ft.Columns(col), ft.Columns(col)).Delete Shift:=xlToLeft
           
            'colonne du fournisseur dans la feuille "Données"
            Range(Columns(Selection.Column), Columns(Selection.Column)).Delete Shift:=xlToLeft
           
            ActiveWorkbook.Names(f).Delete
           
        End If
    Else
        MsgBox "Vous devez sélectionner le nom du fournisseur à supprimer.", 16
        End
    End If
   
End Sub

j'attends vos recommandations

Merci d'avance
 

Pièces jointes

  • Suivi FRS.xlsm
    51.8 KB · Affichages: 71

Discussions similaires

Réponses
2
Affichages
272

Statistiques des forums

Discussions
313 769
Messages
2 102 234
Membres
108 181
dernier inscrit
Chr1sD