Modifier code pour sommaire automatique
beneton
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
beneton Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
beneton Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un fichier avec plus de 100 onglets (feuilles)
pour mis retrouver, le premier onglet est le sommaire que je crée automatiquement grâce à une macro que j'ai trouvé et remodelé
cependant, la macro fonctionne que sur une liste de 50 et le reste passe en "N/A"
voici le code:
Sub reactualiser()
'
Dim i, j As Integer
Dim MENU(5 To 305, 1 To 1) As Variant
Dim FeuilleActive As String
i = 1
FeuilleActive = ActiveSheet.Name
For i = 1 To ThisWorkbook.Sheets.Count
If Sheets(i).Name <> "Menu" Then
Cells(i + 5, 2).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & Sheets(i).Name & "'!A1", TextToDisplay:=Sheets(i).Name
End If
Next
With ActiveWorkbook.Worksheets("sommaire").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
' mise en forme de la cellule "sommaire"
For Each x In Range("B6")
x.Value = UCase(x.Value)
Next
Range("B6").Select
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleSingle
.ThemeColor = xlThemeColorHyperlink
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
'
End Sub
est ce que quelqu'un voit où est le probléme SVP?
j'ai un fichier avec plus de 100 onglets (feuilles)
pour mis retrouver, le premier onglet est le sommaire que je crée automatiquement grâce à une macro que j'ai trouvé et remodelé
cependant, la macro fonctionne que sur une liste de 50 et le reste passe en "N/A"
voici le code:
Sub reactualiser()
'
Dim i, j As Integer
Dim MENU(5 To 305, 1 To 1) As Variant
Dim FeuilleActive As String
i = 1
FeuilleActive = ActiveSheet.Name
For i = 1 To ThisWorkbook.Sheets.Count
If Sheets(i).Name <> "Menu" Then
Cells(i + 5, 2).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & Sheets(i).Name & "'!A1", TextToDisplay:=Sheets(i).Name
End If
Next
With ActiveWorkbook.Worksheets("sommaire").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
' mise en forme de la cellule "sommaire"
For Each x In Range("B6")
x.Value = UCase(x.Value)
Next
Range("B6").Select
Selection.Font.Bold = True
With Selection.Font
.Name = "Calibri"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleSingle
.ThemeColor = xlThemeColorHyperlink
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
'
End Sub
est ce que quelqu'un voit où est le probléme SVP?
1 réponse
-
Bonjour,
Pour moi, ta macro fonctionne sur 150 onglets sans souci.
à tout hasard, en début de macro, je supprimerai les liens existantsActiveSheet.Hyperlinks.Delete
-
non ca ne marche pas avec cette ligne.
ca me supprime même la mise en forme
voila un fichier exemple si ca peut aider:
https://www.cjoint.com/c/GBkvZYQ13MG
je ne sais pas si il y a un rapport mais je suis sur excel 2007- Bonsoir,
C'est ta feuille qui a des erreurs et il faut les enlever.
Alors en début de macro tu mets cette ligneActiveSheet.Range("B7:B" & Cells(Rows.Count, "B").End(xlUp).Row).ClearContents
Ton classeur : https://www.cjoint.com/c/GBkwuGGhgll
-