Bonjour à tous,
Je suis un récent utilisateur de VBA mais j’essaie tant bien que mal de m’y mettre…et dieu c'est que c'est prenant
Je suis entrain de mettre en place un planning de gestion du personnel pour plusieurs unités
Voici ma problématique:
J’ai une colonne comportant des noms de personnel dans une feuille nommée « personnel » (cellules A13 à A47)
J’aimerai qu’une fois avoir saisie cette liste, pouvoir activer une macro permettant de copier l’ensemble des noms dans 12 onglets différents dans des cellules spécifiques (les unes en dessous des autres). Exemple : onglet 3 (janvier), cellule (A17) jusqu’à cellule (A51).
Les onglets correspondants aux mois.
Grosso modo, lorsque mon état du personnel changera, je pourrais alors par cette macro mettre à jour mes plannings mensuels en terme de personnels disponibles
Ensuite, j’aimerai que lorsque la saisie des noms s’arrête par exemple en A35 dans l’onglet « personnel », pouvoir masquer la ligne correspondante et les suivantes dans les onglets mensuels afin de ne pas alourdir les plannings pour rien et d’optimiser l’impression.
Je pourrais le faire en manuel mais ce fichier est destiné à un personnel débutant et je désire protéger le fichier au maximum et donc interdire le maximum de droit.
J’ai essayé de commencer avec la macro suivante :
Sub maj_personnel()
Dim n As Byte, i As byte
For n=3 to 14 ' feuille janvier à décembre
Sheets(n).Select
ActiveSheet.unprotect (mon password)
For i=17 to 51 ' les lignes
ActiveSheet.Range (A,i).Select
Selection.Character.Text=Sheets("personnel").Cells (i-4,1).Value ' correspond à la cellule A13
Next i
Activesheet.protect (mon password)
next n
Sheets ("personnel").Select
End Sub
Et bien sûr, cela ne marche pas, même si je crois ne pas être trop loin, en fin je pense.
Concernant, le fait de masquer les lignes en fonction de la valeur « » dans la liste initiale relève pour moi du mystère.
Merci vraiment pour votre aide et encore bravo pour la gestion de cette plateforme bourrée de solutions miracles.
Stéphane
Je suis un récent utilisateur de VBA mais j’essaie tant bien que mal de m’y mettre…et dieu c'est que c'est prenant
Je suis entrain de mettre en place un planning de gestion du personnel pour plusieurs unités
Voici ma problématique:
J’ai une colonne comportant des noms de personnel dans une feuille nommée « personnel » (cellules A13 à A47)
J’aimerai qu’une fois avoir saisie cette liste, pouvoir activer une macro permettant de copier l’ensemble des noms dans 12 onglets différents dans des cellules spécifiques (les unes en dessous des autres). Exemple : onglet 3 (janvier), cellule (A17) jusqu’à cellule (A51).
Les onglets correspondants aux mois.
Grosso modo, lorsque mon état du personnel changera, je pourrais alors par cette macro mettre à jour mes plannings mensuels en terme de personnels disponibles
Ensuite, j’aimerai que lorsque la saisie des noms s’arrête par exemple en A35 dans l’onglet « personnel », pouvoir masquer la ligne correspondante et les suivantes dans les onglets mensuels afin de ne pas alourdir les plannings pour rien et d’optimiser l’impression.
Je pourrais le faire en manuel mais ce fichier est destiné à un personnel débutant et je désire protéger le fichier au maximum et donc interdire le maximum de droit.
J’ai essayé de commencer avec la macro suivante :
Sub maj_personnel()
Dim n As Byte, i As byte
For n=3 to 14 ' feuille janvier à décembre
Sheets(n).Select
ActiveSheet.unprotect (mon password)
For i=17 to 51 ' les lignes
ActiveSheet.Range (A,i).Select
Selection.Character.Text=Sheets("personnel").Cells (i-4,1).Value ' correspond à la cellule A13
Next i
Activesheet.protect (mon password)
next n
Sheets ("personnel").Select
End Sub
Et bien sûr, cela ne marche pas, même si je crois ne pas être trop loin, en fin je pense.
Concernant, le fait de masquer les lignes en fonction de la valeur « » dans la liste initiale relève pour moi du mystère.
Merci vraiment pour votre aide et encore bravo pour la gestion de cette plateforme bourrée de solutions miracles.
Stéphane