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

Pierrot75

XLDnaute Nouveau
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

  • Créa onglet.XLSM
    103.8 KB · Affichages: 37

Staple1600

XLDnaute Barbatruc
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
 

Pierrot75

XLDnaute Nouveau
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
 

Staple1600

XLDnaute Barbatruc
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 ! )
 

Pierrot75

XLDnaute Nouveau
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 édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 186
dernier inscrit
Eliyass