XL 2016 Fonction formula, ESTNA et messages d'erreurs

  • Initiateur de la discussion Initiateur de la discussion BARNS
  • 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 !

BARNS

XLDnaute Junior
Bonjour,

Je dois m'approprier un fichier (Configuration canon) pour faire quelques modifications (Configuration_nv). En créant ce dernier fichier je n'ai pas réussi a retranscrire toute les fonctionnalités : notamment les messages d'erreurs, par exemple avec la combinaison suivante arroseur c, buse 19.1, pression 4 je devrais avoir un message d'erreur comme sur le fichier "configurateur" que je n'ai pas.

Donc j'ai compris le fonctionnement générale du fichier mais une certaine partie du code ne m'est pas très claire :

"surpression = Range("B50").Value
Worksheets("Pivot").Range("C14").Formula = surpression"

Même avec l'aide d'excel je ne comprends pas la fonction "formula".

Celui qui a crée le fichier originel a un peu fait le cochon en cachant des formules sur le tableur je les ai mises en jaune puisqu'elles interviennent dans le calcul de la pression et dans les messages d'erreurs. D'ailleurs cette partie là m'est totalement obscure puisque certaines fonctions renvoient à une case vide et je ne comprends pas non plus la fonction "ESTNA".

Pour votre compréhension ce sont des calculs hydrauliques, j'ai supprimé toute les données confidentielles/inutiles comme stipulé dans la charte.

Voilà je suis désolé j'ai vraiment pas l'habitude d'utiliser les forums puisqu'on peut tout apprendre avec les tutos mais là je ne connais pas le chemin de réflexion de l'auteur du fichier et je ne suis pas assez bon en excel pour le saisir, avant de poster j'ai déjà chercher pendant plusieurs heures.

Merci!
 

Pièces jointes

Salut,

En créant ce dernier fichier je n'ai pas réussi a retranscrire toute les fonctionnalités : notamment les messages d'erreurs, par exemple avec la combinaison suivante arroseur c, buse 19.1, pression 4 je devrais avoir un message d'erreur comme sur le fichier "configurateur" que je n'ai pas.
Tu n'as pas adapté une partie du code :
VB:
If Range("B8").Value
Devrait être :
VB:
If Range("C13").Value
Même avec l'aide d'excel je ne comprends pas la fonction "formula".
Ici, ça ne sert à rien (ça sert à écrire une formule dans la cellule via vba), tu pourrais même l'enlever et ça fonctionnerait.
je ne comprends pas non plus la fonction "ESTNA".
C'est lié à des bouts de codes :
Code:
Range("A32").Formula = Range("B27").Value
VB:
If Range("B8").Value = 2 Then If Range("B32").Value = 1 Then Range("B9").Value = "#N/A": MsgBox "Fonctionnement du canon hors recommandations du fabricant.", vbOKOnly Else If Range("A32").Value < 10.8 Then Range("B9").Value = "#N/A": MsgBox "Surpresseur non adapté: débit trop faible." Else If Range("A32").Value > 28.8 Then Range("B9").Value = "#N/A": MsgBox "Surpresseur non adapté: débit trop élevé."

Je comprends que tu ais du mal à t'y retrouver car le code n'est pas écrit pour être très lisible.
 
Tout d'abord un grand merci pour ton retour rapide!

Après avoir fait toutes les modifications que tu m'as suggérées je rencontre un message d'erreur pour certaines combinaisons "erreur d'exécution '13': Incompatibilité de type" et sur le code quand on passe la souris on peut voir "erreur 2042". Et puis comme je ne comprends pas comment fonctionne cette partie de code je ne sais pas ce que je dois modifier.
ou est le calcul de A32? Comment Range("A32").Value < 10.8 puisque A32 n'a aucune formule?

Je continue a fouiller sur les forums
 

Pièces jointes

Salut,

Je regarde tes nouveaux fichiers, en attendant voici la réponse à
ou est le calcul de A32? Comment Range("A32").Value < 10.8 puisque A32 n'a aucune formule?

En fait la valeur en A32 est générée par le code vba avec la ligne de commande :
VB:
Range("A32").Formula = Range("B27").Value

Son contenu est effacé ensuite avec le code suivant :
VB:
Range("A32").Select
Selection.ClearContents
 
En reformalisant une partie du code que tu as modifié dans ton fichier :
VB:
If Range("C13").Value = 3 Then
    If Range("B32").Value = 1 Then
        Range("C14").Value = "#N/A"
        MsgBox "Fonctionnement du canon hors recommandations du fabricant.", vbOKOnly
    ElseIf Range("B51").Value < 18 Then
        Range("C14").Value = "#N/A"
        MsgBox "Surpresseur non adapté: débit trop faible."
    ElseIf Range("B51").Value > 61.2 Then
        Range("C14").Value = "#N/A"
        MsgBox "Surpresseur non adapté: débit trop élevé."
    End If
End If
on voit bien que tu n'as pas tout mis à jour, "B32" devrait être "C51" dans ton nouveau fichier.
Donc vérifie qu'il n'y a pas d'autres cas (ctrl+F fonctionne aussi dans le code vba).
 
Oui désolé je me suis planté dans un enregistrement je t'avais renvoyé un ancien fichier, je pensais être tiré d'affaire en ignorant les erreurs mais elles réapparaissent après réouverture... je crois que je vais devoir refaire depuis 0 cette partie pour la comprendre.
 
- 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
6
Affichages
150
Réponses
5
Affichages
155
Réponses
3
Affichages
336
Réponses
5
Affichages
117
  • Question Question
Microsoft 365 NFC et Excel
Réponses
1
Affichages
141
Réponses
1
Affichages
133
Retour