_l_ours
XLDnaute Nouveau
Bonjour,
Désolé si le sujet a été traité mais je n'ai pas vraiment trouvé., j'ai fait quelques recherches et donc j'ai tenté d'adapter selon ce que j'ai trouvé sur ce forum mais y'a un bug dans ma macro.
Voilà ma problématique : je souhaite en cliquant sur un bouton ajouter des onglets selon une liste de nom d'une colonne (la colonne A par exemple) sachant que la liste de nom pourra évoluer selon les jours (et en terme de nom, et en terme de quantité de ligne remplies).
J'ai donc bidouillé ça en macro :
Sub bouton1_cliquer()
Dim nom, c As Range
For Each c In Range("A:A")
nom = c.Value
Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = nom
Next c
End Sub
Le problème est que je n'arrive pas à arrêter la création d'onglet à la dernière cellule remplie, et que ça me créé un onglet supplémentaire et que la macro se met en débogage (sachant que le débogage me signale la ligne "ActiveSheet.Name = nom").
Je suppose que le problème est dû au fait que la macro s'exécute sur toute la colonne A et cherche donc des cellules remplies sur toute la colonne (ma range), mais comment limiter celà aux uniques cellules renseignées ? (sachant que pour le moment j'ai entre 10 et 14 cellules qui peuvent être remplies, mais que ça peut évoluer).
Je vous joint le fichier test après l'exécution de la macro où vous pouvez constater l'onglet sans nom (le dernier).
merci d'avance pour votre aide
Désolé si le sujet a été traité mais je n'ai pas vraiment trouvé., j'ai fait quelques recherches et donc j'ai tenté d'adapter selon ce que j'ai trouvé sur ce forum mais y'a un bug dans ma macro.
Voilà ma problématique : je souhaite en cliquant sur un bouton ajouter des onglets selon une liste de nom d'une colonne (la colonne A par exemple) sachant que la liste de nom pourra évoluer selon les jours (et en terme de nom, et en terme de quantité de ligne remplies).
J'ai donc bidouillé ça en macro :
Sub bouton1_cliquer()
Dim nom, c As Range
For Each c In Range("A:A")
nom = c.Value
Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = nom
Next c
End Sub
Le problème est que je n'arrive pas à arrêter la création d'onglet à la dernière cellule remplie, et que ça me créé un onglet supplémentaire et que la macro se met en débogage (sachant que le débogage me signale la ligne "ActiveSheet.Name = nom").
Je suppose que le problème est dû au fait que la macro s'exécute sur toute la colonne A et cherche donc des cellules remplies sur toute la colonne (ma range), mais comment limiter celà aux uniques cellules renseignées ? (sachant que pour le moment j'ai entre 10 et 14 cellules qui peuvent être remplies, mais que ça peut évoluer).
Je vous joint le fichier test après l'exécution de la macro où vous pouvez constater l'onglet sans nom (le dernier).
merci d'avance pour votre aide