Gestion onglet (création/suppression) à partir d'une table

  • Initiateur de la discussion Initiateur de la discussion Pierrot75
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Pierrot75

Guest
Bonjour,
je tente de gérer la création/suppression d'onglets dans un fichier excel à partir d'un tableau contenant une liste de valeurs...

Par exemple je souhaite créer un onglet par personne figurant dans mon tableau d'entrée (onglet "Liste personnel"). Les onglets créés sont tous sur le même modèle (onglet "modèle").

La fonction de suppresion fonctionne bien. par contre, au niveau de la création je ne comprends pas trop ce qu'il se passe... je n'arrive pas à avoir autant d'onglet créés que voulu suivant les données d'entrée de la liste du personne.

Merci d'avance de votre aide.
 

Pièces jointes

Re : Gestion onglet (création/suppression) à partir d'une table

Bonsoir à tous


Fais cet ajout en début de code, et tu comprendras ce qui se passe 😉
Sub GestionOnglets()
Application.ScreenUpdating = False
Set listepersonnel = Sheets("ListePersonnel")
ligbd = 14
'test numéro de ligne renvoyé
MsgBox listepersonnel.Cells(ligbd, "A").End(xlDown).Row ' AJOUT
MsgBox listepersonnel.Cells(Rows.Count, "A").End(xlUp).Row 'AJOUT
 
Re : Gestion onglet (création/suppression) à partir d'une table

ok merci du coup de main. mais cela ne résout pas mon problème 🙁

Je ne comprends pas avec le code ci-dessous, la boucle s'arrete au bout des 2 premières lignes de la table d'entrée donc 2 onglets ajoutés et pas ceux d'après.

For j = ligbd To listepersonnel.Cells(Rows.Count, "A").End(xlUp).Row
If Cells(j, "D") = "" Then
Sheets("Modèle").Copy After:=Sheets(Sheets.Count)
NomAgent = listepersonnel.Cells(j, "A") ' Premier nom
ActiveSheet.Name = "F_" & NomAgent
Set fiche = Sheets("F_" & NomAgent)
fiche.Range("v5").Value = NomAgent
fiche.Range("d3").Value = listepersonnel.Cells(j, "B")
fiche.Range("v7").Value = listepersonnel.Cells(j, "C")
listepersonnel.Cells(j, "d") = "En cours"
End If
Next j
 
Re : Gestion onglet (création/suppression) à partir d'une table

Re


Je n'ai jamais dit que cela le résout mais cela l'explique 😉
A toi ensuite d'en tirer les conséquences
MsgBox listepersonnel.Cells(ligbd, "A").End(xlDown).Row
qu'affichait ce MsgBox chez toi ?
Sur mon PC: 1 048 576
(soit la dernière ligne de la feuille ! )
 
Re : Gestion onglet (création/suppression) à partir d'une table

effectivement, je m'étais trompé sur ce bout de code.
je l'ai remplacé par celui indiqué dans votre post: For j = ligbd To listepersonnel.Cells(Rows.Count, "A").End(xlUp).Row.
Cela me renvoie bien le n° de la dernière ligne de la colonne A complétée.

la difficulté est que la boucle fonctionne sur les 2 premières valeurs et me créée bien les 2 onglets correspondants. Après cela s'arrête pour une raison inconnue.
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

K
Réponses
2
Affichages
632
K
C
Réponses
4
Affichages
1 K
cecenico
C
J
Réponses
4
Affichages
840
P
Réponses
3
Affichages
726
punk_sportif
P
Retour