Sub ExtraireNomsEtValeurs()
Dim targetSheet As Worksheet
Set targetSheet = ThisWorkbook.Sheets("Synthese")
Dim lastRow As Long
lastRow = 3 ' A adapter en fonction de la première ligne de départ.
Dim ws As Worksheet
' Ajout : j'ai bien vu l'emplacement pour ignorer les feuilles mais je ne sais pas comment le saisir
Dim FeuillesIgnorées As Variant
Dim FeuilleTrouvée As Boolean
Dim i As Integer
' Liste des feuilles à ignorer
FeuillesIgnorées = Array("Data", targetSheet.Name, "TCD")
' Tu peux ajouter d'autres noms ici exemple :
' FeuillesIgnorées = Array("Data", targetSheet.Name, "TCD","Feuil5","Feuil9")
With targetSheet
For Each ws In ThisWorkbook.Worksheets
FeuilleTrouvée = False
' Vérifie si la feuille est dans la liste des feuilles à ignorer
For i = LBound(FeuillesIgnorées) To UBound(FeuillesIgnorées)
If ws.Name = FeuillesIgnorées(i) Then
FeuilleTrouvée = True
Exit For
End If
Next i
' Si la feuille n'est pas à ignorer, traiter les données
If Not FeuilleTrouvée Then
.Cells(lastRow, 1).Value = ws.Name & " ---> [Dos N° " & ws.Range("H1").Value & "]"
.Cells(lastRow, 2).Value = ws.Range("B2").Value ' ***
.Cells(lastRow, 3).Value = ws.Range("B3").Value ' ***
.Cells(lastRow, 4).Value = ws.Range("B4").Value ' ***
.Cells(lastRow, 5).Value = ws.Range("B5").Value ' ***
.Cells(lastRow, 6).Value = ws.Range("D2").Value ' ***
.Cells(lastRow, 7).Value = ws.Range("D3").Value ' ***
.Cells(lastRow, 8).Value = ws.Range("D4").Value ' ***
.Cells(lastRow, 9).Value = ws.Range("D5").Value ' ***
.Cells(lastRow, 10).Value = ws.Range("J3").Value ' ***
.Cells(lastRow, 11).Value = ws.Range("L3").Value ' ***
.Cells(lastRow, 12).Value = ws.Range("L5").Value ' ***
.Cells(lastRow, 13).Value = ws.Range("J5").Value ' ***
.Cells(lastRow, 14).Value = ws.Range("O2").Value ' ***
.Cells(lastRow, 15).Value = ws.Range("O3").Value ' ***
.Cells(lastRow, 16).Value = ws.Range("O4").Value ' ***
.Cells(lastRow, 17).Value = ws.Range("O5").Value ' ***
.Cells(lastRow, 18).Value = ws.Range("N6").Value ' ***
.Cells(lastRow, 20).Value = ws.Range("E3").Value ' Intitulé rapide
.Cells(lastRow, 21).Value = ws.Range("E5").Value ' Commentaire
' Création des liens
.Hyperlinks.Add Anchor:=.Cells(lastRow, 1), Address:="", SubAddress:="'" & ws.Name & "'!A1", TextToDisplay:=.Cells(lastRow, 1).Value
ws.Hyperlinks.Add Anchor:=ws.Range("A1:G1"), Address:="", SubAddress:="Synthese!A" & lastRow, TextToDisplay:="Dossier N°"
lastRow = lastRow + 1
End If
Next ws
End With
End Sub