Nouvel utilisateur de LibreOffice, j'évalue la possibilité de convertir des workbook MS-Excel (2016) comportant des macros en ODS pour les utiliser dans SCALC et pas mal de choses fonctionnent, parfois moyennant de petites corrections. Quand quelque chose ne fonctionne pas, je l'isole dans un petit programme test où je simplifie tout pour essayer de comprendre ce qui ne va pas.
J'ai ainsi pu progresser rapidement, mais je bute sur ceci: il s'agit de 5 lignes de la Feuille2 vers la Feuille1 en faisant un copier/coller des lignes entières:
Code : Tout sélectionner
Option VBASupport 1
Sub Copie_cellule
Sheets("Feuille2").Select
With Sheets("Feuille1")
For r = 1 to 5
Rows(r).Copy
.Rows(r).PasteSpecial Paste:=xlPasteAll
Next
End With
End Sub
Il faut toujours un peu de temps pour s'habituer à un nouvel outil et je passe peut-être à côté de quelque chose d'important, d'où ma question sur ce forum. Merci d'avance à qui pourra m'aider à progresser.
Update: après quelques essais, j'ai vu que le problème peut être contourné en sélectionnant au préalable la ligne à copier et en effectuant la copie à travers cette sélection plutôt que par adressage direct. Le code ci-dessous illustre le problème.
Code : Tout sélectionner
Option VBASupport 1
Sub Copie_cellule
Sheets("Feuille2").Select
With Sheets("Feuille1")
For r = 1 to 5
Sheets("Feuille2").Rows(r).Select
Selection.Copy
.Rows(r).PasteSpecial Paste:=xlPasteAll
Next
For r = 5 to 10
Sheets("Feuille2").Rows(r).Copy
.Rows(r).PasteSpecial Paste:=xlPasteAll
Next
end with
End Sub
L1 C1 L1 C2 L1 C3 L1 C4 L1 C5
L2 C1 L2 C2 L2 C3 L2 C4 L2 C5
L3 C1 L3 C2 L3 C3 L3 C4 L3 C5
L4 C1 L4 C2 L4 C3 L4 C4 L4 C5
L5 C1 L5 C2 L5 C3 L5 C4 L5 C5
L5 C1 L5 C2 L5 C3 L5 C4 L5 C5
L5 C1 L5 C2 L5 C3 L5 C4 L5 C5
L5 C1 L5 C2 L5 C3 L5 C4 L5 C5
L5 C1 L5 C2 L5 C3 L5 C4 L5 C5
L5 C1 L5 C2 L5 C3 L5 C4 L5 C5