Probleme de supression dans une base de donnée

Bonjour,

Je vous sollicite pour un problème de sélection de donnée dans le programme VBA que je crée.

Je vous explique succinctement l’objectif de la macro que je tente d’exécuter :

L’idée est de pouvoir supprimer un Sous-traitant répertorié dans une base de données (Cf schéma de la base de données).

L’organisation de cette base est la suivante :

Les ST sont classés par type de travaux qu’ils réalisent sous 2 colonnes. Dans la 1ere apparait leur nom et dans la seconde apparait leur contact et infos (adresse, nom du contact, téléphone etc…). Ces données sont éditées automatiquement à partir d’une boite de dialogue que l’utilisateur a remplie préalablement.

Voici les lignes de codes de la macro défaillante. (Le débogage automatique d’Excel m’indique la ligne jaune).

Private Sub supprimer_Click()
Dim ok As Boolean
ok = True

Workbooks("Bible").Sheets("Sous-traitants").Unprotect password:="#########"

lentreprise.ForeColor = RGB(10, 10, 10)     'couleur noir pour les labels
lnom.ForeColor = RGB(10, 10, 10)

If entreprise.Value = "" Then
    lentreprise.ForeColor = RGB(250, 0, 0)
    ok = False
End If

If nom.Value = "" Then
    lnom.ForeColor = RGB(250, 0, 0)
    ok = False
End If

If ok = True Then
    If MsgBox("Êtes-vous certain de vouloir supprimer la fiche entreprise : " & nom.Value & "?", vbYesNo + vbExclamation, "Demande de confirmation") = vbYes Then
        For i = 2 To Workbooks("Bible").Sheets("Sous-traitants").Cells(1, (1 + entreprise.ListIndex) * 2 + 2).End(xlDown).Row - 1
                If nom.Value = Workbooks("Bible").Sheets("Sous-traitants").Cells(i, (1 + entreprise.ListIndex) * 2 + 2) Then
                l = i
                c = (1 + entreprise.ListIndex) * 2 + 2
                Exit For
                End If
        Next
        Workbooks("Bible").Sheets("Sous-traitants").Cells(l, c).Select
        Selection.Delete Shift:=xlUp
        Workbooks("Bible").Sheets("Sous-traitants").Cells(l, c + 1).Select
        Selection.Delete Shift:=xlUp
        Kill "E:\#########\Sous-traitants\" & entreprise.Value & "\" & nom.Value & ".pdf"   'reprendre ici

        Sheets("Sous-traitants").Protect password:="#########", DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowDeletingRows:=True, AllowFiltering:=True                 'Protéger la feuille

        Unload Me
    End If
End If
End Sub

Je ne comprends pas ce qui cloche…. Avez-vous une idée ?

Merci d’avance pour votre aide !

Antoine

Bonjour

Tu devrais joindre ton fichier, même allégé et anonymisé....

Bye !

Bonjour,

Effectivement j'ai oublié de joindre le schéma de la base de donnée, le voici.

Pour des questions de confidentialité je ne peux pas vous envoyer mon fichier... Je comprends bien que ce serait plus facile.

J'espère cependant que ce schéma vous aidera à voir y plus clair !

Merci d'avance pour vote aide,

Antoine

Rechercher des sujets similaires à "probleme supression base donnee"