Valeur Nom d'onglet dans cellule

Résolu/Fermé
mf4706 Messages postés 7 Date d'inscription mercredi 9 novembre 2022 Statut Membre Dernière intervention 30 juin 2024 - 20 nov. 2022 à 17:09
mf4706 Messages postés 7 Date d'inscription mercredi 9 novembre 2022 Statut Membre Dernière intervention 30 juin 2024 - 21 nov. 2022 à 21:16

Bonjour à toutes et à tous,

je me suis créer une macro pour recopier un bulletin autant de fois qu'il y a d'élèves.

Les cases de points de ce bulletin font référence dans la cellule i1 au numéro de l'élève : e1 e2 e3....

La macro crée un onglet pour chacun qui est incrémenté : onglet e1, e2,e3,...

J'ai mis dans la cellule i1  la formule : "'=STXT(CELLULE("nomfichier");TROUVE("]";CELLULE("nomfichier"))+1;20)"

Sauf que évidemment les référence à i1 attendent la valeur et non la formule : comment faire ??

Je mets ci-dessous le niveau où j'en suis...

Merci d'avance

Sub CreerUnOngletParBull()

    Dim I As Long
    Dim Nombre As Integer
    Dim NomOnglet As String
    Dim xActiveSheet As Worksheet
    On Error Resume Next
    Application.ScreenUpdating = False
    Set xActiveSheet = ActiveSheet
    Nombre = InputBox("Entrez le nombre d'élèves")
    For I = 1 To Nombre
        NomOnglet = ActiveSheet.Name
        xActiveSheet.Copy After:=ActiveWorkbook.Sheets(NomOnglet)
        ActiveSheet.Name = "e" & I
        
    Next
    xActiveSheet.Activate
    Application.ScreenUpdating = True
End Sub


Windows / Chrome 107.0.0.0

5 réponses

ccm81 Messages postés 10866 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 juillet 2024 2 412
20 nov. 2022 à 20:46

Bonjour

Pas très clair. Peux tu envoyer un bout de ton fichier sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans http://cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
   en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".

Cdlmnt

mf4706 Messages postés 7 Date d'inscription mercredi 9 novembre 2022 Statut Membre Dernière intervention 30 juin 2024
20 nov. 2022 à 21:30

https://www.cjoint.com/c/LKuuq4M7tiJ

je suppose que c'est bon le lien ?

la macro en cours de construction est CreerUnOngletParBull

Cette macro demande combien d'onglets créer (1 par élève) et les nomme e1,e2, e3,... 

Pour que les points soient reliés dans le bulletin à l'élève concerné mes formules font une recherche sur le contenu de la cellule "i1" dans laquelle devrait se trouver le numéro de l'élève (e1, e2,...). J'ai nommé mes onglets exprès du num de l'élève et je pensais recopier ce nom dans la cellule "i1"
Il faudrait donc je pense y copier la valeur du nom de l'onglet et non pas une formule... 

Merci d'avance

ccm81 Messages postés 10866 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 juillet 2024 2 412
21 nov. 2022 à 11:28

Pas tout compris, mais un essai pour fabriquer les onglets élèves et mettre le nom en I1

Public Const FBV = "Bulletin Virgi"
Public Const celnom = "I1"

Sub CreerUnOngletParBull()
    Dim I As Long
    Dim Nombre As Integer
    Dim SheetBV As Worksheet
    Application.ScreenUpdating = False
    Set SheetBV = Sheets(FBV)
    Nombre = InputBox("Entrez le nombre d'élèves")
    SheetBV.Copy After:=ActiveWorkbook.Sheets(FBV)
    ActiveSheet.Name = "e1"
    If Nombre = 1 Then Sheets(FBV).Activate: Exit Sub
    For I = 2 To Nombre
        SheetBV.Copy After:=ActiveWorkbook.Sheets("e" & I - 1)
        ActiveSheet.Name = "e" & I
        ActiveSheet.Range(celnom).Value = "e" & I
    Next
    Sheets(FBV).Activate
End Sub

Cdlmnt

mf4706 Messages postés 7 Date d'inscription mercredi 9 novembre 2022 Statut Membre Dernière intervention 30 juin 2024
21 nov. 2022 à 17:11

Je vous dois un grand merci, c'est exactement ce que j'attendais !

Je vais maintenant aller voir les commandes que vous avez passées pour comprendre et donc m'instruire (il n'est jamais trop tard pour apprendre (75)) 

Encore merci et passez une belle soirée

0
ccm81 Messages postés 10866 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 juillet 2024 2 412
21 nov. 2022 à 20:59

De rien

Si c'est fini, merci de mettre le sujet à résolu, en haut dans ton premier post (les 3 petits points)

Cdlmnt

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mf4706 Messages postés 7 Date d'inscription mercredi 9 novembre 2022 Statut Membre Dernière intervention 30 juin 2024
21 nov. 2022 à 21:16

Ah ok merci, c'est fait...