Bonjour GVIALLES,
Franchement, vous êtes un dieu d'Excel !
Cela me donne envie de creuser plus car c'est vraiment très très puissant !
Merci beaucoup de votre aide !
PS : La colonne C correspond à quelque chose du document? Je vais jeter un oeil sur ton code vba pour corriger le numéro de page, car elle ne correspond pas avec l'extraction.
Ex : J'ai un rectangle /!\ en page 5 dans le pdf et le world qui une fois extrait est assigné à la page 4 dans le fichier Excel. Ce qui est faux.
Je vais aussi supprimer les "+" en début de colonne B mais aussi les lignes avec R1 R2 R3 RX et les "!" pour les mettre dans une colonne face à la ligne correspondante. Comme ci-dessous :
Pourrais-je abuser une dernière fois de ton aide?
Si j'ai bien compris le code, c'est ici que tu écris sur le fichier Excel
Select Case sZoneType
Case cZoneAttention
lPage = oShape.Anchor.Sections(1).Index + cFirstPage
lTop = i
For j = 1 To oShape.GroupItems.Count
Set oItem = oShape.GroupItems(j)
If oItem.TextFrame.HasText Then
If Len(sTexte) = 0 Then
sTexte = "! "
End If
sTexte = sTexte & oItem.TextFrame.TextRange.Text
End If
Next
Case cZoneRecommandation
lPage = oShape.Anchor.Sections(1).Index + cFirstPage
sTexte = oShape.TextFrame.TextRange.Text
lTop = i
If Left(sTexte, 1) <> "R" Then
sTexte = ""
Else
End If
Case cZoneRecommandationBis
lPage = oShape.Anchor.Sections(1).Index + cFirstPage
sTexte = "+ " & oShape.TextFrame.TextRange.Text
lTop = i
Case Else
sTexte = ""
End Select
If Len(sTexte) > 0 Then
addnewline sTexte, lPage, lTop
End If
Voir ici
Sub addnewline(zText As String, zPage As Long, zTop As Long)
Dim oSheet As Excel.Worksheet
Dim oCell As Excel.Range
lRow = lRow + 1
Set oSheet = ThisWorkbook.Worksheets(cSheetname)
Set oCell = oSheet.Cells(lRow, 1)
With oCell
.Value = zText
.WrapText = True
.Offset(, 1) = zPage
.Offset(, 1).VerticalAlignment = xlCenter
.Offset(, 1).HorizontalAlignment = xlCenter
.Offset(, 2) = zTop
End With
Set oSheet = Nothing
Set oCell = Nothing
End Sub
Pour le coup, le code est trop complexe pour moi et le modeler comme la photo ci-dessus va être compliqué pour mes petites compétences en vbs.