Changer le nom d'une feuille dans une cellule

12delphine.xlsm (156.76 Ko)

Bonjour,

Je suis en train de faire un fichier de suivi heure.

j'ai un classeur de 54 feuilles ( modèle, S1,S3,S4.........S53)

j'aimerais changer la valeur de la feuille dans la formule sur :

sur la feuille S2 en F2 ='S1'!G2+1

feuille S3 en F2 ='S2'!G2+1

feuille S4 en ='S3'!G2+1

etc sur les autres feuilles

Bonjour,

Navré, mais je ne comprends pas l'intérêt de faire 53 feuilles !?

Surtout que je suppose que les heures saisies devront être traitées par la suite ?

@+

Bonjour,

Un essai ... à placer dans un module ... exemple : "Module1" ...

Attention aux noms des feuilles ... entre autres : "Modéle" ou "Modèle" ...

Sub ModifieFormuleF2()
Dim Sh As Worksheet
Dim X As Byte

X = 1
For Each Sh In Worksheets
    If Sh.Name <> "Modéle" And Sh.Name <> "S1" Then
        Sh.Cells(2, "F").FormulaLocal = "='S" & X & "'!G2+1"
        X = X + 1
    End If
Next Sh
End Sub

ric

Bonjour,

Navré, mais je ne comprends pas l'intérêt de faire 53 feuilles !?

Surtout que je suppose que les heures saisies devront être traitées par la suite ?

@+

une feuille par semaine et un classeur par employé

les heures total de la semaine saisie par les employés seront récupérer un classeur ( responsable ).

Bonjour,

Un essai ... à placer dans un module ... exemple : "Module1" ...

Attention aux noms des feuilles ... entre autres : "Modéle" ou "Modèle" ...

Sub ModifieFormuleF2()

Dim Sh As Worksheet

Dim X As Byte

X = 1

For Each Sh In Worksheets

If Sh.Name <> "Modéle" And Sh.Name <> "S1" Then

Sh.Cells(2, "F").FormulaLocal = "='S" & X & "'!G2+1"

X = X + 1

End If

Next Sh

End Sub

ric

la feuille modèle sert à etre reproduite 53 fois

pour avoir les 53 semaine

je vias tester ta macro

merci Ric sa marche au top

Maintenant je vais tenter de comprendre

Bonjour,

Je reviens vers vous.

Car sur le classeur Elodie , Feuille S1 en F17 récupérer les infos du classeur Delphine , feuille S1 cellule F12 Feuille S1 en F18 récupérer les infos du classeur Jennifer, feuille S1 cellule F12 Feuille S1 en F19 récupérer les infos du classeur Aurore , feuille S1 cellule F12

idem avec les différentes feuilles S2...........S53 etc

car j'ai transposé a macro de RIc.

Mais rien ne fonctionne.

8jennifer.xlsm (255.06 Ko)
12aurore.xlsm (255.11 Ko)
8elodie.xlsm (255.86 Ko)
7delphine.xlsm (255.06 Ko)

Bonjour,

Il ne me reste qu'à faire les boucles ...

ric

Bonjour RIC...

Des Boucles?

Bonjour RIC...

Des Boucles?

Bonjour,

Oui, dans mes cheveux avec un ruban bleu ... ;- )))))))))))))

J'ai écrit "ne" et j'aurais dû écrire "ne me" ...

Il faut faire des boucles pour passer d'un fichier à l'autre >> puis, d'une feuille à l'autre ...

Le temps d'importation peut varier d'une machine à l'autre > attendre le message " Importation terminée ... !"

Il reste à tester avec des données ... les 4 fichiers doivent être dans le même dossier ...

Sub ImporterDonneesSansOuvrir()
Dim Chemin As String, Fichier As String
Dim TabWbook()
Dim Ws As Worksheet
Dim Wb

    Application.ScreenUpdating = False

    'A ADAPTER : ici adapter le chemin d'accès au répertoire contenant le fichier source des données
Chemin = ThisWorkbook.Path & "\"  ''''"C:\LesExcels\boonty77\"

    ReDim TabWbook(2)
    TabWbook(0) = "aurore.xlsm"
    TabWbook(1) = "delphine.xlsm"
    TabWbook(2) = "jennifer.xlsm"

    For Each Wb In TabWbook     ' pour chacun des noms dans le tableau
        Fichier = Wb

        For Each Ws In ThisWorkbook.Worksheets
            If Ws.Name <> "Modéle" Then    '''TabSheet(i) = Ws.Name

                'A ADAPTER : plage des données à importer
                ' ici, l'on parle de la cellule F12
                ThisWorkbook.Names.Add "plage", RefersTo:="='" & Chemin & "[" & Fichier & "]" & Ws.Name & "'!$F$12"

                ' temporaire pour l'importation de la donnée
                ThisWorkbook.Worksheets("S1").[A1] = "=plage"

                ' copier la valeur importer avec la formule
                ThisWorkbook.Worksheets("S1").[A1].Copy

                ' coller dans une cellule différente selon le nom du fichier
                If Fichier = TabWbook(0) Then Ws.Range("F17").PasteSpecial xlPasteValues
                If Fichier = TabWbook(1) Then Ws.Range("F18").PasteSpecial xlPasteValues
                If Fichier = TabWbook(2) Then Ws.Range("F19").PasteSpecial xlPasteValues

                ThisWorkbook.Worksheets("S1").[A1].Clear
            End If
        Next Ws
    Next Wb
    MsgBox " Importation terminée ... !"
End Sub

ric

Rechercher des sujets similaires à "changer nom feuille"