Bonjour,
J'utilise LibreOffice 7.1.6.2 sous Windows 10 Pro 21H1.
Dans une feuille de calcul, je dispose d'une plage de cellules allant de A1 à A24.
Chaque cellule contient soit une chaine de caractère vide, soit l'adresse d'une plage de cellules comme par exemple $E$201:$J$248.
Je souhaiterais parcourir la plage A1:A24 de façon à récupérer chacune des adresses.
Si la cellule est vide, on passe à la cellule suivante sans rien faire.
Dans le cas contraire, on récupère le contenu de la cellule et on l'ajoute au contenu de la cellule précédente séparé par un point virgule.
Au final, je récupère une zone comme par exemple $E$201:$J$248;$E$250:$J$299;$E$500:$J$549 que je souhaite définir comme étant ma nouvelle zone d'impression.
J'ai écrit ce bout de code mais ça ne me donne pas résultat attendu !
La macro plante sur la ligne : For Each item In ThisComponent.Sheets.GetByName("Feuille1").GetCellRangeByName("$A$1:$A$24")
Si quelqu'un peut me mettre sur la voie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub definitionZoneImpression Dim item As Object ziEncours = "" ziTotal = "" For Each item In ThisComponent.Sheets.GetByName("Feuille1").GetCellRangeByName("$A$1:$A$24") If item <> "" Then ziEncours = item ziTotal = ziTotal + ";" + item End If Next item End Sub
Je l'en remercie d'avance.
Fanolito
Partager