si tu peux me le commenter.
colN = ListBox1.ListIndex * 2 + 32
ColN me donne le numéro de la colonne dans laqulle se trouve, sur la feuille ‘’Param’’ le service que j’ai choisi dans la listbox1.
Exemple :
Je choisis ‘’Agent DBA’’ dans la boite de dialogue.
Donc, c’est le 2° item de la listbox1 et la valeur de LisBox1.ListIndex vaut 1 car on commence à compter les items à partir de zéro.
Et donc colN vaux 1 * 2 + 32 ce qui donne 34 : c’est bien la colonne de la feuille ‘’Param’’ où se trouve la liste des noms des agents qui appartiennent au service DBA.
If nbAg > dercol - 3 Then
Columns(dercol).Copy
Range(Columns(dercol + 1), Columns(nbAg + 3)).PasteSpecial xlPasteFormats
dercolN = nbAg + 3
Dercol représente le numéro de la dernière colonne à droite où on trouve des noms sur la ligne 1 de la feuille Cal.
nbAg représente le nombre d’agents que l’on va retrouver au final sur le tableau et nbAg + 3 sera donc le numéro de la nouvelle dernière colonne à droite.
Donc, si nbAg > derCol +3, cela veut dire qu’on est dans le cas où il faut ajouter des colonnes. Pour cela, on copie la dernière colonne actuelle et on fait un collage spécial format sur les suivantes, jusqu’à la future dernière colonne, afin de conserver les mêmes formats de cellules.
Si on a nbAg < derCol +3 cela veut dire qu’on aura moins d’agent qu’il n’y en a au départ : on doit donc supprimer des colonnes.
OK ?
Bye !