Supprimer onglet ligne et cellule selon la réponse d'un combobox
Benny87
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Benny87 Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Benny87 Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour
J'ai besoin d'un peu d'aide. Cela fait 2 jours que j'essaye en vain de chercher sur internet une réponse.
Donc je vous explique la situation, je crée une programme Excel pour le suivi des collaborateur. Le programme est composé d'une parti manager et une parti superviseur. L'ouverture de fichier et bloquer par un mot de passe. Ce que je cherche à faire c'est supprimer l'onglet, la cellule et la ligne correspondant à la sélection que l'on choisit par le combobox du l'Userform SupprimerColla. La ligne à supprimer se situe dans l'onglet « fichier collaborateurs » et en ce qui concerne la cellule elle se trouve dans la feuille « parametrage ». le UserForm se lance depuis le bouton dans la feuille "Nouveau Collaborateur"
Je ne sais vraiment pas comment faire et par quoi commencer.
Merci pour votre aide
J'ai besoin d'un peu d'aide. Cela fait 2 jours que j'essaye en vain de chercher sur internet une réponse.
Donc je vous explique la situation, je crée une programme Excel pour le suivi des collaborateur. Le programme est composé d'une parti manager et une parti superviseur. L'ouverture de fichier et bloquer par un mot de passe. Ce que je cherche à faire c'est supprimer l'onglet, la cellule et la ligne correspondant à la sélection que l'on choisit par le combobox du l'Userform SupprimerColla. La ligne à supprimer se situe dans l'onglet « fichier collaborateurs » et en ce qui concerne la cellule elle se trouve dans la feuille « parametrage ». le UserForm se lance depuis le bouton dans la feuille "Nouveau Collaborateur"
Je ne sais vraiment pas comment faire et par quoi commencer.
Merci pour votre aide
Sub ouvreform1()
SupprimerColla.Show
End Sub
Private Sub Annuler_Click()
Unload Me
End Sub
Private Sub UserForm_Click()
Option Compare Text
Dim f, dico
Private Sub UserForm_Initialize()
Set f = Sheets("fichier collaborateurs")
Set dico = CreateObject("Scripting.Dictionary")
For Each c In f.Range("C2:C" & f.[C65000].End(xlUp).Row)
dico(c.Value) = ""
Next c
temp = dico.keys
Call tri(temp, LBound(temp), UBound(temp))
Me.ComboBox1.List = temp
End Sub
Sub tri(a, gauc, droi) ' Quick sort
ref = a((gauc + droi) \ 2)
g = gauc: d = droi
Do
Do While a(g) < ref: g = g + 1: Loop
Do While ref < a(d): d = d - 1: Loop
If g <= d Then
temp = a(g): a(g) = a(d): a(d) = temp
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call tri(a, g, droi)
If gauc < d Then Call tri(a, gauc, d)
End Sub
Private Sub Valider_Click()
Dim ret As Integer
ret = MsgBox("ætes-vous sur de vouloir supprimer ce collaborateur", vbYesNo)
If ret = vbNo Then
Exit Sub
Else
End Sub
A voir également:
- Supprimer onglet ligne et cellule selon la réponse d'un combobox
- Supprimer rond bleu whatsapp - Guide
- Aller à la ligne dans une cellule excel - Guide
- Partager photos en ligne - Guide
- Supprimer une page word - Guide
- Impossible de supprimer un fichier - Guide
4 réponses
Le code pour charger les collaborateurs triés dans ta combobox fonctionne-t-il ?
Des précisions sur ton besoin seraient nécessaires.
1- l'identification d'un collaborateur est-elle bien unique ?
2- peux-tu expliciter cette phrase : et en ce qui concerne la cellule elle se trouve dans la feuille « parametrage ».
--
Des précisions sur ton besoin seraient nécessaires.
1- l'identification d'un collaborateur est-elle bien unique ?
2- peux-tu expliciter cette phrase : et en ce qui concerne la cellule elle se trouve dans la feuille « parametrage ».
--
Bonjour, a vous deux,
Benny87
fichier exemple: https://www.cjoint.com/c/EItkgrQYaGf
A adapter a votre fichier que je n'avais pas ce matin
Benny87
fichier exemple: https://www.cjoint.com/c/EItkgrQYaGf
A adapter a votre fichier que je n'avais pas ce matin
With Worksheets("parametrage")
If Application.CountIf(.Rows(1), ComboBox1.Text) > 0 Then 'Nom collab existe
lig = 1
'recherche ligne
lig = .Rows(1).Find(ComboBox1.Text, .Cells(lig, 3), , xlWhole).Row
.Range(lig).Delete Shift:=xlUp
Else
MsgBox "Attention Collaborateur " & ComboBox1.Text & " pas dans onglet parametrage!!!!!"
End If
End With
MsgBox "Toutes Les Informations du Collaborateur " & ComboBox1.Text & " ont ete supprimees......."
UserForm_Initialize
ci-dessous code
--
Private Sub Valider_Click()
Dim ret As Integer
ret = MsgBox("êtes-vous sur de vouloir supprimer ce collaborateur/trice", vbYesNo)
If ret = vbNo Then Exit Sub
Set f = Sheets("fichier collaborateurs")
For Each collabo In f.Range("C1:C" & f.Columns("C").Rows(f.Rows.Count).End(xlUp).Row)
If collabo.Value = ComboBox1.Value Then
f.Rows(collabo.Row).Delete
Exit For
End If
Next
Set f = Sheets("parametrage")
For Each collabo In f.Range("E1:E" & f.Columns("E").Rows(f.Rows.Count).End(xlUp).Row)
If collabo.Value = ComboBox1.Value Then
collabo.Clear
Exit For
End If
Next
ComboBox1.RemoveItem (ListIndex)
--
Bonjour,
le code de Thev supprime la ligne du collab selectionne et efface le contenu de la cellule du dit collab. Ce code n'est pas tres different de celui que j'ai ecrit, Thev fait des boucles de recherche, moi j'utilise une instruction et je decoupe un peu plus le code ex pour cette ligne:
ici, excel recalcul a chaque tour de la boucle quelle est la derniere ligne de la colonne et reconstruit la plage de cellule.
Pour plus de "performance", chercher la derniere ligne de la colonne, creer une plage en memoire et apres boucle de recherche sur cette plage en memoire.
Pour moi, l'instruction
Je regarde pour votre suppression de colonne au lieu de cellule dans votre fichier, onglet parametrage
je voudrais plutôt supprimer la colonne qui contient ce nom qui se trouve seulement sur la ligne 1 de ce même fichier. Onglet parametrage ?????. La ligne 1 c'est la ligne 4 ou ???????
le code de Thev supprime la ligne du collab selectionne et efface le contenu de la cellule du dit collab. Ce code n'est pas tres different de celui que j'ai ecrit, Thev fait des boucles de recherche, moi j'utilise une instruction et je decoupe un peu plus le code ex pour cette ligne:
For Each collabo In f.Range("C1:C" & f.Columns("C").Rows(f.Rows.Count).End(xlUp).Row)
ici, excel recalcul a chaque tour de la boucle quelle est la derniere ligne de la colonne et reconstruit la plage de cellule.
Pour plus de "performance", chercher la derniere ligne de la colonne, creer une plage en memoire et apres boucle de recherche sur cette plage en memoire.
Pour moi, l'instruction
Findgere la boucle de recherche a ma place et plus rapidement que du code pour faire a l'identique, donc ok
Je regarde pour votre suppression de colonne au lieu de cellule dans votre fichier, onglet parametrage
je voudrais plutôt supprimer la colonne qui contient ce nom qui se trouve seulement sur la ligne 1 de ce même fichier. Onglet parametrage ?????. La ligne 1 c'est la ligne 4 ou ???????
Je viens de trouver la solution merci 1000 fois.
J'ai une autre question.
Le code:
Je voudrai ramplacer le texte par un autre texte
J'ai une autre question.
Le code:
If Application.CountIf(.Rows(1), ComboBox1.Text) > 0 Then 'Nom collab existe
lig = 1
'recherche ligne
lig = .Rows(1).Find(ComboBox1.Text, .Cells(lig, 1).End(xlUp), , xlWhole).Column
.Range(lig & "1").Value = "test"
Je voudrai ramplacer le texte par un autre texte
J'ai trouvé merci encore pour ton aide
non, il faut mettre .cells
non, il faut mettre .cells
With Worksheets("parametrage")voila le code final
If Application.CountIf(.Rows(1), ComboBox1.Text) > 0 Then 'Nom collab existe
lig = 1
'recherche ligne
lig = .Rows(1).Find(ComboBox1.Text, .Cells(lig, 1).End(xlUp), , xlWhole).Column
.Cells(1, lig).Value = "Ajouter le nom de l'onglet"
merci pour cette réponse si rapide.
pour répondre a des 2 questions:
- 1: les onglets sont fait automatiquement par le nom et le prénom
- 2: pour supprimer la cellule qui se trouve dans l'onglet "parametrage" sur la ligne
Le code pour charger les collaborateur fonctionnent bien.
le lien pour télécharger le programme : http://we.tl/CFszDg52T9
nom:ADMIN
Mot de passe: ADMIN