Sub transferer_ligne_tab_service_prio2_vers_prio1(num_ligne_supprimer)
'Cette routine copie une ligne du tableau priorite2,
'la rajoute dans le tableau priorite1
'Et finalement la supprime du tableau priorite2
'Par exemple, si un process est passé de prio2 à prio1 dans un autre tableau (listing),
' (le test sur le tableau listing est effectué dans une autre subroutine)
'la routine ci-après va supprimer la ligne du process
'dans le tableau priorite2 correspondant au process à changer de tableau
'et coller toutes les infos du process ds le tableau priorite1
'On entre en arguments: le n° de ligne à copier du tableau priorite2 à transférer
'ce n° de ligne est donné dans une autre sub
Dim tableau_priorite2 As Range
Dim tableau priorite1 As Range
Set tableau_priorite2 = Range("priorite2")
Set tableau_priorite1 = Range("priorite1")
Dim plage_numero_process_service_prio1 As Range
Set plage_numero_process_service_prio1 = Range("priorite1[N° process]")
fin_tab_av_service_prio1 = plage_numero_process_service_prio1.Rows.Count
If plage_numero_process_service_prio1(fin_tab_av_service_prio1) <> 0 Then
tableau_avancement_service_prio1.ListObject.ListRows.Add
fin_tab_av_service_prio1 = plage_numero_process_service_prio1.Rows.Count + 1
End If
'renvoie le n° de la ligne à remplir avec le process ds le tableau priorite1
'il s'agit en fait de la dernière ligne, vide, du tableau priorite1
'On copie colle les infos de la ligne à supprimer du tab_av_service_prio2 vers le tab_av_service_prio1
tableau_priorite1.ListObject.ListRows(fin_tab_av_service_prio1) = tableau_priorite2.ListObject.ListRows(num_ligne_supprimer)
' /!\ c'est ici que mon code bug..
' J'ai cherché à coder le fait que dans le tableau priorite1,
'la ligne fin_tab_av_service_prio1 dèu tableau priorite1 prenne les valeurs
'du tableau priorite2 à la ligne num_ligne_supprimer
'avec num_ligne_supprimer l'argument de ma fonction
'par exemple, sur le fichier excel joint
'si je veux supprimer le process n°5 du tableau priorite2
'num_ligne_supprimer=5
'et ce process se rajoute à la fin du tableau priorite1
'On supprime la plage de données du tab_av_service_prio2 à la ligne num_ligne_supprimer
'et on fait remonter les lignes en dessous
tableau_avancement_service_prio2.ListObject.ListRows(num_ligne_supprimer).Delete
'cette commdande ci-dessus marche, je l'ai trouvée sur des forums
'j'ai voulu utiliser la même "syntaxe" pour faire le copier coller au-dessus
End Sub