Je voudrais vous suggérer un code VBA, qui transposera le tableau de données copié du PDF vers Excel.
Suivez les étapes écrites ci-dessous.
- Copier les données de la table à partir du fichier PDF.
- Coller dans une colonne de la feuille Excel.
- Exécutez le code VBA.
Vérifiez la capture d'écran.
Private Sub CommandButton1_Click()
Dim xLRow As Long
Dim xNRow As Long
Dim i As Long
Dim xUpdate As Boolean
Dim xRg As Range
Dim xOutRg As Range
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select Data Range(only one column):", "Transpose to Excel", xTxt, , , , , 8)
Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
If xRg Is Nothing Then Exit Sub
If (xRg.Columns.Count > 1) Or _
(xRg.Areas.Count > 1) Then
MsgBox "Used range only contain one column", , "Transpose to Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("Select output range(specify one cell):", "Transpose to Excel", xTxt, , , , , 8)
If xOutRg Is Nothing Then Exit Sub
Set xOutRg = xOutRg.Range(1)
xUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
xLRow = xRg.Rows.Count
For i = 1 To xLRow Step 3
xRg.Cells(i).Resize(3).Copy
xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
xNRow = xNRow + 1
Next
Application.ScreenUpdating = xUpdate
End Sub
NB : Les données que j'ai utilisées pour TESTER le code ont 3 colonnes (valeur de la couleur ROUGE), de sorte qu'avec boucle for Step & Resize la valeur est de 3. Vous changez en fonction de votre structure de données.
J'espère que cela vous aidera.