IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Comment supprimer réellement des lignes vides ?


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Comment supprimer réellement des lignes vides ?
    Bonjour,

    Certaines actions créent malencontreusement un très grand nombre de lignes vide en fin de fichier excel : on passe d'un coup de 50 lignes utiles (par exemple) à 65536 lignes !
    (cela m'est arrivé plusieurs fois et je récupère souvent des fichiers d'autres personnes avec le même problème.)

    Malheureusement, le delete de lignes ne permet pas de réduire le nombre de lignes total dans le fichier : si un fichier a N lignes et que vous supprimez les lignes 10 à 20, la ligne 21 va se retrouver en 10 et ainsi de suite, mais il y aura 10 lignes vides de plus en fin de fichier qui en contiendra toujours N.

    Avec 65536 lignes pour seulement quelques centaines de lignes actives en début de fichier, ce n'est pas pratique d'utiliser l'ascenseur !

    Comment faire pour supprimer REELLEMENT ces lignes vides de fin de fichier ?

    Merci d'avance !

  2. #2
    Membre confirmé
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Points : 563
    Points
    563
    Par défaut
    Bonjour,

    Je suppose que ce genre de problème peut être lié à une bêtise courante lors d’un formatage, qui consiste à sélectionner des colonnes entières.

    As-tu essayé, N étant la dernière ligne, de sélectionner les lignes N + 1 à 65536 et de les supprimer, PUIS d’enregistrer, car la mise à jour de la dernière cellule n’est pas faite, tant que l’on enregistre pas.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    Pourtant, l'ascensseur est automatiquement configuré pour que son echelle soit en rapport avec le nombre de ligne effectivement remplie
    tu as une possibilité, si tu veux ne voir que tes cellule utiles, c'est de masquer les ligne et colonne non remplie (format/ligne/masquer)

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    alsimbad : c'est une (assez) bonne idée mais l'ascenseur est tout de même un peu "perturbé" : il occupe tout l'espace ...

    Bigalo : Ton idée ne fonctionne pas : j'ai sélectionné les lignes, puis clique droit --> suppression, puis enregistrer : c'est pareil, j'ai toujours mes 65536 lignes.

  5. #5
    Membre confirmé
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Points : 563
    Points
    563
    Par défaut
    Je peux pas faire beaucoup plus sans accès au fichier

    Y a-t-il des formules et/ou des noms définis qui font référence à des colonnes entières ?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    Bigalo, je ne pense pas qu'il y ait un probleme dans le fichier de lesjno. il a 65536 lignes comme tout les fichiers excel davant 2007. son probleme n'est pas une ligne ou une cellule qui serait pleine en bout de fichier, mais bel et bien qu'il ne veut pas de la zone vide
    lesjno tu as une autre possibilité pour ne pas la voir, mais c'est en vba et c'est une limitation de la zone accessible, ce qui te permet de travailler sur une zone préétablie, mais je ne pense pas que cela mette ton ascenceur a l'echelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub a1g26()
    Sheets(1).ScrollArea = "A1:g26"
    Range("A1:g26").Select
    End Sub
    et après ça, ben faudra surement que tu te contente comme tout le monde, de devoir faire avec.

  7. #7
    Membre confirmé
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Points : 563
    Points
    563
    Par défaut
    Bonsoir,

    Citation Envoyé par alsimbad Voir le message
    Bigalo, je ne pense pas qu'il y ait un probleme dans le fichier de lesjno. il a 65536 lignes comme tout les fichiers excel davant 2007.
    Tu as probablement raison. J’ai été induit en erreur par cette phrase :

    Citation Envoyé par lesjno Voir le message
    Certaines actions créent malencontreusement un très grand nombre de lignes vide en fin de fichier excel : on passe d'un coup de 50 lignes utiles (par exemple) à 65536 lignes !
    Dans ce cas, la seule solution est effectivement de masquer les lignes au-delà de la dernière ligne "utile" ou de réduire à 0 leur hauteur !

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Une autre solution, sans VBA, est d'utiliser la barre d'outils Boite à outils et de cliquer sur Propriétés.

    On a alors accès directement à la propriété ScrollArea

    Cela étant, le fait de supprimer des lignes n'enlève pas des lignes à la feuille Excel. Une feuille Excel (antérieure à XL2007) possède toujours 65536 lignes et 256 colonnes, et une feuille XL2007 possède toujours 1048576 lignes sur 1024 colonnes.
    Images attachées Images attachées  

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Bonjour et merci pour les idées.

    Malheureusement, ce n'est pas idéal. L'idée de la propriété du ScrollArea est bonne, mais cela ne modifie pas pour autant la taille du curseur dans l'ascenseur. De plus, cette propriété n'est pas enregistrée lors de la sauvegarde du fichier, il faudrait fixer la zone en VBA, ce qui n'est vraiment pas pratique.

    Vous trouverez ci joint un exemple de fichier excel avec 65636 lignes (pour faire cela, par exemple, ouvrez un fichier excel, faites Ctrl fleche bas : normalement vous êtes sur la ligne 65636 (j'ai excel 2000). Là, vous écrivez quelque chose sur la ligne et ensuite vous sélectionnez cette ligne et vous la supprimez ... vous obtenez alors un fichier vide de 65636 lignes avec un tout petit curseur et une impossibilité de réduire ce nb de lignes.)

    On pourrait rapprocher ce comportement de celui de l'indice courant dans une table d'une base de donnée : l'indice est incrémenté à chaque nouvel enregistrement et le fait de supprimer des enregistrements de la table ne modifie pas la valeur de l'indice courant. Ici, avec Excel, c'est la même chose : l'indice "dernière ligne" prend la valeur de la dernière ligne utilisée et on ne peut pas agir sur cette valeur, contrairement à une base de donnée dont l'indice courant d'une table est modifiable manuellement.
    N'y a-t-il vraiment pas moyen d'atteindre cet indice "dernière ligne" caché ?
    Fichiers attachés Fichiers attachés

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    En supprimant les lignes et/ou les colonnes vides, puis en enregistrant le fichier, Excel nettoie les lignes et/ou colonnes. CTRL+END le montre. Après la sauvegarde, les curseurs dans les barres de défilement sont adaptés à la nouvelle taille réelle de la zone de feuille utilisée.

    Attention. Je parle bien de supprimer les lignes, pas d'en effacer le contenu.

  11. #11
    Membre confirmé
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Points : 563
    Points
    563
    Par défaut
    Bonjour lesjno,

    J’ai ouvert ton fichier sous Excel 2004 (Mac), et l’ascenseur se comporte normalement. En cliquant sur la touche de fonction F5, puis sur le bouton Cellules..., puis sur en sélectionnant Dernière cellule, le bouton OK sélectionne la cellule A1.

    Cmme signalé précédemment, la mise à jour de la dernière cellule ne se fait pas tant qu’on enregistre pas le fichier.

    Le problème sur ton poste est peut-être lié à ta version d’Excel 2000 : Microsoft sort en général 1 à 3 révisions pour chaque version d’Office pour corriger des bugs. Qu’obtiens-tu comme indication de version, quand tu choisis A propos de Microsoft Excel dans le menu "?" (Aide) ?

    J’ai même fait le test que tu décris

    • Création d’un fichier
    • Ctrl + flèche bas
    • Saisie de quelque chose en A65536
    • Suppression de la ligne


    avec Excel 97 SR2.

    J’ai bien un petit curseur pour l’ascenseur, ce qui est normal, car à ce stade la dernière cellule est encore en ligne 65536.

    Mais l’enregistrement du fichier ramène les choses à la normale : l’ascenseur reprend des proportions plus classques, et la dernière cellule devient la cellule A1.

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Ma version excel est la suivante :

    Excel2000 (9.0.8948 SP-3)

    D'après ce que vous dites (et vous en apportez la preuve), c'est bien un bug qui a déjà été corrigé dans les versions récentes d'Excel.
    Hélas, dans ma boite, on en change pas souvent de version, donc je vais faire remonter l'info ... et vivre avec jusqu'à ce qu'on ait une nouvelle version d'Excel.

    Merci à tous pour cette aide !

    Bonne journée.

  13. #13
    Invité
    Invité(e)
    Par défaut
    Bonjour Lesjno,

    Ma version : Excel 2000 (9.0.2812).

    J'ai fait la même chose que Bigalo sur votre fichier.

    En sélectionnant les lignes (N° de lignes et non cellules comme le précise Pierre Fauconnier) de 65536 à 2 puis clic droit puis "Supression" puis "Enregistrer" tout rentre dans l'ordre également.

    C'était pour vérifier que cela fonctionnait sur votre feuille car il y a longtemps que j'utilise cette procédure pour dépanner par exemple des utilisateurs qui ne la connaissent pas et qui se demandent pourquoi ils ne peuvent plus ajouter une ligne sur leur feuille.

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Effectivement, ça marche !
    Il faut donc faire "enregistrer" juste après la commande de suppression.
    C'est bon à savoir !

    Merci !!!

  15. #15
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut suppression de lignes vides en fin de fichier

    Bravo et Merci pour le truc. Il y a des années que je cherche mais je n'avais pas vu la nécessité d'enregistrer immédiatement après la suppression des lignes excédentaires.

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Novembre 2016
    Messages : 1
    Points : 0
    Points
    0
    Par défaut
    La vraie et seule vraie solution est la suivante... merci de ne pas répondre quand vous ne connaissez pas la réponse exacte, ça permet aux autres de gagner du temps...

    " if you want to restrict the scrolling of an Excel worksheet to a specific range, use the worksheet.scrollarea property. For more on it see Excel VBA help.

    An example that only shows a1:s150 and limits scrolling as well as a way to undo the limits:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub hideExtra()
        With ActiveSheet
        .Range(.Range("t1"), .Cells(1, .Columns.Count)).EntireColumn.Hidden = True
        .Range(.Range("a151"), .Cells(.Rows.Count, 1)).EntireRow.Hidden = True
        .ScrollArea = "a1:s150"
            End With
        End Sub
    Sub showAll()
        With ActiveSheet.Cells
        .EntireColumn.Hidden = False
        .EntireRow.Hidden = False
        .Parent.ScrollArea = ""
            End With
        End Sub
    "
    Macro fournie par:
    Tushar Mehta (Technology and Operations Consulting)
    www.tushar-mehta.com (Excel and PowerPoint add-ins and tutorials)
    Microsoft MVP Excel 2000-Present

  17. #17
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 504
    Points : 16 428
    Points
    16 428
    Par défaut
    Bonjour

    Ce fil date de 2011 et les solutions à base de scrollarea ont déjà été données au #6 et #8...

  18. #18
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Bonjour !

    Qui plus est :

    • ici ce n'est pas le forum VBA ‼

    conformément aux règles de ce forum !

  19. #19
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 135
    Points : 9 969
    Points
    9 969
    Billets dans le blog
    5
    Par défaut
    Et en troisième point, la vraie et seule solution est celle qui répond à la question posée

    ici c'était de supprimer les lignes "vides" mais inclues dans la plage active de la feuille .... générant un ascenseur démeusuré, mais surtout un poids du fichier très important pour rien.

    pas de restreindre la zone de Scroll, qui n'était qu'une alternative proposée, ressemblant plutôt à un système D


    bref .... copier une aide "anglaise", c'est certes louable dans la démarche, mais il y a la forme (présenter sa proposition avec un peu plus d'humilité) et le fond (précision de la réponse vis à vis de la question)

  20. #20
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 433
    Points
    12 433
    Par défaut
    Un pouce vert à joe.levrai (surtout -mais pas uniquement- en raison de l'une de ses phrases).
    A BluePacificDream : un des pouces rouges est de moi (je signe toujours mes "pouces").

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. comment supprimer des lignes vides ?
    Par chanteur06 dans le forum Débuter
    Réponses: 3
    Dernier message: 09/03/2013, 23h31
  2. KSH: Supprimer des lignes vides (sans espaces ni tab) en fin de fichier text
    Par SmileAndFly dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 31/07/2008, 20h47
  3. Supprimer des lignes vides dans un label
    Par benjhe dans le forum VB.NET
    Réponses: 3
    Dernier message: 19/12/2007, 08h57
  4. Supprimer des lignes vides
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/11/2007, 19h32
  5. supprimer des lignes vides
    Par Medmidou dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/10/2007, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo