Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

detecter #N/A par macro

  • Initiateur de la discussion Initiateur de la discussion golzag
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

golzag

XLDnaute Nouveau
Bonjour, je désire détecter les #N/A par macro.

J'ai trouver ça mais j'arrive pas à l'adapter à mon problème :
Code:
Sheets("Données").Cells(Z, j).Select

       If WorksheetFunction.IsNA(RangeActiveSheet.Cells(Z, j).Value) Then
                            
                   If Temp = "VM" Then
                                    
                    Else
                        Sheets("Essai").Cells(E, 1).Value = Temp
                        E = E + 1
                    End If
      End if

Je fournis sous la forme Cells(ligne,colonne) mais il veux une range et ça m'embête de faire la conversion.

Ou si quelqu'un à une autre idée.

Sinon une autre question pourquoi on peut pas écrire ca :

Sheets("Tintin").Range("A1").select ???

Merci d'avance

bonne aprem
 
Re : detecter #N/A par macro

Au final, j'ai trouver si ca peut aider certain j'ai virer RangeActiveSheet.


Code:
Sheets("Données").Select
Cells(Z, j).Select

       If WorksheetFunction.IsNA(RangeActiveSheet.Cells(Z, j).Value) Then
                            
                   If Temp = "VM" Then
                                    
                    Else
                        Sheets("Essai").Cells(E, 1).Value = Temp
                        E = E + 1
                    End If
      End if


J'ai toujours du mal à voir l'enchainement :

Sheets("Données").Select
Cells(Z, j).Select

ou

Sheets("Données").Cells(Z, j).Select
 
Re : detecter #N/A par macro

Bonjour 🙂,
Une solution pour simplifier mais qui ne te dira pas si c'est une #N/A ou une #REF, par exemple
Code:
If IsError(Selection) Then
ou ce qui serait mieux
Code:
If IsError(ActiveSheet.Cells(Z, j)) Then
Bon courage 😎
 
Re : detecter #N/A par macro

Salut golzag et le forum
Sheets("Données").Cells(Z, j).Select
ce qui est une bétise : tu ne peux sélectionner que dans la feuille active, donc pourquoi remettre le nom de la feuille
Sheets("Données").Select
Cells(Z, j).Select
tu sélectionnes/actives d'abord la feuille, puis la cellule dans la feuille active.
Code:
If WorksheetFunction.IsNA(Sheets("Données").Cells(Z, j)) and Temp <> "VM" Then 
     Sheets("Essai").Cells(E, "A") = Temp
      E = E + 1
End If
Je suppose, bien évidemment, que les feuilles existent et les valeurs de E, Z et j sont cohérentes.
Pourquoi sélectionner la feuille/cellule ? il n'y a pas besoin de compliquer, ça ne fait que ralentir la macro
A+
 
Dernière édition:
Re : detecter #N/A par macro

Bonsoir à tous,

petit complément, pour connaître le type d'erreur, utilisation de la fonction CVErr :

Code:
If IsError(Range("A1")) Then MsgBox CStr(CVErr(Range("A1")))

liste des valeurs d'erreur de cellule possible :
Constante Numéro de l'erreur Valeur d'erreur de cellule
xlErrDiv0 2007 #DIV/0!
XlErrNA 2042 #N/A
xlErrName 2029 #NAME ?
XlErrNull 2000 #NULL!
XlErrNum 2036 #NUM!
XlErrRef 2023 #REF!
XlErrValue 2015 #VALUE!

si cela peut aider...

bonne soirée
@+
 
Dernière édition:
Re : detecter #N/A par macro

Bonjour 🙂

deuxieme complément ^^

on peut simplement tester le texte retourné :

Code:
MsgBox Range("d8").Text = "#N/A"  'renvoi vrai si D8 est en erreur N/A

salut
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
779
Réponses
8
Affichages
690
Réponses
3
Affichages
869
Réponses
4
Affichages
614
Réponses
2
Affichages
561
Réponses
5
Affichages
642
Réponses
10
Affichages
913
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…