suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
#1
Aspirant XLPages

Inscription: 02/05/2010

Messages: 21

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 05-05-2010 20h01
n'ayant pas de connaissances en VB et Macros, comment puis-je faire pour eliminer les lignes avec  des cellules vides ou nulle'(s) dans une table  donnée B6 N500    en XL2003 et quelle difference entre XL2003 et 2007 si la table est assez grande et ne tiens pas dans xl2003
Merci ..
Hors Ligne
Rapport   Haut 

Re: suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
#2
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 05-05-2010 20h31
Bonjour ali08,

Si je comprends bien tu disposes d'une plage rectangulaire où, ça et là, des lignes vides sont présentes.
Questions :
  1. Comment est alimentée cette plage?
  2. Pourquoi y a-t-il des lignes vides?
  3. De combien d'enregistrements (lignes) penses-tu avoir besoin au total? Plus de 65 536? Vraiment?
  4. Peux-tu fournir un classeur exemple?
Une plage de données correctement constituée n'a en général aucune ligne vide, d'où les questions précédentes.

Donc petit classeur et nous aviserons pour la procédure de nettoyage de cette plage.

Cordialement,

Guy

Hors Ligne
Rapport   Haut 

suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
#3
Aspirant XLPages

Inscription: 02/05/2010

Messages: 21

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 05-05-2010 23h31
JE REFORMULE ma question

1-avec une table assez volumineux  plage B6:N500000 ayant des cellules vides ou nulles comment faire pour eliminer les lignes contenant au moins un zéro ou vide (s)
  NB : ma table étant importé d'un fichier txt et elle           contient plus de 65000 lignes, avec XL2003          j'importe par paquet (-65000 lignes).

2-la macro ou la formule serait elle la meme en vue d'une eventuelle utilisation sur XL2007 quant l'occasion se presentera.

Merci de votre aide.
Hors Ligne
Rapport   Haut 

Re: suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
#4
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 06-05-2010 00h23
Bonjour ali08,

Quelques précisions pour commencer. Il est d'usage et tout à fait séant de joindre aux échanges sur ce forum et dans bien d'autres (tous ceux que je connais tant en Anglais qu'en Français) quelques formules de politesses élémentaires comme Bonjour, Cordialement, etc et aussi de signer ses messages avec son pseudonyme. Il me semblerait indiqué que tu te plies à cette pratique fort prisée et très rudimentaire. Aussi, il est assez mal avisé d'écrire en capitales. LE LECTEUR A L'IMPRESSION QU'ON VOCIFÈRE À TOUT VA! Alors qu'il n'en est rien.

Voilà pour les précisions.

Donc plus de 65 535 lignes. Évidemment pour éviter les importations par paquets Excel 2007 avec ses 2^20 (1 048 576) lignes s'impose.

Si je lis bien
Citation :

la macro ou la formule serait elle la meme en vue d'une eventuelle utilisation sur XL2007 quant l'occasion se presentera

tu comptes poursuivre avec Excel 2003 et importer des paquets de taille convenable pour la version 2003. Bien, mais réfléchissons un peu... Une fois ces données importées, la plage comporte de nombreuses lignes vides. Humm... et si au lieu d'importer du vide on s'en débarrassait? La question est pertinente. En effet pourquoi faire après ce qu'on peut faire avant? Nous voici donc avec plusieurs possibilités :

  1. Importation telle quelle en Excel 2003 et montage d'une procédure de nettoyage des lignes vides ou ne portant que un (ou des?) zéros.
  2. Importation telle quelle dans Excel 2007 et procédure identique à la précédente.
  3. Importation qui filtre en amont les lignes vides et nous en débarrasse ce qui rend inutile la procédure des deux premiers points.
Pour ce qui est de la procédure des deux premiers points elle sera identique. Va sans dire que la procédure du point trois est différente.

Alors, à quelle sauce désires-tu agrémenter ton importation?
La sauce aval : points 1 et 2 ou la sauce amont : point 3.

Dernier détail important, est-il possible de fournir un exemple de fichier source (au format texte) faisant l'objet de cette importation? Cela pourrait avantageusement éclairer nos lanternes.

Cordialement,

Guy

Edité par Guy le 06/05/2010 00:55:11

Hors Ligne
Rapport   Haut 

Re: suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
#5
Aspirant XLPages

Inscription: 02/05/2010

Messages: 21

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 06-05-2010 01h24
Bonjour Gay,
Merci pour les conseils et les eclaircissements demandées .
le fichier TXT de base concerne les cliens et leurs reléves trimestrielle sur un historique de 10 ans et comprend entre autres les champs suivants:
Réference ,adresse, index ,date,  etc... à importer en XL pour des fins statistiques
alors le probleme c'est que le champ index est parfois vide ou nul (non relevé).

Evidemment le nettoyage pourra se faire avant l'importation , et le traitement avec un fichier TXT ,je ne connais pas.

Aprés importation en XL le tableau comprend des colonnes ref ,adresse , index1 ,index2 ... ' et ces index  sont parfois vides ou nuls.
Alors dans ma table je cherche un macros pour éliminer les lignes qui contiennent dus vide(s) ou des valeurs nulles.
Merci encore  Gay.
Hors Ligne
Rapport   Haut 

Re: suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
#6
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 06-05-2010 02h30
Re-bonjour ali08,

Bon! Procédons avec prudence et circonspection.

Les données importées sont sensibles et confidentielles. Soit.
Il t'est impossible de fournir le fichier source (*.txt) ou le fichier cible (*.xls). Soit.
Ces conditions imposent un travail à l'aveugle. Humm... heureusement que je connais un peu le Braille encore qu'il ne faut pas trop s'y fier, mes mirettes sont plutôt habituées à la lumière, m'enfin.

À défaut de fournir un quelconque fichier avec ces données sensibles, pourrais-tu fournir un canevas, un modèle, un paradigme (je charrie un peu, mais bon) de la chose. Les données précises ne sont d'aucune importance, leur structure par contre est primordiale.

Tu cites des champs nommés Référence ,Adresse, Index ,Date, etc dans le fichier source qui se transforment (comment?) en ref ,adresse , index1 ,index2 dans le fichier cible.

Parmi ceux-ci, y a-t-il un champ unique ou quelques-uns qui peuvent être considérés comme des clés primaires (des champs qui désignent univoquement un enregistrement ou, dit autrement, une ligne) et dont l'absence ou la valuation à zéro indique qu'ils sont à effacer?

Par exemple doit-on interpréter
Citation :
alors le probleme c'est que le champ index est parfois vide ou nul (non relevé).

comme une indication du seul champ dont il faudra tenir compte pour effacer ou laisser la ligne entière? Mais alors s'agit-il du champ Index1, Index2 ou les deux? Ou pas vraiment? Ou autre chose? Ou quoi?

Je reprends, peut-on se fier à la valeur d'un ou de plusieurs des champs cités pour décider d'éliminer la totalité de l'enregistrement (la ligne) concerné?

Bref, et derechef, peux-tu fournir un commencement d'exemple, peu importe les données portées par cet exemple, qui permette de décrypter cet imbroglio.

Je crois que tu peux effectivement fournir un tel exemple. Le tout est qu'il te faudra être patient et précis dans le montage de cet exemple, donc fournir un effort d'abstraction indispensable. J'insiste, il te faudra être précis et montrer la structure de la chose sans qu'il soit nécessaire d'en montrer les données précises. Faire simplement un bout de chemin Citation :
...avec qui veut bien s'investir dans son propre projet.
comme cela est indiqué ici.

Sans structure, pas de modèle. Sans modèle, pas de théorie. Et sans théorie, pas de solution.

Donc, une structure de fichier source et une structure de fichier cible sont requises. Autrement c'est le capharnaüm ou l'explosion combinatoire, selon. Et je ne suis, d'expérience, partant ni pour l'un ni pour l'autre.

Lors, exemple pertinent ou néant selon ton choix.

Cordialement,

Guy
Edité par Guy le 06/05/2010 02:59:20

Hors Ligne
Rapport   Haut 

Re: suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
#7
Aspirant XLPages

Inscription: 02/05/2010

Messages: 21

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 07-05-2010 00h44
Bonsoir Guy;
le probléme de départ étant;

Avec une table XL2003  par exemple B6:N500 ayant certaines cellules qui contiennent certains  valeurs zéro ou vides  dispersées parmi d'autres  

A-) y'a-t-il une méthode d'éliminer toutes les lignes ayant au - une cellule nule ou vide?

B-) l'eventuelle macro sera elle valable pour XL2007?

Je crois que c'est clair, pour moi qui étant un débutant et en forum sur XL .

Merci Mr Guy.

Cordialement;

ali08.
Hors Ligne
Rapport   Haut 

Re: suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
#8
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 07-05-2010 19h58
Bonjour ali08,

Petit classeur exemple portant une procédure de nettoyage de données NettoyerFichierTexte()
Cette procédure permet d'ouvrir un fichier source portant des données brutes et de créer un fichier cible qui ne porte que les lignes valides du premier.

Hypothèses :
  • Le fichier source porte des données avec séparateur point-virgule ";"
  • Ce fichier porte l'extension .txt
Pour tester la chose j'ai monté un fichier texte portant 65 536 lignes de 13 colonnes (B:N) parmi lesquelles on compte
46 424 lignes valides
6 303   lignes portant une cellule vide
6 365   lignes portant un zéro
6 444   lignes vides

Après traitement le fichier créé porte effectivement les 46 424 lignes valides et rien d'autre.
Le procédé utilisé peut être portée sur Excel 2007.
Le temps de traitement est proportionnel au volume des données.
Sur mon poste (Windows XP, Excel 2003, Centrino Duo-2GHz) le traitement des 65 536 lignes du fichier de test a pris 3 secondes.

Une fois le traitement effectué le fichier cible porte le même nom que le fichier source mais avec le suffixe _Mod. Il suffira d'importer les données de ce fichier dans Excel sans autre traitement.

J'espère la chose utile et reste disponible pour d'autres informations.

Cordialement,

Guy

Édition : Nouveau classeur permettant de choisir le séparateur parmi Virgule, Point-virgule, Tabulation ou Autre. N'a été testé qu'avec point-virgule et tabulation. La procédure est lancée par le bouton Lancer le nettoyage d'un fichier.






Pièce jointe:
xls ClasseurExemple_ali08.xls   [ Taille: 49.00 Ko - Téléchargements: 825 ]
Edité par Guy le 07/05/2010 21:33:51

Hors Ligne
Rapport   Haut 

Re: suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
#9
Aspirant XLPages

Inscription: 02/05/2010

Messages: 21

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 08-05-2010 11h08
bonjour
et Merci Guy ,

j'aimerai reposer ma question :

Avec une table XL2003  par exemple B6:N500 ayant certaines cellules qui contiennent des  valeurs zéro ou vides  dispersées parmi d'autres valeurs et données à conserver  

A-) y'a-t-il une méthode d'éliminer toutes les lignes ayant au - une cellule nule ou vide?

B-) l'eventuelle macro sera elle valable pour XL2007?

Je crois que c'est clair, pour moi qui étant un débutant et en forum sur XL .
cordialement,

Merci .

Ali08
Hors Ligne
Rapport   Haut 

Re: suppression de lignes vides ou de valeurs zéro'(0) dans une plage donnée
#10
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 08-05-2010 14h36
Bonjour ali08,

Peut-être n'ai-je pas été clair.

De nouveau un classeur exemple qui porte
Citation :
une méthode d'éliminer toutes les lignes ayant au - une cellule nule ou vide

et cette fois le classeur a été testé avec un fichier de données au format texte (.txt) séparées par tabulation.
Je n'ai pas testé pour les autres séparateurs.

Le fichier texte de test portait 1 048 576 lignes parmi celles-ci :
742 585 lignes valides (ne portant aucune donnée nulle ou vide)
104 586 lignes complètement vides
100 868 lignes portant un zéro
100 537 lignes portant une donnée vide

Le classeur où sont copiées (après filtrage) les lignes valides porte effectivement les 742 585 lignes valides.
Le traitement, dans ce cas a pris (sur mon poste) 31 secondes.

La réponse à la question
Citation :
l'eventuelle macro sera elle valable pour XL2007?

est oui.

Même si le classeur joint est au format Excel 2003, la procédure, qui n'importe aucune donnée, traite le fichier texte cité.

Avec, par exemple, un fichier texte nommée FichierTexte.txt le fichier de sortie (portant les données filtrées) se trouve dans le même dossier que le fichier original et porte le nom FichierTexte_Mod.txt. C'est à dire que le nom du fichier filtré est celui du fichier original suffixé par _Mod. Une fois le filtrage effectué il ne reste plus qu'à importer le fichier sans autre traitement.

La marche à suivre est donc la suivante :
  1. Ouvrir le classeur joint
  2. Effectuer le filtrage en lançant le traitement (bouton de la seule feuille de calcul)
  3. Fermer le classeur joint.
  4. Ouvrir le fichier *_Mod.txt avec la version d'Excel appropriée pour la quantité de données contenues dans ce fichier.

Teste la chose et donne-moi un compte rendu des bogues ou erreurs rencontrés.

Cordialement,

Guy

Pièce jointe:
xls ClasseurExemple_ali08_2007.xls   [ Taille: 51.50 Ko - Téléchargements: 768 ]

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes