> Tous les forums > Forum Bureautique
 [VBA+suppression conditionnelle de ligne]Sujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Magnan
  Posté le 14/06/2015 @ 12:06 
Aller en bas de la page 
Astucien

Bonjour,

J'ai un fichier XL et je voudrais supprimer les lignes ou le n° contact (Colonne B) est vide.

A la main, j'ai commencé, et j'en suis péniblement à la 600ième ligne sur plus de 6.000. Pas gagné.

Mais je ne suis pas assez bon en VBA pour créer une macro.

Si vous pouviez m'aider.

Merci d'avance.

Publicité
ferrand
 Posté le 14/06/2015 à 13:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Sous réserve d'infos éventuellement manquantes...

version 1

Sub EliminerContactsVides1()
Dim n%, k%, m%
n = Cells(Rows.Count, 1).End(xlUp).Row
k = Cells(1, Columns.Count).End(xlToLeft).Column
Range(Cells(2, 1), Cells(n, k)).Sort key1:=Cells(2, 2), order1:=xlAscending, Header:=xlNo
m = Cells(Rows.Count, 2).End(xlUp).Row + 1
Range(Cells(m, 2), Cells(n, 2)).EntireRow.Delete
End Sub

On trie sur la colonne B, ce qui positionne les vides à la fin, et on supprime d'un coup la portion concernée.

Faisable manuellement de façon assez rapide.

ferrand
 Posté le 14/06/2015 à 13:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

version 2

Sub EliminerContactsVides2()
Dim n%, k%, m%
n = Cells(Rows.Count, 1).End(xlUp).Row
k = Cells(1, Columns.Count).End(xlToLeft).Column + 1
For m = 2 To n
Cells(m, k).Value = m - 1
Next m
Range(Cells(2, 1), Cells(n, k)).Sort key1:=Cells(2, 2), order1:=xlAscending, Header:=xlNo
m = Cells(Rows.Count, 2).End(xlUp).Row + 1
Range(Cells(m, 2), Cells(n, 2)).EntireRow.Delete
Range(Cells(2, 1), Cells(m - 1, k)).Sort key1:=Cells(2, k), order1:=xlAscending, Header:=xlNo
Columns(k).Delete
End Sub

Même chose, mais on rétablit l'ordre initial après suppression. Pour cela introduction d'une colonne de numéros d'ordre que l'on supprime en fin.

Magnan
 Posté le 14/06/2015 à 16:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonsoir,

Merci pour ces macros.

Je n'avais pas pensé à l'affichage des cellules vides de la colonne B puis leur suppression.

Enfantin.

Encore merci Ferrand.

A+

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
24,99 €Casque audio bluetooth JBL T460BT à 24,99 €
Valable jusqu'au 03 Août

Cdiscount fait une vente flash sur le casque audio sans fil bluetooth JBL T460BT qui passe à 24,99 € livré gratuitement alors qu'on le trouve ailleurs à partir de 49,99 €. Ce casque sans fil bluetooth 4.0 offre une autonomie de 11h, permet de commander sur le casque les appels et la musique et est repliable à plat. Il est rechargeable avec un câble microUSB fourni.


> Voir l'offre
6,60 €Oxymètre numérique HOMIEE (fréquence cardiaque et SpO2) à 6,60 € avec le code LK2L4IIX
Valable jusqu'au 03 Août

Amazon fait une promotion sur l'oxymètre numérique HOMIEE qui passe à 6,60 € avec le code LK2L4IIX au lieu de 22 €. Pincez votre doigt et mesurez facilement votre fréquence cardiaque et le SpO2 (taux de saturation en oxygène).


> Voir l'offre
37,78 € livréeCarte mémoire SDXC UHS-I U3 SanDisk Extreme 256 Go (150 Mo/s) à 37,78 € livrée
Valable jusqu'au 05 Août

Amazon Allemagne fait une promotion sur la carte mémoire SDXC UHS-I U3 SanDisk Extreme 256 Go qui passe à 33,28 €. Comptez 4,50 € pour la livraison en France soit un total de 37,78 € livrée. Cette carte mémoire offre des vitesses jusqu'à 150 Mo/s et est idéale pour les caméras et appareils photo HD. On la trouve ailleurs à partir de 55 €.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre

Sujets relatifs
Suppression de l ligne créée par la saisie de 3 tirets + ENTER
Macro excel Suppression de ligne
SUPPRESSION DE LIGNE AVEC UN MOT
SUPPRESSION DE LIGNE D'APRES UN MOT
SUPPRESSION DE LIGNE PLUS RAPIDE
excel recuperation d'une info suppression ligne
Quel agenda en ligne choisir
copier ligne si cellule vide
Document modifiable en ligne
recherche la ligne et passe a la suivante
Plus de sujets relatifs à [VBA+suppression conditionnelle de ligne]
 > Tous les forums > Forum Bureautique