récupérer valeurs tableau sans #N/A

Bene25

XLDnaute Nouveau
Bonsoir,

J'ai un tableau avec une dizaine d'onglet, chaque onglet correspond à type de données qui alimente un premiere onglet qui fait office de reporting (tableaux, graphiques etc....) Dans un de mes onglets j'ai des tableaux avec des valeurs #N/A qui sont issus d'une formule, je souhaiterais récupérer les données de ces tableaux sans les lignes ou cette valeurs apparait. j'ai essayé plusieurs méthodes rien y fait, un tcd ne répond pas à mes attentes. je vous joins un bout de fichier en PJ : un onglet valeurs à récupérer un autre tableau souhaité.

Auriez vous une solution?

d'avance merci
 

Pièces jointes

  • exemple.xlsx
    37.7 KB · Affichages: 58
  • exemple.xlsx
    37.7 KB · Affichages: 57
  • exemple.xlsx
    37.7 KB · Affichages: 56

Victor21

XLDnaute Barbatruc
Re : récupérer valeurs tableau sans #N/A

Bonjour, Bene25.

Supprimez les NA à la source :
- SI(ESTNA(Valeur ou Formule);0;Valeur ou Formule)
- SIERREUR(Valeur ou Formule);0)

Utilisez une colonne supplémentaire, collez-y la formule =nb.si(E1:AE1;NA()), filtrez les 27 sur cette colonne et supprimez les lignes filtrées.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : récupérer valeurs tableau sans #N/A

Bonjour Bene25, Patrick, le forum,

Code à placer où vous voulez dans VBA :

Code:
Sub SupprimeErreurs()
Dim dest As Range, source As Range
Set dest = Feuil1.Rows(12) 'ligne à adapter
Set source = Feuil2.UsedRange 'à adapter
Application.ScreenUpdating = False
dest.Resize(Rows.Count - dest.Row + 1).Clear 'RAZ
With dest.Resize(source.Rows.Count)
  source.EntireRow.Copy .Cells 'pour copier les formats
  .Value = source.EntireRow.Value 'copie les valeurs
  On Error Resume Next 'si aucune valeur d'erreur
  .SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
End With
dest.Parent.Columns.AutoFit 'ajustement largeur
End Sub
Bonne journée et A+
 

job75

XLDnaute Barbatruc
Re : récupérer valeurs tableau sans #N/A

Re,

Bien entendu si l'on veut traiter directement la feuille des erreurs c'est trivial :

Code:
Sub SupprimeErreurs1()
On Error Resume Next 'si aucune valeur d'erreur
With ActiveSheet.Cells
  .SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete
  .SpecialCells(xlCellTypeFormulas, 16).EntireRow.Delete
End With
End Sub
Edit : et bien sûr on peut le faire sans macro :

- touche F5 => Cellules => Constantes => cocher "Erreurs"

- commande Supprimer => Ligne entière

- répéter ces opérations pour les formules.

A+
 
Dernière édition:

Bene25

XLDnaute Nouveau
Re : récupérer valeurs tableau sans #N/A

Bonjour à tous

merci pour vos réponses!

@victor21 : j'ai testé votre formule, le problème c'est que je ne peux pas supprimer les #N/A à la source, parce que ces valeurs peuvent ne plus être en #N/A demain...

@job75: dsl je ne connais pas le vba, néanmoins voila ce que j'ai mis et en PJ le résultat que j'ai obtenu sur mon tableau original... pas vraiment le resultat espéré :confused:

Sub SupprimeErreurs()
Dim dest As Range, source As Range
Set dest = Feuil3.Rows(81) 'ligne à adapter
Set source = Feuil2.UsedRange(8,M) 'à adapter
Application.ScreenUpdating = False
dest.Resize(Rows.Count - dest.Row + 1).Clear 'RAZ
With dest.Resize(source.Rows.Count)
source.EntireRow.Copy .Cells 'pour copier les formats
.Value = source.EntireRow.Value 'copie les valeurs
On Error Resume Next 'si aucune valeur d'erreur
.SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
End With
dest.Parent.Columns.AutoFit 'ajustement largeur
End Sub

Et le 2eme post rien compris.... :(

et heu... j'ai aucune idée de ce qui peut coincer....
 

Pièces jointes

  • exemple_V2.xlsx
    38.2 KB · Affichages: 41
  • exemple_V2.xlsx
    38.2 KB · Affichages: 42
  • exemple_V2.xlsx
    38.2 KB · Affichages: 45

Bene25

XLDnaute Nouveau
Re : récupérer valeurs tableau sans #N/A

bonsoir,
En fait la seule qui change dans mon fichier d origine par rapport à celui posté. C'est que mes données sources se trouve sur la feuille 8 colonne M ligne 152 et que le résultat doit "arrivé " en feuille 4 colonne B ligne 82. Votre macro doit être elle recopier telle quelle dans le Vba?
Merci
 

job75

XLDnaute Barbatruc
Re : récupérer valeurs tableau sans #N/A

Re,

Si vous êtes sûr de ce que vous dites :

Code:
Sub SupprimeErreurs()
'Feuil4 et Feuil8 sont les CodeNames des feuilles
Dim dest As Range, source As Range
Set dest = Feuil4.Cells(82, "B") 'à adapter
With Feuil8 'feuille source, à adapter
  Set source = .Cells(152, "M") 'à adapter
  Set source = .Range(source, .Cells.SpecialCells(xlCellTypeLastCell))
End With
Application.ScreenUpdating = False
dest.Resize(Rows.Count - dest.Row + 1).EntireRow.Clear 'RAZ
With dest.Resize(source.Rows.Count, source.Columns.Count)
  source.Copy .Cells 'pour copier les formats
  .Value = source.Value 'copie les valeurs
  On Error Resume Next 'si aucune valeur d'erreur
  .SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
End With
dest.Parent.Columns.AutoFit 'ajustement largeur
End Sub
Bien sûr je n'ai pas testé faute de fichier :rolleyes:

Bonne fin de soirée.
 

Discussions similaires

Statistiques des forums

Discussions
312 115
Messages
2 085 448
Membres
102 889
dernier inscrit
monsef JABBOUR