XL 2016 Modification Macro

  • Initiateur de la discussion Initiateur de la discussion gothc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gothc

XLDnaute Occasionnel
Bonjour le forum j'ai besoin de votre aide pour modifier cette Macro
' ajouter feuille vierge en fonction d'une liste contenu dans onglet recap
Sub Ajouter_Feuilles()
Dim J As Long
Dim Ws As Worksheet

Application.ScreenUpdating = False
Set Ws = ActiveSheet
For J = 3 To Ws.Range("B" & Rows.Count).End(xlUp).Row
If Not FeuilleExiste(Ws.Range("B" & J).Value) Then
Sheets("feuille vierge").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Ws.Range("B" & J)
Range("aw6") = ActiveSheet.Name ' Met le nom de la feuille dans la cellule D2
End If
Next J
Ws.Select
End Sub

'Si l'onglet existe déjà, il n'est pas créé
Function FeuilleExiste(Nom As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
On Error GoTo 0
End Function

avec cette macro j'ajoute des feuilles vierges( 180 à 200 onglets) en fonction d'une liste contenu dans onglet recap voir mon fichier j'ai un tableau récapitulatif dans feuille vierge je cherche à avoir le total dans le tableau voir exemple Merci de votre aide
 

Pièces jointes

Bonjour le forum,
Quel total tu veux récupérer ??
Si c'est le nombre de feuilles à l'exception de vierge et recap, alors,

tu crée une fonction dont le code est le suivant:

VB:
Function nbfeuilles() As Integer
nbfeuilles = ThisWorkbook.Worksheets.Count
End Function

et tu saisie la formule en BI20 comme suit : =nbfeuilles()-2
 
j'ai trouvé une formule qui fonctionne =SOMME('1:200'!BI20) mais je suis obligé de crée la 1er et dernière feuil je recherche plus une version fonction vba de plus je connais pas le nombre onglet que je vais devoir faire sniff
 
bonsoir j"ai trouvé avec cette fonction
Function SommeOnglet(c As Range)
Application.Volatile
t = 0
For s = 1 To Sheets.Count
If Val(Sheets(s).Name) > 0 Then
t = t + Sheets(s).Range(c.Address)
End If
Next s
SommeOnglet = t
End Function
dans la cellule =sommeonglet(BI20) etc
Bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
477
Réponses
4
Affichages
580
Réponses
2
Affichages
330
Réponses
10
Affichages
531
Réponses
7
Affichages
285
  • Question Question
Microsoft 365 Excel VBA
Réponses
5
Affichages
464
Retour