bonjour,
suite au sujet sur la compilation des infos par une macro,
j'ai remarqué que celle ci semblait fonctionner correctement ( pas fait encore les test avec plusisuers dizaine d'onglet )
aussi, j'ai remarquer un "bug" quand la feuille est protégé
j'ai remarquer qu'il exisster des sujets similaires
ma feuille étant protégé mais sans mdp
est il possible d'adapter la macro pour bypass la protection de celle ci ?
attention, elle doit remettre la protection à la fin de l'action
suite au sujet sur la compilation des infos par une macro,
j'ai remarqué que celle ci semblait fonctionner correctement ( pas fait encore les test avec plusisuers dizaine d'onglet )
aussi, j'ai remarquer un "bug" quand la feuille est protégé
j'ai remarquer qu'il exisster des sujets similaires
ma feuille étant protégé mais sans mdp
est il possible d'adapter la macro pour bypass la protection de celle ci ?
attention, elle doit remettre la protection à la fin de l'action
VB:
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