Effacer une ligne (VBA)
AnnePhiSo
Messages postés
7
Statut
Membre
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
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 word - Guide
- Effacer les données de navigation sur android - Guide
- Formulaire en ligne de meta - 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 With Tu 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? --