Rajouter une formule a chaque feuille créer

maval

XLDnaute Barbatruc
Bonjour,

J'ai un code pour créer des feuilles suivant une liste qui se trouve "B4:B" qui fonctionne très bien.
J'aimerai lui apporter une modification en lui rajoutant une formule a chaque feuille créer.
En "F4" lui ajouter ceci "=NbShape()"

Mon code:
Code:
' Création onglet suivant liste
Sub creerFeuilles()
Dim curCell As Range
Set curCell = ThisWorkbook.Sheets("Accueil").Range("B4")
While curCell.Value <> vbNullString
    ThisWorkbook.Sheets.Add After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = curCell.Value & " " & curCell.Offset(0, 1).Value
    ThisWorkbook.Sheets("Accueil").Hyperlinks.Add Anchor:=curCell.Offset(0, 2), Address:="", SubAddress:= _
        "'" & ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name & "'!A1", TextToDisplay:="Acces à laFeuille"
    Set curCell = curCell.Offset(1, 0)
Wend
ThisWorkbook.Sheets("Accueil").Select
 
 'Récuperer le nom de l'onglet
 Dim f As Worksheet
     For Each f In Worksheets
     If f.Name <> "Accueil" Then
     f.Range("K1") = f.Name
       
         With f.Range("k1")
            ' .Borders.Weight = 3
             .Font.Bold = True
             .Font.Size = 18
             .Font.Italic = True
             .Font.Name = "Arial"
         End With
         End If
     Next

End Sub

Je vous remercie d'avance
 

Pièces jointes

  • Nbre de Shapes.xlsm
    122.5 KB · Affichages: 25
  • Nbre de Shapes.xlsm
    122.5 KB · Affichages: 27
  • Nbre de Shapes.xlsm
    122.5 KB · Affichages: 24

ERIC S

XLDnaute Barbatruc
Re : Rajouter une formule a chaque feuille créer

Bonjour Maval

avec l'enregistreur de macro, puis simplification en évitant les .select on obtient

Range("F4").FormulaR1C1 = "=shapes()"

a mettre peut-être dans ta boucle "récupérer le nom de l'onglet" car je pense que sur accueil tu ne voudras pas le faire
 

maval

XLDnaute Barbatruc
Re : Rajouter une formule a chaque feuille créer

Bonjour Eric,

Je te remercie sa fonctionne. Juste une question lorsque j'ajoute des Shapes je suis obligé d'activer la formules a chaque fois pour avoir le résultat. Peut pas ajouter un activate?

Merci beaucoup
 

ERIC S

XLDnaute Barbatruc
Re : Rajouter une formule a chaque feuille créer

Re

le problème est que cette action ne déclenche pas de calcul, donc ne remet pas à jour ta fonction

tu peux essayer le code suivant dans ta feuille Accueil

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub

il te suffit d'appuyer sur une flèche ou de cliquer n'importe où pour réactualiser

il y a sans doute des solutions moins barbares
 

Statistiques des forums

Discussions
312 321
Messages
2 087 260
Membres
103 498
dernier inscrit
FAHDE