Formule selon nom onglet

Bonjour à tous

Dans un classeur je créer des onglets selon les données (Feuil1) cellule de (a9 a a16) avec le bouton « Creer feuillllllll »

Cela fonctionne parfaitement

Dans la Feuil « Resultats » je mets les formule dans les emplacement que je souhaite avec le bouton « Formule »

Exemple de formule

Sheets("Resultats").Range("c6").Formula = "=nom_1_AA!B7"

Ce que je souhaite faire est de pourvoir remplacer le nom de l’onglet « nom_1_AA » par la valeur de la cellule A9

Vous allez me dire que c’est le même nom qui est dans la cellule A9 mais ce nom peut-être diffèrent que « nom_1_AA » avant la création des onglets

Merci pour votre aide

11classeur1.xlsm (48.89 Ko)

Bonjour

un peu modifié

à remodeler

pour l'onglet 'modele' qui bug un peu

crdlt,

André

Merci pour ta raiponce

Dans le code du bouton « Formule » j’ai actuellement le code

Private Sub CommandButton2_Click()
Sheets("Resultats").Range("c6").Formula = "=nom_1_AA!B7"
Sheets("Resultats").Range("c7").Formula = "=test_2_AA!B8"
Sheets("Resultats").Range("c8").Formula = "=voir_5_AA!B9"
Sheets("Resultats").Range("c9").Formula = "=soleil_1_AA!B10"

Sheets("Resultats").Range("d6").Formula = "=nom_1_BB!B7"
Sheets("Resultats").Range("d7").Formula = "=test_2_BB!B8"
Sheets("Resultats").Range("d8").Formula = "=voir_5_BB!B9"
Sheets("Resultats").Range("d9").Formula = "=soleil_1_BB!B10"

End Sub

Ce que je cherche à faire

Et de remplacer le nom de la feuille « nom_1_AA » par la valeur de la cellule A9

Mon code actuel

Sheets("Resultats").Range("c6").Formula = "=nom_1_AA!B7"

code que je souhaite

Sheets("Resultats").Range("c6").Formula= "(valeur de la cellule A9) !B7 "

Bonjour,

essai ceci

Sheets("Resultats").Range("c6").Formula = "=" & Range("A9").Value & "!B7"

Bonjour, Salut à tous !

Private Sub CommandButton1_Click()
    Dim ff, f%, i%
    ff = Worksheets("Feuil1").Range("A9:A16").Value
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For f = Worksheets.Count To 1 Step -1
        For i = 1 To UBound(ff)
            If Worksheets(f).Name = ff(i, 1) Then Worksheets(f).Delete: Exit For
        Next i
    Next f
    For i = 1 To UBound(ff)
        Worksheets("MODELE").Copy after:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = ff(i, 1)
    Next i
    Worksheets("Feuil1").Activate
End Sub

Private Sub CommandButton2_Click()
    Dim ff, i%, k%
    ff = Worksheets("Feuil1").Range("A9:A16").Value
    With Worksheets("Resultats").Range("C6:D9")
        For i = 1 To 4
            For k = 1 To 2
                .Cells(i, k).Formula = "=" & ff(i + k - 1, 1) & "!B" & i + 6
            Next k
        Next i
    End With
End Sub

J'ai un peu allégé !

Cordialement.

Re, bonjour

merci MFerrand

il faudra qu'un jour j'arrive à alléger et pourtant, je m'alimente qu'avec que du 0 à 5%

bonne journée

Merci pour ton travail

J’ai une question pour bien comprendre

With Worksheets("Resultats").Range("C6:D9")
 For i = 1 To 4
            For k = 1 To 2
                .Cells(i, k).Formula = "=" & ff(i + k - 1, 1) & "!B" & i + 6

For i correspond à quoi?

For K si je comprends cela veut dire commence à la colonne C jusqu'à D

Merci pour les explications

i est la variable pour les lignes et k pour les colonnes.

Elles s'appliquent à la plage C6:D9 : dans cette plage, C6 est .Cells(1, 1)... D9 est .Cells(4, 2)

Le reste résulte de calculs d'ajustements : i+k-1 renvoie l'index de ff (qui reprend les valeurs de A9:A16... et i+6 ajuste ta ligne ciblée dans la formule, ce qui permet d'utiliser des boucles et donc d'éviter l'énumération cellule par cellule !

Cordialement.

merci

Rechercher des sujets similaires à "formule nom onglet"