Bonjour,
Je souhaite creer une macro: si il y a une celle qui contient #N/A alors supprimer toute la ligne.
Je vous remercie pour votre aide.
Cordialement,
Version imprimable
Bonjour,
Je souhaite creer une macro: si il y a une celle qui contient #N/A alors supprimer toute la ligne.
Je vous remercie pour votre aide.
Cordialement,
Utilise la fonction Isna.
debut = 1ère cellule de la plageCode:
1
2
3 For i = fin To debut Step -1 If Application.WorksheetFunction.IsNA(cells(i,k) Then Rows(i).Delete Next
fin = dernière cellule de la plage
k= colonne contenant tes valeurs
Une autre méthode.
Si tu as des formules en colonne E avec certaines qui renvoient une erreur
Si ce ne sont pas des formules, remplace xlFormulas par xlConstantsCode:
1
2
3 On Error Resume Next Worksheets("Feuil1").Range("E:E").SpecialCells(xlFormulas, xlErrors).EntireRow.Delete On Error GoTo 0
A la louche, quelles sont les dimensions de ton tableau ?
Parce que la semaine dernière, ma macro a ramé pendant un moment sur un tableau de .... 45 000 lignes...
Merci,
J'ai 1400 lignes, une vingtaine de colonnes, J'ai des valeurs et formules qui renvoies #N/A et #REF!
Je souhaite specifier un certain nombre de valeur pour k (= colonne contenant les valeurs) et generaliser le code pour #N/A et #REF!
Merci pour l'aide
Ok, je vois.
Pas très poétique mais efficace:
Qu'en penses-tu ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Sub Remplacer_Cellules_Cibles() ' ' L'Albatros ' Dim compteur As Integer 'Balayage du tableau For compteur = 2 To Range("K2").End(xlDown).Row 'Condition de ciblage 1 If Range("K" & compteur) = "#N/A" Then 'Exemple d'action sur la cellule cible Range("K" & cpt) = "coucou" End If 'Condition de ciblage 2 If Range("K" & compteur) = "#REF" Then 'Exemple d'action sur la cellule cible Range("K" & compteur) = "coucou2" End If Next compteur ' End Sub
Merci c'est parfait!