Sommaire avec condition

Bonjour à toutes et tous.

Grace à votre aide et cours mis à disposition sur ce site, j'ai énormément appris sur les possibilités d'Excel.

Cependant je bloque sur une opération :

j'ai trouvé une macro qui me permet de créer un sommaire et de classer les onglets par ordres alphabétique. elle fonctionne bien, MAIS, je souhaite quelle puisse "catégoriser" les onglets, qu'en fonction d'un mot clé elle fasse le sommaire en colonne E puis F, G....

Ici dans mon fichier, ce serait créer un sommaire pour les onglets "arbre" en colonne E et un sommaire pour les onglets "ballon" en F. J'ai beaucoup de mal avec les IF, ElseIF, Then donc je sollicite votre aide.

Bon courage

ci-joint un fichier anonymisé auquel j'ai supprimé pleins de macro inutile pour mon problème actuel.

Sub sommaire()
'ne pas afficher les onglets cachés

'trie les feuilles par ordre croissant
Dim i As Integer, J As Integer
For i = 4 To Sheets.Count 'pour débuter le tri à la feuille x remplacer For I = 1 par For I = x
For J = 4 To i - 1 'pour débuter le tri à la feuille x remplacer For J = 1 par For J = x
If UCase(Sheets(i).Name) < UCase(Sheets(J).Name) Then 'pour tri décroissant remplacer < par >
Sheets(i).Move before:=Sheets(J)
Exit For
End If
Next J
Next i

 Dim c As Range
Sheets("sommaire").Select
 Range("A1:E100").ClearContents
 ' ecrire sommaire du classeur en E1
 Sheets("sommaire").Range("E1").Value = "SOMMAIRE DU CLASSEUR"
 'depuis la feuille i = x à la fin
 For i = 3 To Sheets.Count
   nf = Sheets(i).Name
   nfcellule = Selection.Interior.ColorIndex
   'créer les liens hypertexte
   ActiveSheet.Hyperlinks.Add Anchor:=Cells(i - 2, 5), Address:="", SubAddress:="'" & _
        nf & "'" & "!A1", TextToDisplay:=nf
    ' case des liens de la couleur de l'onglet
      Cells(i - 2, 5).Interior.Color = Sheets(i).Tab.Color
      Next i

End Sub

Re bonjour,

Vu que j'y arrivais pas de cette manière et que depuis 3/4 jours je me démerde avec les userform. J'ai créer un petit userform permettant de filtrer par mot clé.

C'est le compromis que j'ai réussi à trouver.

Code de l'user forme pour filtrer par mot clé

Private Sub CommandButton1_Click()
If Controls("OptionButton1").Value = True Then
ActiveSheet.Range("$E$4:$E$140000").AutoFilter Field:=1, Criteria1:="=*arbre*" _
        , Operator:=xlAnd
ElseIf Controls("OptionButton2").Value = True Then
ActiveSheet.Range("$E$4:$E$140000").AutoFilter Field:=1, Criteria1:="=*ballon*" _
        , Operator:=xlAnd
End If
End Sub

J'ai une autre demande maintenant (peut etre dois je ouvrir un nouveau sujet ?) :

j'ai un code pour insérer la date de modification de la feuille (à chaque sauvegarde) en G1 sur la feuille.

Je souhaiterai que cette date (ou le G1 de la feuille) apparaisse dans la colonne F et non dans la colonne E

Code pour insérer la date de modification

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ActiveSheet.Range("G1").Value = "Dernière sauvergarde le " & Format(Now, "DD/MM/YY ") & " par " & Application.UserName
End Sub

Nouveau code sommaire avec datre de modif dans la meme colonne que le nom onglet

Sub sommaire()
'ne pas afficher les onglets cachés

'trie les feuilles par ordre croissant
Dim i As Integer, J As Integer
For i = 7 To Sheets.Count 'pour débuter le tri à la feuille x remplacer For I = 1 par For I = x
For J = 7 To i - 1 'pour débuter le tri à la feuille x remplacer For J = 1 par For J = x
If UCase(Sheets(i).Name) < UCase(Sheets(J).Name) Then 'pour tri décroissant remplacer < par >
Sheets(i).Move before:=Sheets(J)
Exit For
End If
Next J
Next i

 Dim c As Range
Sheets("sommaire").Select
 Range("A1:E100").ClearContents
 ' ecrire sommaire du classeur en E1
 Sheets("sommaire").Range("E1").Value = "SOMMAIRE DU CLASSEUR"
 'depuis la feuille i = x à la fin
 For i = 6 To Sheets.Count
   nf = Sheets(i).Name & " " & Sheets(i).[G1]
   nfcellule = Selection.Interior.ColorIndex
   'créer les liens hypertexte
   ActiveSheet.Hyperlinks.Add Anchor:=Cells(i - 3, 5), Address:="", SubAddress:="'" & _
        nf & "'" & "!A1", TextToDisplay:=nf
    ' case des liens de la couleur de l'onglet
      Cells(i - 3, 5).Interior.Color = Sheets(i).Tab.Color
Next i
Range("E3:E140000").Select
Selection.AutoFilter

End Sub
Rechercher des sujets similaires à "sommaire condition"