Effacer une ligne (VBA)
AnnePhiSo
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
Je suis actuellement en train de créer un logiciel de gestion d'absence et retard via Excel.
J'enregistre au préalable, via un UserForm, les personnes par leur nom, prénom... et un identifiant leur est automatiquement associé (valeur numérique 1, 2 3,..) Les personnes sont enregistrées dans une feuille Excel.
Je voudrais également créer un bouton Supprimer, qui supprimerait les personnes de cette feuille en entrant nom et prénom ou alors l'identifiant.
Le code avec identifiant est correct :
En revanche, je n'arrive pas à créer un code correct pour la suppression en partant des noms et prénoms.
Je pense qu'il faut que mon programme cherche le nom dans la colonne des noms et ensuite lui associe le numéro de sa ligne, avant de supprimer la ligne en entier par la méthode précédente.
Pouvez-vous m'aider ? Merci d'avance =)
Je suis actuellement en train de créer un logiciel de gestion d'absence et retard via Excel.
J'enregistre au préalable, via un UserForm, les personnes par leur nom, prénom... et un identifiant leur est automatiquement associé (valeur numérique 1, 2 3,..) Les personnes sont enregistrées dans une feuille Excel.
Je voudrais également créer un bouton Supprimer, qui supprimerait les personnes de cette feuille en entrant nom et prénom ou alors l'identifiant.
Le code avec identifiant est correct :
Dim a As String Dim i As Integer a = SupprimerEleve.txtIdentifiant.Text i = CStr(a) Sheets("Elèves").Cells(i + 1, 1).Value = "" Sheets("Elèves").Cells(i + 1, 2).Value = "" Sheets("Elèves").Cells(i + 1, 3).Value = "" Sheets("Elèves").Cells(i + 1, 4).Value = "" Sheets("Elèves").Cells(i + 1, 5).Value = "" Sheets("Elèves").Cells(i + 1, 6).Value = ""
En revanche, je n'arrive pas à créer un code correct pour la suppression en partant des noms et prénoms.
Je pense qu'il faut que mon programme cherche le nom dans la colonne des noms et ensuite lui associe le numéro de sa ligne, avant de supprimer la ligne en entier par la méthode précédente.
Pouvez-vous m'aider ? Merci d'avance =)
A voir également:
- Effacer une ligne (VBA)
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Comment effacer une page sur word - Guide
- Aller à la ligne excel - Guide
- Apparaitre hors ligne instagram - Guide
2 réponses
Je précise avoir essayé ca, mais ca ne marche pas :
Dim k As Integer k = 2 Do Until Sheets("Elèves").Cells(k, 2).Value = SupprimerEleve.txtNom.Value k = k + 1 Loop Sheets("Elèves").Cells(k + 1, 1).Value = "" Sheets("Elèves").Cells(k + 1, 2).Value = "" Sheets("Elèves").Cells(k + 1, 3).Value = "" Sheets("Elèves").Cells(k + 1, 4).Value = "" Sheets("Elèves").Cells(k + 1, 5).Value = "" Sheets("Elèves").Cells(k + 1, 6).Value = ""
Bonjour,
Effectivement, il faut chercher le n° de la ligne correspondante à la donnée cherchée. Par exemple avec la fonction find : (je suppose que le nom à trouver est en colonne 2 de la feuille "eleves" :
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
Effectivement, il faut chercher le n° de la ligne correspondante à la donnée cherchée. Par exemple avec la fonction find : (je suppose que le nom à trouver est en colonne 2 de la feuille "eleves" :
Dim i As Integer Dim nomeleve As String nomeleve = InputBox("Veuillez saisir le nom de l'élève à supprimer") With Sheets("eleves").Columns(2) i = .Cells.find(nomeleve, xlvalues).Row .Rows(i).EntireRow.Delete End WithTu trouveras ici un exemple que j'avais réalisé pour un autre membre de ce forum. Les codes des procédures liées aux 2 UserForm sont décrites.
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --