Microsoft 365 Userform supprimer et modifier sur 2 feuilles

  • Initiateur de la discussion Initiateur de la discussion eric72
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

eric72

XLDnaute Accro
Bonjour à tous,
J'ai un fichier avec un bouton "Fiche Produit" à partir duquel j'aimerais ajouter, modifier ou supprimer sur 2 feuilles nommées "Produit" et "Données" (elles sont juste masquées), cela fonctionne bien sur "produit", mais quand je veux modifier ou supprimer dans "Données" cela ne fonctionne pas et je ne comprends pas trop pourquoi!!!
l'un d'entre vous aurait-il une idée.
Merci d'avance pour le temps consacré...
Eric
 

Pièces jointes

Bonjour,

1) tu as des erreurs de compilation, à corriger de toutes façons
2) précise le mode opératoire de ce que tu veux faire, quel userform, quel bouton, quelle données à supprimer, quel résultat sur quelle feuille, ...

Cordialement
 
Bonjour ALS35,
Tout d'abord merci pour votre réponse
Avec le UsfProduit le bouton "Modifier" pouvoir modifier dans l'onglet "Produit" Tableau "BDProduit", mais aussi "Données", Tableau "TbProduit", et même chose pour le bouton "Supprimer" dans les 2 tableaux structurés (et non pas la ligne entière(
J'espère être assez clair!!!
Merci beaucoup
Eric
 
Re,
Ta procédure SupprProduitDonnee_Click ne sert à rien car elle n'est rattachée à aucun contrôle ni appelée dans le code.
Ci-après le code modifié de BtSupprProduitBase_Click pour la suppression dans les deux tableaux si j'ai bien compris, avec l'indentation du code refaite correctement.

Les Afficher/Masquer et Ptrotect/Unprotect sont particulièrement pénibles en phase de mise au point.

Bonne application

VB:
Private Sub BtSupprProduitBase_Click()

Dim question As Integer
Dim no_ligne As Long

Application.ScreenUpdating = False
'Sheets("produit").Visible = True
'Sheets("produit").Activate
Call Unprotect

no_ligne = CbRechercheProduit.ListIndex + 1
If MsgBox("Êtes-vous certain de vouloir supprimer", vbYesNo, "Demande de confirmation") = vbYes Then
    Range("BDProduit").ListObject.ListRows(no_ligne).Delete
    Range("TBProduit").ListObject.ListRows(no_ligne).Delete
    
    question = MsgBox("Voulez-vous Effectuer une autre Action", vbQuestion + vbYesNo, "Information")
    If question = vbYes Then
        Unload Me
        UsfProduit.Show 'Fermer puis ouvrir permet d'effacer les données
    End If
    
    Unload Me
End If

Call Protect
Sheets("produit").Visible = False

End Sub
 
Re,
Merci pour la réponse mais ça ne va pas, je m'explique dans la feuille "Produit" je peux avoir plus de références que dans l'onglet "Données" et la macro prend la list.index de l'onglet "produit" et ça n'est pas le même dans l'onglet "Données" donc si le no_ligne = 3 dans "produit" il supprime le no_ligne 3 dans "Données (j'avais déjà essayé ce code), désolé.
Je remets le fichier avec plus de données, vous verrez que dans ce cas ça ne fonctionne pas, j'ai aussi essayé de supprimer avec la valeur de la textbox "NomPlante". value mais sans succès
Merci encore
Eric
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
391
Réponses
15
Affichages
865
Retour