| |
Publicado em setembro, 09 2019 - 4:43 PM |
Bonjour Je souhaiterais supprimer les lignes vides dans une table obtenue par programmation et à partir d'un fichier excel.
Comment faire?
Merci |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.846 mensagems Popularité : +227 (347 votes) |
|
Publicado em setembro, 09 2019 - 5:00 PM |
Bonjour, Sans ton code d'import, ni ton code de remplissage, on ne peut pas faire grand chose pour toi. "Allô, docteur, j'ai mal à la cheville, c'est grave ?"
-- Il y a peut être plus simple, mais, ça tourneMensagem modificada, setembro, 09 2019 - 5:01 PM |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 09 2019 - 8:51 PM |
Bonsoir, En faite, ce n'est pas plus facile de supprimer les lignes vides de EXCEL avant d'importer ? |
| |
| |
| | | |
|
| | |
| |
Membro registado 874 mensagems Popularité : +39 (51 votes) |
|
Publicado em setembro, 10 2019 - 9:02 AM |
Bonjour,
Si on parle bien de table et non de fichier !!
Il est possible lors du remplissage de la table utiliser "FILTRAGE DES ENREGISTREMENTS xxxxxxxxxxxxxxxx". Ex au plus simple sur un champ issu d'une requete ( peut être sur un champ d'un fichier ) :
Si REQ_xxxx_champ1 = "" alors renvoyer faux
Sinon filtrer sur la requete d'origine, ou utiliser un filtre sur le fichier ... plein de solutions Christian
-- Christian - kick71Mensagem modificada, setembro, 10 2019 - 9:14 AM |
| |
| |
| | | |
|
| | |
| |
Membro registado 1.923 mensagems Popularité : +53 (65 votes) |
|
Publicado em setembro, 10 2019 - 9:27 AM |
Bonjour,
Code d'importation ?
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 10 2019 - 10:31 AM |
Bonjour,
Le plus simple d'importer les données Excel "brutes de fonderie" avec ses lignes vide. Puis de réaliser une boucle qui parcours toute la table en testant chaque colonne de chaque ligne.
i est un entier POUR i = 1 _A_ TableOccurrence(LaTable) SI LaTable.colonne1 = "" ET LaTable.colonne2 = "" ET LaTable.colonne3 = "" ALORS TableSupprime(Latable,i) FIN Multitâche() FIN
A chaque ligne parcourue si toutes les colonne sont vide alors elles peut être supprimée. C'est un traitement un peu plus long mais ainsi il est certain de ne supprimer que les enregistrements "stériles"...
Alain |
| |
| |
| | | |
|
| | |
| |
Membro registado 48 mensagems |
|
Publicado em setembro, 10 2019 - 5:25 PM |
Bonjour
Merci pour vos réponses. Voici le code :
Ce code supprime aussi des lignes non vides (pour l'instant le test se fait sur les colonnes 2 et 3 de la table)
Salutations |
| |
| |
| | | |
|
| | |
| |
Membro registado 165 mensagems Popularité : +12 (12 votes) |
|
Publicado em setembro, 10 2019 - 8:11 PM |
Bonjour; Votre code est à revoir, on ajoute les lignes dans la table s'il y a une information, pourquoi ajouter des lignes vides et ensuite les supprimer ?
Remarque concernant la suppression : la suppression d'une ligne dans un champ table déplace toutes les lignes qui suivent vers le haut.
avec la boucle ( POUR indice = ValeurMin _A_ ValeurMax ) si vous avez deux lignes à supprimer qui se suivent le résultat obtenu sera faux. car en supprimant la ligne Numéro "n" la ligne Numéro "n+1" la remplacera, mais notre indice s'incrémente. dans ce cas il est préférable d'inverser le parcours dans la boucle qui sera comme suit :
POUR indice = ValeurMax _A_ ValeurMin PAS -1
Bon Dev |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.846 mensagems Popularité : +227 (347 votes) |
|
Publicado em setembro, 10 2019 - 9:41 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 48 mensagems |
|
Publicado em setembro, 11 2019 - 8:42 AM |
Bonjour Merci pour vos réponses et votre aide. Malheureusement le changement de Vrai à Faux dans la fonction xlsxDonnées ne fait rien. Je ne vois pas comment ne pas créer de ligne lors quelles sont vides (pas trouvé ou placer le test). Le changement de sens de balayage de la boucle POUR (de valeur max à min au lieu de min à max) ne fait rien non plus.
|
| |
| |
| | | |
|
| | |
| |
Membro registado 165 mensagems Popularité : +12 (12 votes) |
|
Publicado em setembro, 11 2019 - 9:34 AM |
Bonjour; Pouvez vous nous simuler un exemple des entrées et sorties ? - la structure et données du fichier xsl - le résultat souhaité Bon Dev. |
| |
| |
| | | |
|
| | |
| |
Membro registado 48 mensagems |
|
Publicado em setembro, 12 2019 - 7:57 AM |
Bonjour,
Voici le fichier excel:
Voici l'extraction avant traitement:
Voici les données après traitement:
Ce qui me pose problème c'est les lignes vides que je n'arrive pas à supprimer lors de l'extraction (avec le code de mon message du 11/9). Le traitement et la conversion j'arrive à gérer. Il me restera le rajout de ligne dans la table après extraction (ça à l'air très compliqué mais pas critique de mon coté) et l'enregistrement du résultat en csv.
Merci pour votre aide |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.846 mensagems Popularité : +227 (347 votes) |
|
Publicado em setembro, 12 2019 - 9:02 AM |
Le test pour savoir si la ligne est vide se fait ... avant de commencer à parcourir la ligne.
Pour nLigneTraitée = 1 _A_ nLigneMax ALORS SI SansEsapce(xlsDonnée(XlsClasseurTraité,nLigneTraitée,1,Faux))<>"" ALORS FIN FIN
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Membro registado 351 mensagems Popularité : +13 (17 votes) |
|
Publicado em setembro, 12 2019 - 9:40 AM |
Bonjour, C'est sûr plutôt que d'enlever, le mieux est de ne pas ajouter !!. Perso je ferais cela :
sLigne_Colonnes est une chaîne POUR nLigneEXPRESS = nPremiereLigneEXPRESS _À_ nNbLignesEXPRESS - 2 sLigne_Colonnes = "" POUR nColonneExXPRESS = 1 À nNbColonnesEXPRESS sLigneEXPRESS = xlsDonnée(nIDficExpress,nLigneEXPRESS,nColonneExXPRESS,Vrai) sLigne_Colonnes += [TAB] + SansEspace(sLigneEXPRESS) FIN SI SansEspace(Remplace(sLigne_Colonnes,TAB,"")) = "" ALORS SINON TableAjouteLigne(TABLE_BON_ORIGINE,sLigne_Colonnes) FIN FIN |
| |
| |
| | | |
|
| | |
| |
Membro registado 48 mensagems |
|
Publicado em setembro, 12 2019 - 11:16 AM |
Merci beaucoup pour vos réponses Proposition de Voroltinquo : Merci beaucoup. Cela fonctionne
Proposition de LM Concept : En reprenant votre code, je n'ai pas réussi à l'utiliser correctement. Les donnees ne sont extraites que dans la 1ere colonne de la table.
|
| |
| |
| | | |
|
| | |
| |
Membro registado 351 mensagems Popularité : +13 (17 votes) |
|
Publicado em setembro, 12 2019 - 12:06 PM |
| |
| |
| | | |
|
| | |