Bonjour, j'ai obtenu ce code et je l'ai modifié selon mon cas, mais j'ai trouvé des problèmes:
1- je voudrais effaces le contenu de plusieurs cellules en même temps, mais avec ce code, il efface seulement la dernière cellule
2- la cellule B3 est un format NUMERO donc la colonne A est en format NUMERO et marche bien.
3- La cellule B5 est un format DATE donc la colonne B est en format DATE et marche bien.
4- La cellule B7 et la cellule B9 sont en format texte donc la colonne C et D sont en format texte mais ne marche pas, si je tape « bonjour » il met « 0 ».
Comment je fais a gérer ces problèmes ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Private Sub CommandButton1() Dim monDocument As Object, lesFeuilles As Object Dim maFeuille1 As Object, maFeuille2 As Object, maCellule As Object Dim ligneFin As Integer monDocument = ThisComponent lesFeuilles = monDocument.Sheets maFeuille1 = lesFeuilles.getByName("DATI") maFeuille2 = lesFeuilles.getByName("SCHEDA") 'Récupère la dernière position de la feuille positionFin = maFeuille1.createCursor positionFin.gotoEndOfUsedArea( False ) ligneFin = ligneFin + positionFin.RangeAddress.EndRow + 2 'Ajoute la donnée maFeuille1.getCellRangeByName("A" & ligneFin ).value = maFeuille2.getCellRangeByName("B3").value maFeuille1.getCellRangeByName("B" & ligneFin ).value = maFeuille2.getCellRangeByName("B5").value maFeuille1.getCellRangeByName("C" & ligneFin ).value = maFeuille2.getCellRangeByName("B7").value maFeuille1.getCellRangeByName("D" & ligneFin ).value = maFeuille2.getCellRangeByName("B9").value 'Efface le contenu de la cellule maCellule = maFeuille2.getCellRangeByName("B3") maCellule = maFeuille2.getCellRangeByName("B5") maCellule = maFeuille2.getCellRangeByName("B7") maCellule = maFeuille2.getCellRangeByName("B9") contenu = com.sun.star.sheet.CellFlags.VALUE + com.sun.star.sheet.CellFlags.STRING maCellule.clearContents(contenu) end sub
Partager