|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 17 ![]() |
Bonjour, je suis tout nouveau sur ce forum et je suis novice aussi en VBA !
Cela fait un bout de temps que j'essaye de me débrouiller tout seul, mais là je cale ! Alors voilà le problème, Je souhaiterais supprimer les lignes vides qui ne contiennent pas de données dans une feuille excel. Je m'explique sur mon onglet Feuil1, j'ai des données qui vont jusqu'à la ligne 5, or lorsque je fait Ctrl + Fin on constate qu'il y a des lignes sans données (le curseur se positionne en J13 mais que je souhaiterait supprimer. Merci pour votre aide Gaia77 |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Chez moi, ça va bien en G5. Je suppose que tu as déjà essayé de sauver, fermer et rouvrir ton classeur ?
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 17 ![]() |
en effet... c'est étrange !
Quoiqu'il en soit dans le fichier réel, j'ai bien ce problème et je ne sais pas comment le résoudre. Une idée ? |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Je pense que ça devrait marcher :
Code :
ActiveSheet.SpecialCells(xlCellTypeBlanks).Delete |
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 17 ![]() |
J'ai une erreur d'exécution 438 - Propriété ou méthode non géré par cet objet !
Pourtant la macro est simple, j'ai mis : Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Marcel GALANODéveloppeur informatique Inscription : juillet 2009 Messages : 644 ![]() |
Bonjour à vous deux, Bonjour le Forum,
Ici, la ligne entière est supprimée si une cellule est vide. Il manque la propriété EntireRow à ton objet Range. Soit (à adapter) Code :
__________________
Bien Cordialement. Marcel Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.![]()
|
||
|
|
10
|
|
|
#7 | ||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Je ne pense pas qu'il voulait que la ligne entière soit supprimée. Il veut juste ne plus avoir de "cellules fantômes". Je vais regarder pourquoi ça bug. Je ne me souviens plus si j'ai testé ou pas.
Désolé, c'était : Code :
|
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 17 ![]() |
Merci MarcelG pour ta rapidité, mais je n'arrive pas à adapter ton code à mon fichier (je suis archi-débutant....)
Pourrais-tu m'expliquer ce que je dois faire, cela m'aiderai à mieux comprendre |
|
|
00
|
|
|
#9 | ||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Erratum, fais plutôt
Code :
On est bien d'accord que tu ne veux faire disparaître aucune ligne ou colonne et que c'est simplement enlever les "cellules fantômes". |
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 17 ![]() |
Oui c'est bien ce que je veux Zebreloup, mais ta macro ne fonctionne pas (en tout cas sur mon fichier)
Es-ce parceque j'ai 25000 lignes "fantômes" ???? |
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() Marcel GALANODéveloppeur informatique Inscription : juillet 2009 Messages : 644 ![]() |
Salut,
Dans le 1er post, il s'agissait de supprimer la ligne. Quoiqu'il en soit, il est possible de remplacer les "celllules fantômes", si elles sont constantes, par des cellules vides et, si on le souhaite, supprimer la ligne ensuite. Soit Code :
__________________
Bien Cordialement. Marcel Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.![]()
|
||
|
|
10
|
|
|
#12 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
@MarcelG : Ce que j'appelle "Cellules fantômes" sont les cellules qui paraissent vides, mais si on un Ctrl+Flèche ou Ctrl+Fin le déplacement s'arrête sur ces cellules. C'est un peu le même phénomène qui fait que l'ascenseur de droit peut rester tout petit alors qu'on n'a plus que quelques lignes. Dans ce cas on effaces toutes les lignes vides et on sauve, l'ascenseur reprend une taille normale.
@Gaia77 : Quand tu dis que ça ne marche pas, ça bug ou ça ne fait rien ? |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 17 ![]() |
Merci Zebreloup, tu as très clairement exprimé le problème !
Quand je dis que ça ne marche pas, c'est que la macro ne fait rien... En faisant Ctrl+Fin, la cellule active se retrouve toujours en ligne 25000 alors que je n'ai que 269 lignes.... Par contre la macro ne se plante pas.... |
|
|
00
|
|
|
#14 | ||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Essaie avec ce code et dis-moi si ça marche (En espérant qu'il ne soit pas trop lent)
Code :
|
||
|
|
00
|
|
|
#15 |
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Bonjour,
Tu as un problème sur un classeur et 269 lignes.. Pour ne pas perdre de temps, tu crée un classeur vierge, tu y copies tes 269 lignes et le reste si d'autres feuilles, tu le sauves "MonClasseur-V2" tu testes, si OK, tu écrases l'ancien, tu renomme le nouveau / ancien et tu continues à bosser. Sur l'ancien tu peux tester ce code suivant dans la fenêtre d'exécution : juste pour voir le nombre retourné... note : UsedRange a la fâcheuse habitude de prendre en compte les cellules fantômes justement... Cordialement, Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
10
|
|
|
#16 | ||
|
Membre Expert
![]() Marcel GALANODéveloppeur informatique Inscription : juillet 2009 Messages : 644 ![]() |
Bonjour Didier,
L'une des références Excel VBA, Laurent Longre, a codé Code :
__________________
Bien Cordialement. Marcel Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.![]()
|
||
|
|
20
|
|
|
#17 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 17 ![]() |
Merci à tous pour votre aide précieuse, en final c'est le code proposé par MarcelG (Laurent Longre) qui correspond à ce que je voulais !
ça m'a vraiement ôté une épine d'une pied ! Je pense que vous allez me revoir dans pas longtemps, car j'ai encore plein de choses à apprendre ! Merci Gaia77
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com