Valeur Nom d'onglet dans cellule

Résolu
mf4706 Messages postés 8 Statut Membre -  
mf4706 Messages postés 8 Statut Membre -

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

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     

    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

    0
  2. mf4706 Messages postés 8 Statut Membre
     

    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

    0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     

    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

    0
    1. mf4706 Messages postés 8 Statut Membre
       

      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
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     

    De rien

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

    Cdlmnt

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

    Posez votre question
  6. mf4706 Messages postés 8 Statut Membre
     

    Ah ok merci, c'est fait...

    0