XL 2010 Recherche solution Macro

filtre69

XLDnaute Occasionnel
Bonjour @ tout le forum
Je n'arrive pas à trouver la solution pour supprimer par la combobox plusieurs lignes.
Je pense avoir une idée mais je ne sais pas la créer.
Je m'explique : dans mon tableau chaque agent que je crée par userform excel ajoutent 8 lignes tout fonctionne très bien ( grand merci à Natorp pour son aide)
mais quand je veux supprimer un agent par userform par le bouton supprimer je n'arrive pas à lui faire supprimer les lignes mais une par une j'arrive.
j'ai pensé à une recherche puis il supprimerait les lignes mais je ne suis pas cale en Vba.

Merci d'avance pour votre aide

Private Sub Supprimer_Click()
If ComboBox1.Value = "" Then

MsgBox ("Veuillez selectionné le Nom/Prénom de la personne a suprimer")

Else

If MsgBox("confirmez-vous la supression de cette personne ?", vbYesNo, "confirmation") = vbYes Then

Rows([C13:C65536].Find(ComboBox1.Value).Row).EntireRow.Delete

End If
End If
End Sub
 

fanfan38

XLDnaute Barbatruc
Bonjour,
lig=Rows([C13:C65536].Find(ComboBox1.Value).Row
range(range("A"&lig),range("A"&lig+8).entirerow.delete
mais comme dis Youki
lig=me.combobox1.listindex+2 '(ou plus 13 vu ta macro)
range(range("A"&lig),range("A"&lig+8)).entirerow.delete

A+ François
 

filtre69

XLDnaute Occasionnel
Bonsoir youky, fanfan38 et le forum

Merci à vous deux de votre aide sa fonctionne parfaitement.
Mais je me suis mal exprimé je vous joint le fichier pour que vous comprendre quand j'ajouter y'a 2 options a mettre .
Bien sur si vous pouvez.
Si je peux encore abuser de votre gentillesse pour la fonction modifiée j'ai le même problème.

Grand Merci à vous
 

Pièces jointes

  • Mois JUILL du 26 au 25 AOUT 2020-3-4.xlsm
    58.3 KB · Affichages: 15
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Bonsoir à tous et Fanfan
Voici en retour le fichier
J'ai procédé finalement autrement avec application.match
Je rempli la combobox sans doublon en Userform.initialize
Bruno
 

Pièces jointes

  • Mois JUILL du 26 au 25 AOUT 2020-3-5.xlsm
    54.8 KB · Affichages: 5

filtre69

XLDnaute Occasionnel
Bonjour youky, fanfan38 et le forum
Super Merci
Je viens de faire des tests sur le fichier y'a un petit souci si je supprime un agent qui n'a pas d'astreinte et goudron il me supprime les lignes de présence M et AP du dessous.
Si je peux encore abuser de votre gentillesse pour la fonction modifiée j'ai le même problème car un agent peux changer de service donc ne plus faire du goudron ou l'astreinte.
Merci
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Bonjour tous,
Essaie ceci.
on test si 8 ou 9 ou 10 à effacer
Bruno

VB:
Private Sub Supprimer_Click()
' Cette Macro fonctionne grace a  youky, fanfan38 du forum Excel Downloads
If ComboBox1.Value = "" Then
MsgBox ("Veuillez selectionné le Nom/Prénom de l'Agent a suprimer")
Else
If MsgBox("confirmez-vous la supression de cette Agent ?", vbYesNo, "confirmation") = vbYes Then
lig = Application.Match(ComboBox1, Feuil113.[C:C], 0)
n = 7 'départ sur 8 à effacer
If Cells(lig + 8, 3) = ComboBox1 Then n = 8 'si 9 à effacer
If Cells(lig + 9, 3) = ComboBox1 Then n = 9 'si 10 à effacer
Feuil113.Unprotect
Rows(lig & ":" & lig + n).Delete
Feuil113.Protect
End If
End If
ComboBox1.RemoveItem (ComboBox1.ListIndex)
ComboBox1 = ""
End Sub
 

filtre69

XLDnaute Occasionnel
Bonjour youky, le forum
Super cela fonctionne Merciiiii
Si je peux encore abuser de votre gentillesse pour la fonction modifiée j'ai le même problème car un agent peux changer de service donc ne plus faire du goudron ou l'astreinte.
Merci d'avance
 

Dranreb

XLDnaute Barbatruc
CL est une variable objet globale déclaré Private WithEvents CL As ComboBoxLiées
et LCou une variable globale As Long contenant le numéro du ListRow à supprimer, ayant été communiqué comme argument Ligne à la Private Sub CL_BingoUn(ByVal Ligne As Long)
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
240
Réponses
7
Affichages
349

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin