retirer des cellules d'une colonne

A

alban

Guest
Bonjour tout le monde!

j'ai une colonne excel qui se presente comme suit:

maurice
albert
0
0
jeanine
0
paulette
etc..

je voudrais savoir s'il existe une fonction qui permette de supprimer les "0", qui ramenerait la cellule "jeanine" juste sous la cellule "albert"?

d'avance merci beaucoup

alban
 
A

andré

Guest
Salut alban,

En faisant une recherche trouveras sous les anciens posts une série de question traitant le sujet en VBA.

Voici une méthode "manuelle" permettant de le faire rapidement :
Sélectionne la plage de cellules à traiter.
Menu Edition / Remplacer / Rechercher : 0 / Remplacer : laisser vide / Remplacer tout / OK / Fermer.
Touche clavier F5 / Cellules / cellules vides / OK / Menu Edition / Supprimer / Faire le choix "Décaler les cellules vers le haut " ou "lignes entières" / OK.

Ândré.
 
Z

Guest
voilà une macro qui à priori fonctionne....
je pense qu'il y a bcp plus simple, mais je débute!!!

( elle traite la première colonne)

Sub test()
c = 0
For i = 1 To 65536
If Cells(i, 1) = "0" Then
If Cells(i + 1, 1) = 0 Then
c = c + 1
GoTo a
Else
Cells(i, 1) = Cells(i + 1 + c, 1)
End If
Else
GoTo a
End If

a: Next i

End Sub

bon courage
@+


End Sub
 
C

Carole

Guest
Bonjour,

Je viens de lire ce fil avec intérêt, mais existe -t-il une autre solution que celle proposée par André?

En effet, je l'ai essayée sur mon fichier (j'en joins un zip dans lequel les listes déroulantes ne marchent pas, mais ce n'est pas grave) mais ça ne marche pas.

Ce que je voudrais, c'est supprimer au maximum les lignes dans lesquelles de toutes façons, il n'y a pas d'info pertinentes (cad seulement des none)
Ainsi, je pourrais libérer de la place pour insérer pourquoi pas un nouveau serveur car sinon, je ne tiendrai jamais sur une seule page!!

J'espere que je ne suis pas en contradiction avec la charte avec ce doc...

Merci de me répondre,

Carole
 

Pièces jointes

  • Classeur1.zip
    9.7 KB · Affichages: 25
  • Classeur1.zip
    9.7 KB · Affichages: 26
  • Classeur1.zip
    9.7 KB · Affichages: 25
P

Pascal76

Guest
Bonjour

une petite macro qui doit répondre à Alban

Sub SupZero()
'
Dim MaLigne As Double, MaCol As Double

Application.ScreenUpdating = False

MaLigne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
MaCol = Range("A1").SpecialCells(xlCellTypeLastCell).Column

For x = MaCol To 1 Step -1
  For y = MaLigne To 1 Step -1
    If Cells(y, x) = 0 Then
      Cells(y, x).Delete Shift:=xlUp
    End If
  Next
Next

Application.ScreenUpdating = True

End Sub

Bonne journée

Pascal
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 144
Messages
2 106 357
Membres
109 563
dernier inscrit
sylla121