Bonjour,
J'ai un tableau de bord avec des noms de groupes, qui rassemblent des équipes. Je souhaite créer une macro qui ajoute quelqu'un , dans la bonne ligne, selon le groupe sélectionné.
Ainsi, je souhaite insérer automatiquement une ligne dans un tableau, dans le groupe choisi.
Voici ma macro (je vous joins un fichier teste également).
Sub insertion_ligne()
'Procédure pour insérer une ligne dans le tableau une fois qu'un nom de groupe a été trouvé'
Dim Cellule As Range
cat_groupe = InputBox("A quel groupe souhaitez-vous ajouter un membre ?")
'1-rechercher le nom du groupe dans la colonne Groupe, donc après la cellule B6 (40 est arbitraire)'
With Worksheets("test").ListObjects("Tableau_general")
Set Cellule = .ListColumns("Groupe").Range.Find(Range(cat_groupe), SearchDirection:=xlPrevious)
If Not Cellule Is Nothing Then
'recherche dans tableau de suivi de la dernière ligne correspondant à la catégorie produit et type produit sélectionné
Set cellule1 = Cellule
Do
i = cell.Row - .HeaderRowRange.Row 'numéro de ligne du tableau
'inserer une ligne en-dessous la dernière cellule de la catégorie de groupe concernée'
Set Cellule = .ListColumns("Groupe").Range.FindPrevious(Cellule)
'On intègre le nom du groupe dans la cellule'
Cellule.Value = Groupe
Loop Until cell.Address = cell1.Address 'On continue l'action tant que l'on rencontre une cellule de la catégorie du groupe pour que la cellule soit joutée en-dessous de la dernière'
Range(Cellule).EntireRow.Insert xlShiftDown
i = i + 1
.ListRows.Add i
.ListColumns("Groupe").DataBodyRange.Rows(i) = Range("MDB")
End If
End With
End Sub
Je vous remercie vivement,
Anna
J'ai un tableau de bord avec des noms de groupes, qui rassemblent des équipes. Je souhaite créer une macro qui ajoute quelqu'un , dans la bonne ligne, selon le groupe sélectionné.
Ainsi, je souhaite insérer automatiquement une ligne dans un tableau, dans le groupe choisi.
Voici ma macro (je vous joins un fichier teste également).
Sub insertion_ligne()
'Procédure pour insérer une ligne dans le tableau une fois qu'un nom de groupe a été trouvé'
Dim Cellule As Range
cat_groupe = InputBox("A quel groupe souhaitez-vous ajouter un membre ?")
'1-rechercher le nom du groupe dans la colonne Groupe, donc après la cellule B6 (40 est arbitraire)'
With Worksheets("test").ListObjects("Tableau_general")
Set Cellule = .ListColumns("Groupe").Range.Find(Range(cat_groupe), SearchDirection:=xlPrevious)
If Not Cellule Is Nothing Then
'recherche dans tableau de suivi de la dernière ligne correspondant à la catégorie produit et type produit sélectionné
Set cellule1 = Cellule
Do
i = cell.Row - .HeaderRowRange.Row 'numéro de ligne du tableau
'inserer une ligne en-dessous la dernière cellule de la catégorie de groupe concernée'
Set Cellule = .ListColumns("Groupe").Range.FindPrevious(Cellule)
'On intègre le nom du groupe dans la cellule'
Cellule.Value = Groupe
Loop Until cell.Address = cell1.Address 'On continue l'action tant que l'on rencontre une cellule de la catégorie du groupe pour que la cellule soit joutée en-dessous de la dernière'
Range(Cellule).EntireRow.Insert xlShiftDown
i = i + 1
.ListRows.Add i
.ListColumns("Groupe").DataBodyRange.Rows(i) = Range("MDB")
End If
End With
End Sub
Je vous remercie vivement,
Anna