Supprimer les lignes vidse d'un tableau par macro

ced5757 Messages postés 40 Statut Membre -  
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,



je cherche a supprimer les lignes vides d'un tableau en passant par un macro.
seulement les manipulation que je peux faire d'habitude ne marche pas

merci d'avance
A voir également:

9 réponses

Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 136
 
Salut,

Exemple tu veux supprimer les lignes dont les cellules de la colonne A sont vides, tu peux utiliser cette ligne de code

Range("A2:A65000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
1
ced5757 Messages postés 40 Statut Membre 1
 
merci mike tu m'as beaucoup aidé aujourd'hui je vais en profite pour poser une autre question en même temps

j'ai un nom dans une cellule et je voudrais faire une macro qui recherche ce nom dans une colonne d'un tableau

c'est comme si j'utilise le filtre de ma colonne pour rechercher le nom sauf que je prend le nom que je recherche dans un cellule en dehors du tableau

comment faire ? car pour le moment j'arrive a faire la recherche par macro sauf que si le nom change dans ma cellule il n'en tien pas compte
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 136
 
Re,

Tu peux réexpliquer ça, tu as un nom dans une cellule exemple titi dans A2
et tu veux sélectionner ou l'adresse de la cellule qui contient ce mot titi dans la colonne D par exemple, c'est cela

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
ced5757 Messages postés 40 Statut Membre 1
 
oui sauf que plusieurs cellules vont contenir titi.
l'objectif et de supprimer les lignes de mon tableau qui contiennent titi dans la colonne D
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 136
 
Re,

voila

Dim i As Long
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Cells(i, 4) Like "titi" Then Rows(i).Delete
Next

tu peux également faire référence à une cellule contenant le critère exemple la cellule A1

Dim i As Long
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Cells(i, 4) Like [A1] Then Rows(i).Delete
Next

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ced5757 Messages postés 40 Statut Membre 1
 
c'est parfait mais cela ne marche pas si je mets ma cellule a la place de titi car le nom dans la cellule va changer régulièrement

il faudrait juste que je puisse mettre ma cellule a la place de titi
j'ai fait ceci mais ca ne marche pas

Dim i As Long
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Cells(i, 4) Like "B11" Then Rows(i).Delete
Next
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 136
 
Re,

dans mon post précédent tu as les deux propositions, soit tu saisis le nom dans le code ou tu fais référence à une cellule dans mon exemple la cellule A1
0
ced5757 Messages postés 40 Statut Membre 1
 
arf je n'ai vus que la moitié de message... mes yeux ne sont plus très performant apparemment.

je pense que ca devrait beaucoup mieux marcher
0
ced5757 Messages postés 40 Statut Membre 1
 
par contre comment prendre une valeur d'une cellule sur une autre feuille ?
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 136
 
Re,

le plus simple est de nommer la cellule exemple la cellule sur la feuille xxxx est nommée titi, la ligne de commande sera

If Cells(i, 4) Like [titi] Then Rows(i).Delete
0