Transfert données sur bouton supprimer

Bonjour le forum

Je cherche à créer sur un bouton Supprimer, la suppression d'une ligne au choix dans feuille A et les copier en archive dans feuille B.

Dans la feuille A ("BDDAgent") se trouve 6 colonnes ( de A à F) qui servent de base de données, quand je souhaite supprimer une ligne (pour raison X) j'aimerai que cette dernière soit copier les une après les autres dans feuille B ("RecupAgent") afin de garder les suppression en archive, en y ajoutant la date en colonne G.

j'ai bien trouvé le code pour supprimer mais n'arrive pas à l'adapter.

Private Sub CbB_Supp_Click()
Dim Lig As Long, i As Integer
    If CBxModification.Text = "" Then Exit Sub
    Lig = CBxModification.ListIndex + 2
    Sheets("BDDAgent").Rows(Lig).Delete
    InitObjet  'efface les objets
    CBxModification.ListIndex = -1
End Sub

L'idéal juste avant de supprimer serait d'avoir un MsgBox annonçant la suppression.

Merci par avance de votre aide

Cdlt

Bonjour,

Bonjour minanse

Oupps !! Désolé, j'ai zappé.

Bonjour,

j'ai vu que dans votre fichier vous avez déjà un userform. comme voulez vous faire la suppression ? (à travers ce userform ? )

une petite proposition :

If CBxModification.Text = "" Then Exit Sub
If MsgBox("Confirmez-vous la suppresion de " & " " & CBxModification & " ?", vbYesNo, "Demande de confirmation") = vbNo Then Exit Sub
For i = 2 To Sheets("BDDAgent").Range("A" & Rows.Count).End(xlUp).Row
  If Sheets("BDDAgent").Cells(i, 1).Value = CBxModification.Text Then
    Sheets("BDDAgent").Rows(i).Copy Sheets("RecupAgent").Rows(Sheets("RecupAgent").Range("A" & Rows.Count).End(xlUp).Row + 1)
    Sheets("RecupAgent").Range("G" & Sheets("RecupAgent").Range("A" & Rows.Count).End(xlUp).Row).Value = Now()
    Sheets("BDDAgent").Rows(i).Delete
Next i
End Sub

vous pouvez remplacer certaine ligne qu se répète par des variable pour un code plus lisible

Bonjour minanse

Merci du coup de main, c'est super sympa.

Le principe de suppression correspond à mes attentes.

Je viens de tester ta proposition sur le UsF_Agent, un bug survient en indiquant (Next sans For), j'ai donc ajouté End If juste avant Next i et cela fonctionne.

J'avoue qu'il doit y avoir quelques lacunes de mon côté (construction code pas top, c'est claire), mais ce fichier me sert d'exemple car je souhaites mettre en place une base de données qui correspond aux titres de ce fichier seulement manipulable d'un (ou plusieurs) UserForm.

Pour effectuer :

  • Ajout d'une personne avec MsgBox en cas de doublon sur la personne, en précisant dans le MsgBox le site et fonction.
  • Modifier une personne avec MsgBox en cas de doublon sur la personne, site et fonction (sachant que le Nom peut être modifier, en cas de mariage, par ex).
  • Supprimer une personne, pour cela ton code correspond.
N'ayant pas d'inspiration précise de la construction du ou des UF, j'ai donc essayé quelques solutions qui j'espère est sur la bonne vois.

J'imagine que le plus simple serai d'avoir un UF par sélection (Ajou, Modif, Suppr) ?

Comme tu a pu voir également le ID(casque) est créé automatiquement et est unique par personne, c'est pour le suivi casque par personne, ça je souhaite le garder.

Les feuilles seront masquées si possible sauf "Tableau de bord"

Toutes idées de construction à ce principe seront les bienvenues.

Merci par avance

Cdlt

je n'ai pas le temps de la faire mais pour un projet de ce type je penserai la mise en forme sivant :

masquer tout les page n'est pas une mauvaise idée, j'aurai crée 4 UserForm :

=> un menu (comme dans les jeux : jouer , paramètre, reprendre une partie ...) sauf que ici sera ajout/recherche/modi et supprimer

=> le menu sert juste à relier les différentes action possible.

=> dans chaque Userform, il suffit de mettre les information qui lui sont nécessaire (ex: ajout = tout les information du l'interlocuteur)

supprimer , plusieurs combobox qui permet la recherche dans la base de donnée (comme ce que tu a déjà fait )

=>/!\ manipuler avec précaution les feuille de donnée (access /modification)

à la limite une fois tout ces userForm crée je(ou l'équipe excel) pourrai vous aider pour le code vba =)

bon courage à vous

Bonjour minanse

Excuse de la réponse tardive.

J'ai suivi tes conseils en espèrent avoir tout compris !

Mise en place de 3 UserForm (Ajout, Modifier, Supprimer), et voulant avancer le travail, j'ai tenter de mettre des codes qui sont certainement à vérifier et améliorer.

Ceci ma permis de voir un peu les fonctionnalités, qui peuvent être modifié ou amélioré sans problème.

Merci pour tout par avance.

Cdlt

Bonjour,

je vous ai apporter la méthode pour modifier les information d'une personne

je n'ai pas modifier (ou optimiser le code) vu qu'il fonctionne très bien

Bonjour minanse

Merci pour le code de la partie Modification qui fonctionne bien. Après multiples essais j'ai voulu effacer totalement la BBDAgent pour repartir de zéro, et la .. Bug !!!

après recherches je n'arrive pas à résoudre le soucis.

Sur UsF_Ajou partie Initialize

sur cette ligne.

a = Application.Transpose(f.Range("B2:B" & f.[B65000].End(xlUp).Row).Value)

et aussi sur l'ouverture des 3 UF.

J'ai tenté également d'ajouter des MsgBox d'alerte avant l'ajout en cas d'objets non renseignés, et de doublon mais ça marche pas bien, voir pas du tout.

je joins le fichier

Rechercher des sujets similaires à "transfert donnees bouton supprimer"