Coline6789
XLDnaute Nouveau
Hello le Forum,
Je désespère à force de ne pas trouver de solutions.
Voici mon problème : J'ai une macro VBA qui fonctionne très bien sous Excel sauf que je souhaite l'utiliser sous LibreOffice et évidemment la macro ne fonctionne plus : problème de compatibilité... J'ai essayer de corriger les variables mais rien n'y fait...
Quelqu'un s'y connait en conversion de macro Excel sous LibreOffice ?
Voici la macro Excel :
' déclaration des variables
Public Const Test As String = "Test.xlsm"
Sub MAJ_TEST()
With Workbooks(Test).Sheets("Extraction1")
.Activate
Dim plage1 As Range
Dim i As Range
Set plage1 = Workbooks(Test).Sheets("Extraction1").Range(Range("B2"), Range("B2").End(xlDown))
For Each i In plage1
'condition pour éviter une boucle infinie
If IsEmpty(i(1, 1)) = True Then Exit For
With Workbooks(Test).Sheets("Doc")
.Activate
'insert d'une ligne tout en haut
Rows("5:5").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'on enlève la couleur et le gras
Range("A5:I5").Select
Selection.Font.Color = RGB(0, 0, 0) 'écriture en noir
Selection.Interior.Pattern = xlNone
Selection.Font.Bold = False
Range("A5:I5").Borders.LineStyle = xlContinuous 'quadrillage
Cells(5, 1) = i(1, 1) 'donnée1
Cells(5, 2) = i(1, 3) 'donnée2
Cells(5, 3) = i(1, 5) 'donnée3
Cells(5, 4) = i(1, 9) 'donnée4
Cells(5, 5) = i(1, 10) 'donnée5
Cells(5, 6) = i(1, 11) 'donnée6
Cells(5, 7) = i(1, 15) 'donnée7
End With
Next i
End With
End Sub
Merci d'avance pour votre aide.
Bonne soirée
Je désespère à force de ne pas trouver de solutions.
Voici mon problème : J'ai une macro VBA qui fonctionne très bien sous Excel sauf que je souhaite l'utiliser sous LibreOffice et évidemment la macro ne fonctionne plus : problème de compatibilité... J'ai essayer de corriger les variables mais rien n'y fait...
Quelqu'un s'y connait en conversion de macro Excel sous LibreOffice ?
Voici la macro Excel :
' déclaration des variables
Public Const Test As String = "Test.xlsm"
Sub MAJ_TEST()
With Workbooks(Test).Sheets("Extraction1")
.Activate
Dim plage1 As Range
Dim i As Range
Set plage1 = Workbooks(Test).Sheets("Extraction1").Range(Range("B2"), Range("B2").End(xlDown))
For Each i In plage1
'condition pour éviter une boucle infinie
If IsEmpty(i(1, 1)) = True Then Exit For
With Workbooks(Test).Sheets("Doc")
.Activate
'insert d'une ligne tout en haut
Rows("5:5").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'on enlève la couleur et le gras
Range("A5:I5").Select
Selection.Font.Color = RGB(0, 0, 0) 'écriture en noir
Selection.Interior.Pattern = xlNone
Selection.Font.Bold = False
Range("A5:I5").Borders.LineStyle = xlContinuous 'quadrillage
Cells(5, 1) = i(1, 1) 'donnée1
Cells(5, 2) = i(1, 3) 'donnée2
Cells(5, 3) = i(1, 5) 'donnée3
Cells(5, 4) = i(1, 9) 'donnée4
Cells(5, 5) = i(1, 10) 'donnée5
Cells(5, 6) = i(1, 11) 'donnée6
Cells(5, 7) = i(1, 15) 'donnée7
End With
Next i
End With
End Sub
Merci d'avance pour votre aide.
Bonne soirée