[Résolu][Calc] Compléter les lignes manquantes
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Membre OOrganisé
- Messages : 54
- Inscription : 04 déc. 2018 16:22
[Résolu][Calc] Compléter les lignes manquantes
Bonjour,
Pour "LibreOffice"
Jusque là, je n'ai pas trouvé de solution.
1) J'ai une station météo qui récupère les données de plusieurs sondes (Pression, température, humidité, vent, soleil).
2) Ces données, sont récupérées toutes les minutes par un logiciel : "Xnet_Meteo".
3) Les données récupérées par ce logiciel vont dans un fichier qui s'appelle : "Xnet_Meteo.csv
4) Tous les jours, je récupère donc 1440 données, pour un mois =44640 lignes.
5) MAIS, il y a (colonne B) des minutes qui n'apparaissent pas, donc, il manque des lignes complètes.
C'est ces lignes qu'il faut que j'ajoute , pas facile de les trouvées.
Je les trouvent avec la formule simple : =SI(B3-B2=100;"";"manque")
Quand la ligne est repérée, je copie soit celle d'avant ou celle d'après que j'insère entre les deux, et je change le texte de la colonne B.
Cette méthode est trop longue, pour une dizaine lignes, ça va, mais pour 1440 lignes par jour, c'est compliqué
Si vous pouviez m'aider, ça m'arrangerais
Merci
Cordialement
Pour "LibreOffice"
Jusque là, je n'ai pas trouvé de solution.
1) J'ai une station météo qui récupère les données de plusieurs sondes (Pression, température, humidité, vent, soleil).
2) Ces données, sont récupérées toutes les minutes par un logiciel : "Xnet_Meteo".
3) Les données récupérées par ce logiciel vont dans un fichier qui s'appelle : "Xnet_Meteo.csv
4) Tous les jours, je récupère donc 1440 données, pour un mois =44640 lignes.
5) MAIS, il y a (colonne B) des minutes qui n'apparaissent pas, donc, il manque des lignes complètes.
C'est ces lignes qu'il faut que j'ajoute , pas facile de les trouvées.
Je les trouvent avec la formule simple : =SI(B3-B2=100;"";"manque")
Quand la ligne est repérée, je copie soit celle d'avant ou celle d'après que j'insère entre les deux, et je change le texte de la colonne B.
Cette méthode est trop longue, pour une dizaine lignes, ça va, mais pour 1440 lignes par jour, c'est compliqué
Si vous pouviez m'aider, ça m'arrangerais
Merci
Cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par guy8572 le 06 déc. 2018 19:34, modifié 2 fois.
LibreOffice 7.6.2 sous Windows 11
-
- RespOOnsable modération
- Messages : 3929
- Inscription : 06 oct. 2008 08:03
Re: Compléter les lignes manquantes
Bonjour,
-
Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.
Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche. Avez-vous remarqué comment étaient les autres questions postées ?
Lisez ce fil pour savoir quelle balise utiliser : http://user.services.openoffice.org/fr/ ... html#27295
N'oubliez pas que le terme "Macro" ou "OpenOffice" ne doit pas être employé car il est implicite. Essayer de synthétiser au mieux ce que vous cherchez à faire.
Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.
Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé. - Vous avez illustré votre question avec des fichiers en provenance d'un site tiers. Or, souvent ces sites n'assurent aucune pérennité sur les données qu'ils hébergent.
C'est pour cela que nous préférerons que vous utilisiez notre service de pièce-jointe dont le lien est mentionné en bas lorsque vous écrivez votre message : -comment-joindre-un-fichier-sur-ce-forum.html
Veuillez corriger votre message en utilisant le bouton "Editer" (situé à droite) et en mettant en ligne votre fichier correctement.
Vous en remerciant par avance.
Pour tout savoir sur le fonctionnement de ce forum À lire avant tout !
-
- Membre OOrganisé
- Messages : 54
- Inscription : 04 déc. 2018 16:22
Re: [Calc]Compléter les lignes manquantes
Bonsoir
D'ailleurs, c'est bien plus simple comme ça.
Merci
Cordialement
Si je ne mets pas "LibreOffice", on ne peux pas savoir de quelle logiciel je parle ?N'oubliez pas que le terme "Macro" ou "OpenOffice"
Comme je ne suis pas habitué, effectivement, j'ai oublié (merci de l'avoir fait)Lisez ce fil pour savoir quelle balise utiliser
J'ai pourtant cherché, mais apparemment pas assez.Vous avez illustré votre question avec des fichiers en provenance d'un site tiers
D'ailleurs, c'est bien plus simple comme ça.
Merci
Cordialement
LibreOffice 7.6.2 sous Windows 11
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc]Compléter les lignes manquantes
Bonsoir
Les copies d'écran c'est bien mais ça ne remplace pas un fichier
Comme je n'ai pas le courage de recopier les données de la copie d'écran, un petit exemple à tester et à adapter à ton fichier. A+
Les copies d'écran c'est bien mais ça ne remplace pas un fichier
Comme je n'ai pas le courage de recopier les données de la copie d'écran, un petit exemple à tester et à adapter à ton fichier.
Code : Tout sélectionner
Global Valeur as Long,i as Long
Sub Main
Dim oDoc as Object, maFeuille as Object, oCurseur as Object, maZone as Object
Dim y as Long
oDoc = thisComponent
maFeuille = oDoc.CurrentController.ActiveSheet
oCurseur = maFeuille.createCursor
oCurseur.gotoEndOfUsedArea(False)
y = oCurseur.RangeAddress.EndRow
maZone = maFeuille.getCellRangeByPosition(1,0,1,y)
For i = UBound(maZone.DataArray) To 0 Step - 1
If i > 0 then
Valeur = maZone.dataArray(i - 1)(0)
If (maZone.dataArray(i)(0) - Valeur) > 100 Then
Trouver(maZone, maZone.dataArray(i)(0))
End If
End If
Next i
End Sub
Sub Trouver(Zone as Object,val)
Dim Cherche As Object, zSrc as Object, zDest as Object, maFeuille as Object
Dim trouv As Variant
Cherche = Zone.createSearchDescriptor
With Cherche
.SearchString = val
End With
trouv = Zone.findFirst(Cherche)
Zone.Rows.insertByIndex(trouv.CellAddress.Row,1)
maFeuille = thisComponent.CurrentController.ActiveSheet
zSrc = maFeuille.getCellRangeByPosition(trouv.CellAddress.Column -1,trouv.CellAddress.Row,trouv.CellAddress.Column,trouv.CellAddress.Row)
zDest = maFeuille.getCellRangeByPosition(trouv.CellAddress.Column -1,trouv.CellAddress.Row -1,trouv.CellAddress.Column,trouv.CellAddress.Row - 1)
zDest.DataArray = zSrc.DataArray
maFeuille.getCellByPosition(trouv.CellAddress.Column,trouv.CellAddress.Row - 1).Value = val - 100
End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre OOrganisé
- Messages : 54
- Inscription : 04 déc. 2018 16:22
Re: [Calc]Compléter les lignes manquantes
Bonjour,
Merci pour ta réponse.
J'ai essayé, mais rien ne fonctionne. J'avoue que je ne connais rien à "LibreOffice".
Voici une image du message que j'ai quand je veux exécuter la macro.
Que faut-il faire ?
Je ne vois pas ou est le code.
Voici mon fichier avec l'extension ods, alors que moi, je l'utilise avec l'extension csv.
Cordialement
Merci pour ta réponse.
J'ai essayé, mais rien ne fonctionne. J'avoue que je ne connais rien à "LibreOffice".
Voici une image du message que j'ai quand je veux exécuter la macro.
Que faut-il faire ?
Je ne vois pas ou est le code.
Voici mon fichier avec l'extension ods, alors que moi, je l'utilise avec l'extension csv.
Cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.2 sous Windows 11
-
- InconditiOOnnel
- Messages : 839
- Inscription : 10 janv. 2009 08:05
Re: [Calc]Compléter les lignes manquantes
Bonjour,
pour ton message d'erreur, lis ce tuto (jusqu'au bout) https://forum.openoffice.org/fr/forum/v ... 39&t=50996
pour trouver la macro fournie par Piaf avec son document, tu ouvres le doc et tu vas dans le menu Outils --> Macros --> Gérer les macros --> Libre Office basic... puis dans la boîte de dialogue, tu développes "guy8572.ods" et tu verras apparaitre la macro dans un éditeur de textes qui te permet de la modifier à volonté ou de la recopier dans un autre document.
Pour que les macros puissent s'exécuter, n'oublie pas de diminuer leur sécurité:
Outils --> Options développe "LibreOffice", clique sur "Sécurité" bouton "Sécurité des macros...." , clique sur "Niveau moyen", puis redémarre Libre Office.
A plus.
pour ton message d'erreur, lis ce tuto (jusqu'au bout) https://forum.openoffice.org/fr/forum/v ... 39&t=50996
pour trouver la macro fournie par Piaf avec son document, tu ouvres le doc et tu vas dans le menu Outils --> Macros --> Gérer les macros --> Libre Office basic... puis dans la boîte de dialogue, tu développes "guy8572.ods" et tu verras apparaitre la macro dans un éditeur de textes qui te permet de la modifier à volonté ou de la recopier dans un autre document.
Pour que les macros puissent s'exécuter, n'oublie pas de diminuer leur sécurité:
Outils --> Options développe "LibreOffice", clique sur "Sécurité" bouton "Sécurité des macros...." , clique sur "Niveau moyen", puis redémarre Libre Office.
A plus.
A jour de LibreOffice et de Ubuntu
-
- PassiOOnné
- Messages : 623
- Inscription : 09 août 2017 22:15
Re: [Calc]Compléter les lignes manquantes
hello,
voici ce que je te propose :
le principe :
1 - On copie toutes les données (plage nommée Data) de la feuille données (Données XNet-Meteo) dans une matrice (zdata) pour accélérer les traitements.
2 - On balaie les lignes dans la matrice
3 - Pour chaque ligne on l'écrit dans une nouvelle matrice (zdata2).
3 - Si la différence entre les temps de la ligne courante et celle de la ligne suivante est différente de 100 ou 24 heures (cas du passage à minuit) on considère qu'il y a un problème :
on duplique alors la ligne , on ajoute 1 minute au temps et on écrit cette nouvelle ligne dans la nouvelle matrice. On mémorise aussi la ligne posant problème dans un tableau (LignesLouches)
4 - A la fin du balayage, on met un marqueur sur les lignes posant problème et on affiche ces lignes dans une fenêtre d'avertissement.
5 - On copie la matrice de sortie dans la feuille 2 (Correction des données).
Voici le code :
Ami calmant, J.P
voici ce que je te propose :
le principe :
1 - On copie toutes les données (plage nommée Data) de la feuille données (Données XNet-Meteo) dans une matrice (zdata) pour accélérer les traitements.
2 - On balaie les lignes dans la matrice
3 - Pour chaque ligne on l'écrit dans une nouvelle matrice (zdata2).
3 - Si la différence entre les temps de la ligne courante et celle de la ligne suivante est différente de 100 ou 24 heures (cas du passage à minuit) on considère qu'il y a un problème :
on duplique alors la ligne , on ajoute 1 minute au temps et on écrit cette nouvelle ligne dans la nouvelle matrice. On mémorise aussi la ligne posant problème dans un tableau (LignesLouches)
4 - A la fin du balayage, on met un marqueur sur les lignes posant problème et on affiche ces lignes dans une fenêtre d'avertissement.
5 - On copie la matrice de sortie dans la feuille 2 (Correction des données).
Voici le code :
Code : Tout sélectionner
Sub CorrigerData()
Dim oDoc As Object, sh1 As Object, sh2 As Object
Dim zone As Object, Cible As Object
Dim zdata As Variant, zLigne As Variant
Dim x as integer,n as integer, DiffTemps as integer
Dim monTemps as date, monTempsSuivant as date
Dim LignesLouches(1000) As Integer
Dim AffLig As String
oDoc = ThisComponent
sh1 = oDoc.Sheets.getByName("Données XNet_Meteo")
sh2 = oDoc.Sheets.getByName("Correction des données")
zone = sh1.getCellRangeByName("Data")
zdata = zone.getDataArray
Dim zdata2((Ubound(zdata)+ 1000)) As Object
n=0
cplig = 0
On Error Goto ErrorHandler
for x = 0 to UBound(zdata) - 1
zdata2(n) = zdata(x)
rem monTemps = TimeValue(Format(zdata(x)(1),"00:00:00"))
rem monTempsSuivant = TimeValue(Format(zdata(x+1)(1),"00:00:00"))
rem DifTemps = DateDiff("s",monTemps,monTempsSuivant)
rem if DifTemps <> 60 and DifTemps<> -86340 then
monTemps = zdata(x)(1)
monTempsSuivant = zdata(x+1)(1)
DifTemps = monTempsSuivant - monTemps
if DifTemps <> 100 and DifTemps <> -235900 then
rem print x
LignesLouches(cplig) = x+2
cplig = cplig + 1
zligne = DuplicateArray(zdata(x))
zligne(1) = zligne(1) + 100
zdata2(n+1) = zligne
n=n+1
end if
n = n+1
next x
zdata2(n) = zdata(x)
For x=0 to cplig - 1
AffLig = Afflig + LignesLouches(x) + " "
sh1.getCellByPosition(1,LignesLouches(x)-1).CellBackColor = &HFFe7c6
Next x
print cplig & " Lignes louches :" & AffLig
redim preserve zdata2(n)
Cible = sh2.getCellRangeByPosition(0,1,Ubound(zdata(0)),n+1)
Cible.ClearContents(com.sun.star.sheet.CellFlags.VALUE + _
com.sun.star.sheet.CellFlags.DATETIME + _
com.sun.star.sheet.CellFlags.STRING)
Cible.setDataArray(zdata2)
Exit Sub
ErrorHandler:
print "Erreur à la ligne : " + x
End sub
Code : Tout sélectionner
Function DuplicateArray(Source)
Dim x as Integer
Dim Dupli(UBound(Source))
For x = 0 to Ubound(Source)
Dupli(x) = Source(x)
next x
DuplicateArray = Dupli
End Function
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
-
- ManitOOu
- Messages : 2668
- Inscription : 30 avr. 2009 04:54
- Localisation : CATALUNYA
Re: [Calc]Compléter les lignes manquantes
Bonsoir,
Préférant les codes compacts, je me permets d'interviens pour pondérer
Sur cette bécane qui n'est pas une bête de compétition, une quinzaine d'insertions (parmi 1431 lignes utiles) prend 140 systemTicks, soit moins d'une seconde. Par contre le code est plus compact
Préférant les codes compacts, je me permets d'interviens pour pondérer
Si le .csv ne contient qu'une journée, il a au plus 1440 lignes, qui peuvent se balayer directement dans la feuille sans gréver le temps de traitement.Jurassic Pork a écrit :hello,
1 - On copie toutes les données (plage nommée Data) de la feuille données (Données XNet-Meteo) dans une matrice (zdata) pour accélérer les traitements.
2 - On balaie les lignes dans la matrice
Sur cette bécane qui n'est pas une bête de compétition, une quinzaine d'insertions (parmi 1431 lignes utiles) prend 140 systemTicks, soit moins d'une seconde. Par contre le code est plus compact
Code : Tout sélectionner
Option Explicit
Sub Main
Dim oSheet AS Object, oCursor AS Object, aDatas()
Dim nRow AS Long, nRowMax AS Long, nColMax AS Long, nDelta AS Long
oSheet = thisComponent.Sheets.getByName("Données XNet_Meteo")
oCursor = oSheet.createCursor : oCursor.gotoEndOfUsedArea(False)
nRowMax = oCursor.RangeAddress.EndRow
nColMax = oCursor.RangeAddress.EndColumn
aDatas = oSheet.getCellRangeByPosition(1, 0, 1, nRowMax).DataArray
FOR nRow = nRowMax TO 1 STEP -1
nDelta = oSheet.getCellByPosition(1, nRow).Value - oSheet.getCellByPosition(1, nRow-1).Value
IF nDelta > 100 AND nDelta <> 4100 THEN
oSheet.Rows.insertByIndex(nRow, 1)
oSheet.getCellRangeByPosition(0, nRow, nColMax , nRow).setDataArray(oSheet.getCellRangeByPosition(0, nRow+1, nColMax , nRow+1).DataArray)
oSheet.getCellByPosition(1, nRow).Value = oSheet.getCellByPosition(1, nRow+1).Value - 100
' Pour repérer l'insertion, activer la ligne suivante
' oSheet.getCellByPosition(1, nRow).CellBackColor = 16776960
nRow = nRow+1
ENDIF
NEXT nRow
End Sub
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
-
- NOOuvel adepte
- Messages : 15
- Inscription : 06 juil. 2017 15:57
Re: [Calc]Compléter les lignes manquantes
Le fichier csv contient de 1 jour à 31 jours
Office Version 5.3.0.3 sous Windows 10
-
- NOOuvel adepte
- Messages : 15
- Inscription : 06 juil. 2017 15:57
Re: [Calc]Compléter les lignes manquantes
Le problème dans la macro, c'est qu'elle prend en compte (par exemple 125900 et 130000 (la différence est normal e) donc elle ne doit pas s'en occuper.
Office Version 5.3.0.3 sous Windows 10
-
- Membre OOrganisé
- Messages : 54
- Inscription : 04 déc. 2018 16:22
Re: [Calc]Compléter les lignes manquantes
Ça c'est fait.pour ton message d'erreur, lis ce tuto (jusqu'au bout) viewtopic.php?f=39&t=50996
LibreOffice 7.6.2 sous Windows 11
-
- Membre OOrganisé
- Messages : 54
- Inscription : 04 déc. 2018 16:22
Re: [Calc]Compléter les lignes manquantes
Je ne sait pas si ça peu aider ??, voici le code que j'ai si je récupère le fichier csv avec Excel (ça fonctionne).
Mais je ne peux pas le réenregistrer dans mon logiciel météo (il n'accepte les fichiers .csv que venant de "LibreOffice"
Là le fichier s'appel "Recuperation_des_données"
Mais je ne peux pas le réenregistrer dans mon logiciel météo (il n'accepte les fichiers .csv que venant de "LibreOffice"
Là le fichier s'appel "Recuperation_des_données"
Code : Tout sélectionner
ub Rétablir_LignesManquantes()
Dim lgn, n&, i&, j%, k%, t&, dt&
With Worksheets("Recuperation_des_donnees")
n = .Cells(.Rows.Count, 1).End(xlUp).Row
t = (.Cells(n, 2) \ 100) Mod 100 + (.Cells(n, 2) \ 10000) * 60
Application.ScreenUpdating = False
For i = n To 3 Step -1
t = (1440 + t - 1) Mod 1440
dt = (.Cells(i - 1, 2) \ 100) Mod 100 + (.Cells(i - 1, 2) \ 10000) * 60
If dt <> t Then
j = t - dt - 1: lgn = .Cells(i - 1, 1).Resize(, 62).Value
.Range(.Cells(i, 1), .Cells(i + j, 1)).EntireRow.Insert
For k = 0 To j
.Cells(i + k, 1).Resize(, 62).Value = lgn
.Cells(i + k, 2) = (((dt + k + 1) \ 60) * 100 + (dt + k + 1) Mod 60) * 100
Next k
t = dt
End If
Next i
End With
End Sub
La modération vous a écrit: 4 messages à la suite c'est 3 de trop.
Merci d'arrêter votre monologue. Vous disposez d'un bouton Éditer en haut à droite de chaque message et d'un autre bouton ajout si vous désirez ajouter un complément lorsqu'il n'y a pas de réponse.
LibreOffice 7.6.2 sous Windows 11
-
- IdOOle de la suite
- Messages : 25145
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc]Compléter les lignes manquantes
A priori, personne ne comprend rien à ce que tu exposes.guy8572 a écrit :il n'accepte les fichiers .csv que venant de "LibreOffice"
Mets donc en ligne ce CSV (que tu encapsuleras dans un ZIP) qu'on puisse comprendre.guy8572 a écrit :Les données récupérées par ce logiciel vont dans un fichier qui s'appelle : "Xnet_Meteo.csv
-
- Membre OOrganisé
- Messages : 54
- Inscription : 04 déc. 2018 16:22
Re: [Calc]Compléter les lignes manquantes
Bonjour,
Meilleurs vœux à tous.
Voici le fichier.
Ce fichier est créé par le logiciel "Xnet_Meteo".
Si j'ouvre ce logiciel plusieurs fois par jours (pour mettre à jours le logiciel météo "GraphWeather"), il manque des lignes.
Voir le lien de mon site:
meteofloralies.free.fr
Si je ne l'ouvre pas pendant plusieurs jours, il n'y a pas de lignes manquantes.
A part les 11 premières lignes (les mois précédents, voir colonne A (sauf pour 2019)), je dois replacer les lignes manquantes, en prenant, soit celles du dessus ou du dessous pour qu'il ne manque pas une minute (c'est ce que je fais tous les jours).
Je me demandais donc, si il était possible de le faire avec une macro.
Après avoir fait le remplacement, je formate la colonne B avec 6 chiffes, puis j'enregistre et je recommence le lendemain.
Par contre, il ne faut rien d'autre dans le fichier (pas de formules etc...).
Cordialement
Meilleurs vœux à tous.
Voici le fichier.
Ce fichier est créé par le logiciel "Xnet_Meteo".
Si j'ouvre ce logiciel plusieurs fois par jours (pour mettre à jours le logiciel météo "GraphWeather"), il manque des lignes.
Voir le lien de mon site:
meteofloralies.free.fr
Si je ne l'ouvre pas pendant plusieurs jours, il n'y a pas de lignes manquantes.
A part les 11 premières lignes (les mois précédents, voir colonne A (sauf pour 2019)), je dois replacer les lignes manquantes, en prenant, soit celles du dessus ou du dessous pour qu'il ne manque pas une minute (c'est ce que je fais tous les jours).
Je me demandais donc, si il était possible de le faire avec une macro.
Après avoir fait le remplacement, je formate la colonne B avec 6 chiffes, puis j'enregistre et je recommence le lendemain.
Par contre, il ne faut rien d'autre dans le fichier (pas de formules etc...).
Cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.2 sous Windows 11
-
- IdOOle de la suite
- Messages : 25145
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc]Compléter les lignes manquantes
Un nombre avec des zéros non significatifs est une vue de l'esprit.guy8572 a écrit :je formate la colonne B avec 6 chiffes
Si tu veux réellement avec cela lors de l'importation, il suffit de régler l'assistant en mettant ta colonne en Texte.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- PassiOOnné
- Messages : 623
- Inscription : 09 août 2017 22:15
Re: [Calc]Compléter les lignes manquantes
hello,
bonne année à tous :
avec la macro expliquée dans le message du 8 décembre de cette discussion voilà ce que j'obtiens concernant les lignes qui sont susceptibles de ne pas être bonnes dans ton fichier csv :
Edit : je n'ai traité que les 8000 premières lignes . La macro pour l'instant ne fonctionne pas avec 50000 lignes.
Voilà c'est corrigé en remplaçant les integer par des long dans ma macro :
et voilà toutes les lignes louches :
Ami calmant, J.P
bonne année à tous :
avec la macro expliquée dans le message du 8 décembre de cette discussion voilà ce que j'obtiens concernant les lignes qui sont susceptibles de ne pas être bonnes dans ton fichier csv :
Edit : je n'ai traité que les 8000 premières lignes . La macro pour l'instant ne fonctionne pas avec 50000 lignes.
Voilà c'est corrigé en remplaçant les integer par des long dans ma macro :
Code : Tout sélectionner
Dim oDoc As Object, sh1 As Object, sh2 As Object
Dim zone As Object, Cible As Object
Dim zdata As Variant, zLigne As Variant
Dim x as long,n as long, DiffTemps as long
Dim monTemps as date, monTempsSuivant as date
Dim LignesLouches(2000) As Long
Dim AffLig As String
oDoc = ThisComponent
sh1 = oDoc.Sheets.getByName("Données XNet_Meteo")
sh2 = oDoc.Sheets.getByName("Correction des données")
zone = sh1.getCellRangeByName("Data")
zdata = zone.getDataArray
Dim zdata2((Ubound(zdata)+ 2000)) As Object
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
-
- Membre OOrganisé
- Messages : 54
- Inscription : 04 déc. 2018 16:22
Re: [Calc]Compléter les lignes manquantes
Bonjour,
Merci pour vos réponses
Cordialement
Merci pour vos réponses
Cordialement
LibreOffice 7.6.2 sous Windows 11