# IpxBrowser : discussion sur le code VBA

**URL:** <https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873>\
**Category:** Cartes Ethernet IPX800\
**Tags:** ipx800-v5\
**Created:** [Octobre 14, 2024, 8:56 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873 "2024-10-14T08:56:21Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Michel94](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/michel94/32/25788_2.png) [@Michel94](https://forum.gce-electronics.com/u/Michel94)\
**Post date:** [Octobre 15, 2024, 7:17 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/21 "2024-10-15T07:17:49Z")

</div>

Bonjour,  
Concernant la commande sleep, dans la prochaine version (v2), je vient de la remplacer par Pause. Pas fâché de me débarrasser de cette fonction qui m’a posée pas mal de pbs. Merci pour l’astuce. 👍  
Pour le reste, je verrai plus tard, une fois que le code sera stabilisé sur Windows.

Concernant le bug avec [IPX]Reboot, c’est encore un ancien code qui est passé sous le radar de ma config de test. Je l’ai reproduit et corrigé en partie sur la version publiée hier soir.  
Explication : le message «&nbsp;0.??.Err&nbsp;» est destiné à renseigner la cellule rule. Le format est `<ruleRef>.<actionName>. <Error or Not>` (not dans le cas des events affecté de l’opérateur Not dans la règle)  
Dans le nouveau format le premier point est remplacé par un espace ce qui permet d’afficher directement `<ruleRef> <actionName>` dans la cellule. L’autre partie, si elle est présente, est dédiée aux erreurs et à la coloration des caractères  
Grace à la config que tu m’a envoyée hier soir, j’ai noté le même type de pb pour les événement. C’est corrigé dans la version 2.  
Au delà de ces pbs, je pense revoir` Function Rule_EventsChecking` et  
`Function Rule_ActionsChecking` pour qu’un seul problème ne génère qu’une seule erreur, ce qui n’est pas le cas aujourd’hui.

A propos de la config, si ce n’est pas une config de tests ou une erreur dans la collecte de la config, l’IPX est bien malade :

- 3 variables déclarées comme étant la variable AC détection (65574, 65578,65680)
- variables en doublons également pour l’api weather
- valeurs d’id invalides dans la partie événement des règles 7 et 8

Bonne journée

---

<div class="post-metadata">

**Author:** ![Michel94](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/michel94/32/25788_2.png) [@Michel94](https://forum.gce-electronics.com/u/Michel94)\
**Post date:** [Octobre 15, 2024, 8:16 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/22 "2024-10-15T08:16:47Z")

</div>

> [@cce66](#):
>
> Un autre bug relevé sur un clic droit à cet endroit
> 
> ![image](https://forum.gce-electronics.com/uploads/default/original/3X/7/9/794e9935d265dc97cae2665b26d7cc0f9ae1944c.png)

Le bug est causé par le doublon de la variable Sunrise Day dans la config (id : 327688 et 327694)  
Le bug est corrigé en v2 (ça ne plante plus) mais je m’interroge sur le traitement et l’affichage de ce genre de pb.  
Si ce pb est très spécifique, je zappe. Si ce problème est symptomatique d’une autre pb plus général et plus fréquent, il faut le traiter et créer une alarme «&nbsp;Doublon&nbsp;». 🤔

---

<div class="post-metadata">

**Author:** ![ZogStriP](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/zogstrip/32/27654_2.png) [@ZogStriP](https://forum.gce-electronics.com/u/ZogStriP)\
**Post date:** [Octobre 15, 2024, 8:27 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/23 "2024-10-15T08:27:06Z")

</div>

Wow 🤩

Chapeau bas à tous ceux qui ont travaillé sur cet outil 👏

La [V5](https://gce-electronics.com/1799-.html) est bien plus complexe (avec un plus grand nombre de fonctionnalités) que la [V4](https://gce-electronics.com/1483-.html). Je n’ai même pas osé imaginer une version de [⚙ GCE Configuration Editor](https://forum.gce-electronics.com/t/gce-configuration-editor/5710) compatible, tellement il y a de travail 😅

Je suis toujours aussi étonné par la quantité de travail qu’un petit groupe de passionnés peut fournir 🤯

VBA 😍 Ça me rappelle mes débuts en programmation.

Franchement, bravo 👍

---

<div class="post-metadata">

**Author:** ![grocrabe](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/grocrabe/32/6197_2.png) [@grocrabe](https://forum.gce-electronics.com/u/grocrabe)\
**Post date:** [Octobre 15, 2024, 8:35 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/24 "2024-10-15T08:35:13Z")

</div>

Bonjour ZogStriP,

bien d’accord avec toi, chapeau bas à Michel qui pendant plus de 2 ans a bossé sur ce projet, en devant le reprendre à chaque évolution majeure de la [V5](https://gce-electronics.com/1799-.html) (et il y en a eu) sans se décourager.

Et bravo à ceux qui se penchent sur le programme et aident Michel à le perfectionner, gage d’une longue vie pour cet outil, indispensable.

Bonne journée

---

<div class="post-metadata">

**Author:** ![cce66](https://forum.gce-electronics.com/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://forum.gce-electronics.com/u/cce66)\
**Post date:** [Octobre 16, 2024, 8:50 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/25 "2024-10-16T08:50:44Z")

</div>

Salut @Michel94

> [@Michel94](#):
>
> En VBA Excel,  
> `setData = Iif(CheckBox_OnOff.value = True, "true", "false")`  
> est différent de  
> `setData = CheckBox_OnOff.value = True)`
> 
> Dans le deuxième cas, si la langue paramétrée est le français, on risque se retrouver avec des « VRAI » et des « FAUX ».

Effectivement d’autant plus que j’avais pas vu que le premier retourne un string alors que le 2d un boolean donc ça peut pas le faire (mais ça aura eu le mérite de montrer l’astuce dev ! 😉 ) !

> [@Michel94](#):
>
> A propos de la config, si ce n’est pas une config de tests

config de test, j’vais vu pour weaher je vais la réinitialiser usine 👍

> [@Michel94](#):
>
> Le bug est corrigé en v2 (ça ne plante plus) mais je m’interroge sur le traitement et l’affichage de ce genre de pb. Si ce pb est très spécifique, je zappe.

je pense que c’est spécifique à ma config …mais tu peux implémenter la gestion d’erreur que je t’ai indiqué au cas ou, en l’adaptant si besoin (un msgbox pour l’utilisateur à transmettre au débugeur suivi d’un err.clear peu suffire, le but étant surtout d’éviter le crash du code)

---

<div class="post-metadata">

**Author:** ![Michel94](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/michel94/32/25788_2.png) [@Michel94](https://forum.gce-electronics.com/u/Michel94)\
**Post date:** [Octobre 16, 2024, 9:41 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/26 "2024-10-16T09:41:08Z")

</div>

Bonjour,

> [@Michel94](#):
>
> - valeurs d’id invalides dans la partie événement des règles 7 et 8

Je pense avoir compris le rôle de ces id invalides : ils seraient liés à des variables appartenant à des éléments qui ont été effacés et indiquerait le type de l’élément effacé. Dans ce cas, ils ne perturberaient pas le fonctionnement de l’Ipx. Si c’est confirmé, je vais gérer cette information en avertissement, comme les `no source` ou `no destination` des connecteurs.  
Bonne journée

---

<div class="post-metadata">

**Author:** ![cce66](https://forum.gce-electronics.com/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://forum.gce-electronics.com/u/cce66)\
**Post date:** [Octobre 16, 2024, 12:58 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/27 "2024-10-16T12:58:00Z")

</div>

Salut @Michel94

tu peux modifier la gestion d’erreur en ajoutant Erl() (fonction propre vba) cela affichera en plus le numéro de ligne ou l’'erreur s’est produite

sub quelconque ()

On Error GoTo errSub  
…  
…  
Exit Sub

errSub:  
Call GestionErr("Erreur sub quelconque ligne : " & Erl() & " # " & Err.Number & " # " & Err.Description & vbCrLf)  
Err.Clear  
Resume Next

end sub

j’ai retrouvé dans mes placards le module qu’il faut pour la gestion fichier, tu peux l’importer directement en module (c’est du vb6 mais compatible) tu regarde les fonctions qui peuvent remplacer le code problématique dans programme (pour mac il faudra modifier pour ajouter du test conditionnel OS pour les «&nbsp;\&nbsp;» vers «&nbsp;/&nbsp;»)

[mod\_Disk\_io.zip](https://forum.gce-electronics.com/uploads/short-url/uWeKD5wByCNYG1VowXRn1LasCFa.zip) (4,3 Ko)

Bonne lecture 😉

---

<div class="post-metadata">

**Author:** ![Michel94](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/michel94/32/25788_2.png) [@Michel94](https://forum.gce-electronics.com/u/Michel94)\
**Post date:** [Octobre 16, 2024, 2:10 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/28 "2024-10-16T14:10:15Z")

</div>

On ne parle pas des mêmes erreurs. Il ne s’agit pas d’erreur VBA…  
Dans mon propos, je parle d’identifiants contenus dans les listes des events (inputList) et des actions (outputList) des règles qui ne sont ni des identifiants de variable, ni des identifiants de d’opérateurs comme on pourrait s’y attendre. C’est pourquoi, j’ai considéré ces identifiants comme des erreurs (d’où l’alarme invalid Id !). Après avoir vu que ces identifiants correspondaient à la dernière valeur de la plage des identifiants de ressources, je crois avoir compris que ces identifiants ne sont pas là par erreur, mais pour indiquer un type de ressource (la méthode est déjà utilisée par GCE dans les dependencies\_id des mqtt pour indiquer le type de variable utilisé). Je pense donc que ces informations sont peut être écrite si l’élément contenant la variable contenue dans la liste est effacée. L’inscription indiquerait le type de ressource parente de la variable qui a été effacée.  
Si mon analyse est bonne, je me pose la question si l’information est intéressante à être affichée et sous quelle forme.

Pour le portage sur Mac, ce n’est vraiment pas ma priorité. Je crois avoir lu que l’utilisation de Contrôles Activex était rédhibitoire et l’utilisation des Contrôles formulaire n’est pas adapté (j’ai essayé).

Pour @jmalpoincy, si on regarde son premier message, il semble que sont problème se situe sur la ligne `analogChart.Chart.FullSeriesCollection(i).ChartType = xlXYScatterSmoothNoMarkers.`  
Il ne me semble pas qu’il y ait de dll spécifique à charger pour utiliser les shape.Chart.FullSeriesCollection() . Sa version d’Excel est peut-être trop ancienne.

---

<div class="post-metadata">

**Author:** ![fgtoul](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/fgtoul/32/28801_2.png) [@fgtoul](https://forum.gce-electronics.com/u/fgtoul)\
**Post date:** [Octobre 16, 2024, 2:18 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/29 "2024-10-16T14:18:12Z")

</div>

> [@Michel94](#):
>
> analogChart.Chart.FullSeriesCollection(i).ChartType

Bonjour,  
Il faut essayer d’utiliser l’objet SeriesCollection plutôt que FullSeriesCollection qui est plus récent, donc certainement inexistant en VBA 2010.  
Bonne journée

---

<div class="post-metadata">

**Author:** ![Michel94](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/michel94/32/25788_2.png) [@Michel94](https://forum.gce-electronics.com/u/Michel94)\
**Post date:** [Octobre 16, 2024, 2:58 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/30 "2024-10-16T14:58:43Z")

</div>

Bonjour François,  
FullSeriesCollection contient toutes les séries, qu’elles soient actives ou non.  
SeriesCollection ne contient que les séries actives  
Les graphs analogiques et booleen utilisent la même échelle de temps, celle du graph analogique  
Les cases à cocher Y1 et Y2 permettent de changer l’échelle, mais aussi de désactiver l’affichage de la série  
Si on utilise SeriesCollection et que toutes les voies sont désactivées, c’est la cata.  
Dans les premières versions, j’utilisais une neuvième voie pour éviter le phénomène mais le résultat n’était pas probant.  
Avec FullSeriesCollection, le résultat est stable…

---

<div class="post-metadata">

**Author:** ![fgtoul](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/fgtoul/32/28801_2.png) [@fgtoul](https://forum.gce-electronics.com/u/fgtoul)\
**Post date:** [Octobre 16, 2024, 3:02 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/31 "2024-10-16T15:02:17Z")

</div>

FullSeries n’est pas retrocompatible car est apparu récemment. Donc les détenteurs d’un excel ancien (2010 ou autres) ne pourront pas exécuter le code. Il n’y a pas de composant, c’est interne à Excel VBA. Chaque nouvelle version Office apporte ses nouveaux objets, méthodes ou propriétés.  
Il faut donc utiliser les objets ou méthodes les plus anciens mais maintenus par Microsoft pour être compatible avec le plus grand nombre. C’est toute la difficulté avec une programmation en langage script. Tout le monde n’a pas le même interpréteur.

---

<div class="post-metadata">

**Author:** ![Michel94](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/michel94/32/25788_2.png) [@Michel94](https://forum.gce-electronics.com/u/Michel94)\
**Post date:** [Octobre 16, 2024, 3:25 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/32 "2024-10-16T15:25:10Z")

</div>

Le module Graph, qui n’était pas prévu au départ, a été réalisé, un peu par jeu, pour visualiser la consommation de gaz, les températures intérieures et les température extérieures.  
Il s’agit d’un module assez indépendant, facilement découplable.  
Lorsque j’aurai terminé la révision du contrôle des règles, je tenterai de faire une version sans la partie graphique. Par contre, il est à craindre que ça ne suffise pas et que d’autres fonctions récentes plantent l’Excel 2010.

---

<div class="post-metadata">

**Author:** ![cce66](https://forum.gce-electronics.com/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://forum.gce-electronics.com/u/cce66)\
**Post date:** [Novembre 17, 2024, 12:58 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/33 "2024-11-17T12:58:53Z")

</div>

Bonjour @Michel94

Super, belle amélioration !

Quelques améliorations possibles :  
«&nbsp;+ Add Ipx&nbsp;» ajouter un tests des valeurs des cellules «&nbsp;Ip adress&nbsp;» et «&nbsp;Api Key&nbsp;» si une des deux est vide le bouton ne doit pas ajouter d’Ipx

pour valider l’adresse IP une fonction

> **code verif ipv4**
>
> Function IsValidIPv4(ipAddress As String) As Boolean
> 
> ```
> ' Déclaration des variables
> Dim parts() As String
> Dim part As Variant
> Dim ii As Integer
> 
> ' Sépare l'adresse IP en parties
> parts = Split(ipAddress, ".")
> 
> ' Vérifie si l'adresse IP a exactement 4 parties
> If UBound(parts) <> 3 Then
> IsValidIPv4 = False
> Exit Function
> End If
> 
> ' Vérifie chaque partie
> For ii = LBound(parts) To UBound(parts)
> part = parts(ii)
>     
> ' Vérifie si la partie est un nombre
> If Not IsNumeric(part) Then
> IsValidIPv4 = False
> Exit Function
> End If
>     
> ' Convertit la partie en nombre
> Dim partValue As Integer
> partValue = CInt(part)
>     
> ' Vérifie si la partie est dans la plage valide (0-255)
> If partValue < 0 Or partValue > 255 Then
> IsValidIPv4 = False
> Exit Function
> End If
>     
> ' Vérifie si la partie ne contient pas de zéros non significatifs
> If part <> CStr(partValue) Then
> IsValidIPv4 = False
> Exit Function
> End If
>     
> ' Vérifie si le 4ème octet n'est pas 0 ou 255
> If ii = 3 And (partValue = 0 Or partValue = 255) Then
> IsValidIPv4 = False
> Exit Function
> End If
> Next ii
> 
> ' Si tout ok alors l'IP est valide
> IsValidIPv4 = True
> 
> ```
> 
> End Function

un appui «&nbsp;Connection test&nbsp;» génére une erreur 75 dans le module «&nbsp;Module\_IpxConfig&nbsp;» dnas la fonction CreateOrRenameIpxFolder  
la gestion d’erreur peut être plus explicite avec

> **gestion erreur**
>
> err:  
> response = MsgBox(«&nbsp;Error " & err.Number & vbLf & err.Description, vbOKOnly, «&nbsp;Error&nbsp;»)  
> CreateOrRenameIpxFolder = destinationName & " (error)&nbsp;»  
> If err.Number = 75 Then  
> response = MsgBox(«&nbsp;Error 75: Path/File access error. Please ensure the source path «&nbsp;&nbsp;»&nbsp;» & sourcePath & «&nbsp;&nbsp;»" and destination path «&nbsp;&nbsp;»" & destinationPath & «&nbsp;&nbsp;»" are correct and that you have the necessary permissions.", vbOKOnly, «&nbsp;Error&nbsp;»)  
> Else  
> response = MsgBox(«&nbsp;Error " & err.Number & vbLf & err.Description, vbOKOnly, «&nbsp;Error&nbsp;»)  
> End If  
> CreateOrRenameIpxFolder = destinationName & " (error)&nbsp;»

sourcePath =  
C:\Users\claude\Downloads\IpxBrowser 5.5.8-v2\New Ipx (3)  
destinationPath  
C:\Users\claude\Downloads\IpxBrowser 5.5.8-v2\[IPX800V5](https://gce-electronics.com/1799-.html)

Si j’essaie de modifier dans l’explorateur windows j’ai

 ![image](https://forum.gce-electronics.com/uploads/default/original/3X/c/8/c88dc331e0214e28699cdf1076b7eb5d69f9cdf9.png)

Si j’arretes le prog le renommage se fait donc cela vient du prog, si j’ai le temps je chercherais ce soir, car PM c’est plomberie ! 😟

Et un message de confirmation de la sauvegarde serait le bienvenue aussi  
Private Sub CommandButton\_SaveNewXlsmFile\_Click()  
SaveVersioning  
End Sub

dans CommandButton\_RemoveIpx\_Click de settingSheet ajouter + vbApplicationModal + vbQuestion à vbYesNo force l’affichage du messagebox en avant plan et à y répondre  
response = MsgBox(«&nbsp;Remove " & graphSheet.Label\_IpxName.Caption & " from IpxBrowser ?&nbsp;», vbYesNo + vbApplicationModal + vbQuestion, «&nbsp;Remove Ipx&nbsp;»)

---

<div class="post-metadata">

**Author:** ![Michel94](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/michel94/32/25788_2.png) [@Michel94](https://forum.gce-electronics.com/u/Michel94)\
**Post date:** [Novembre 18, 2024, 7:19 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/34 "2024-11-18T07:19:52Z")

</div>

Bonjour @cce66  
J’ai ajouté, dans mon message du post principal, un rappel des consignes :

> [@gear Utilitaire IpxBrowser pour IPX800 V5](https://forum.gce-electronics.com/t/utilitaire-ipxbrowser-pour-ipx800-v5/18868/21):
>
> Edit :
> 
> Pour upgrader IpxBrowser, il suffit de copier la nouvelle version décompressée dans le répertoire dédié à IpxBrowser. A l’ouverture de ce fichier, ce dernier récupère les paramètres et réglages en cours. Voir l’annexe 8 de la notice.
> 
> Pour une première installation, voir «&nbsp;1 - Installation et paramétrage&nbsp;» de la notice.

> [@cce66](#):
>
> « + Add Ipx » ajouter un tests des valeurs des cellules « Ip adress » et « Api Key » si une des deux est vide le bouton ne doit pas ajouter d’Ipx

Je pense qu’il y a une confusion dans l’interprétation de la procédure de déclaration d’un Ipx :  
Comme indiqué dans la notice, la création d’un Ipx (et du répertoire correspondant) doit être faite **avant de renseigner les données de connexion**.  
IpxBrowser peut héberger 2 types d’Ipx :

- Les «&nbsp;Ipx locaux&nbsp;» auxquels il est possible de se connecter à l’aide des données de connexion. Ces données de connexion doivent être validées par **Connection test** pour être prises en compte. Connection test valide à la fois l’adresse Ip et l’API Key. Il ne semble donc pas nécessaire d’ajouter `code verif ipv4`. Voir plus bas les exemples de détection d’erreur par Connection test

- Les «&nbsp;Ipx externes&nbsp;» qui sont renseignés uniquement par des fichiers de configuration provenant d’autres IpxBrowser. Pour ces Ipx externes, les données de connexion ne sont pas nécessaires.

Pour info, j’ai dans ma configuration, un Ipx externe nommé cce66 qui contient le fichier de configuration que tu m’a envoyé il y a un mois. J’ai également deux autres Ipx externes, ce qui m’a permis de tester IpxBrowser sur toutes ces configurations.

Si l’on modifie les données de connexion avant d’avoir créé un nouvel Ipx, on modifie les données utilisées pour l’Ipx en cours.

**+ Add Ipx** a des actions sur l’Ipx en cours : arrêt de l’éventuelle capture en cours, sauvegarde du graphique en cours, mémorisation des dernières commandes dans Selector et Browser. Il efface ensuite d’IpxBrowser toute la configuration de l’ipx en cours et créé la structure du repertoire IPX permettant d’accueillir le nouvel Ipx.

Est-ce que la procédure décrite en «&nbsp;1 - Installation et paramétrage&nbsp;» de la notice a bien été respectée ?

Deux exemples de détection d’erreurs par Connection test :

 ![image](https://forum.gce-electronics.com/uploads/default/original/3X/a/4/a40e06f06d48ba23a24ad557144d3f0b81875427.png)

 ![image](https://forum.gce-electronics.com/uploads/default/original/3X/f/7/f71add4bed57c1bc32893ea3886588f925df135a.png)

> [@cce66](#):
>
> Et un message de confirmation de la sauvegarde serait le bienvenue aussi  
> Private Sub CommandButton\_SaveNewXlsmFile\_Click()  
> SaveVersioning  
> End Sub

Ce bouton fait partie des boutons réservés au développement. Il n’est pas accessible aux utilisateurs. La confirmation est réalisée par l’incrémentation de la version de développement.

> [@cce66](#):
>
> dans CommandButton\_RemoveIpx\_Click de settingSheet ajouter + vbApplicationModal + vbQuestion à vbYesNo force l’affichage du messagebox en avant plan et à y répondre

Il me semble que par défaut, dans VBA, messageBox est modal.

Bonne journée

---

<div class="post-metadata">

**Author:** ![cce66](https://forum.gce-electronics.com/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://forum.gce-electronics.com/u/cce66)\
**Post date:** [Novembre 18, 2024, 11:04 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/35 "2024-11-18T11:04:10Z")

</div>

Bonjour @Michel94

> [@Michel94](#):
>
> Je pense qu’il y a une confusion dans l’interprétation de la procédure de déclaration d’un Ipx

C’est cela, contre-intuitif pour moi, ca me paraissait plus logique de mettre d’abord les valeurs IP et Apikey puis «&nbsp;+Add Ipx&nbsp;» peut-être qu’une notion «&nbsp;+ Add Config&nbsp;» aurait été plus claire…pour moi ! 🙂 Après une fois qu’on le sait…ou quand on a pas sauté une ligne ou plusieurs lignes de la doc ! 😂

> [@Michel94](#):
>
> Ces données de connexion doivent être validées par **Connection test** pour être prises en compte. Connection test valide à la fois l’adresse Ip et l’API Key.

Effectivement, de facto, si la connexion échoue c’est qu’il y a un problème ou d’IP ou Apikey… ou d’IPX injoignable ! Mais cela pourrait être plus convivial pour la prochaine version d’avoir

si vérif de la validité de l’ip ok continue sinon affiche msg problème IP sort  
si ping de l’IP ok continue sinon affiche msg problème ping sort  
si connexion test ok continue sinon affiche msg problème Apikey sort

> [@Michel94](#):
>
> Il me semble que par défaut, dans VBA, messageBox est modal.

Autant pour moi, comme j’étais en mode débogage j’avais la fenêtre de code et quand je cliquais dessus juste un glin gling, il fallait que je rebascule sur excel 🙄 La fatigue sans doute… 🙂 De plus vbSystemModal étais plus adéquat !

Bonne journée à toi également

---

<div class="post-metadata">

**Author:** ![Michel94](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/michel94/32/25788_2.png) [@Michel94](https://forum.gce-electronics.com/u/Michel94)\
**Post date:** [Novembre 18, 2024, 2:45 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/36 "2024-11-18T14:45:33Z")

</div>

> [@cce66](#):
>
> C’est cela, contre-intuitif pour moi, ca me paraissait plus logique de mettre d’abord les valeurs IP et Apikey.

C’est pour cela que, lors de la première installation, si aucun dossier n’est créé, la page Setting est verrouillée et aucune saisie n’est autorisée (si on ne contourne pas la protection 😉).  
Dans la notice c’est indiqué par :  
 ![image](https://forum.gce-electronics.com/uploads/default/original/3X/7/9/79d2abbc2977d9353dc9d7ec458307979594e74b.png)

D’autre part, il faut rappeler que dans le cas d’un «&nbsp;Ipx externe&nbsp;», cet Ipx est déclaré sans que les données de connexion soient utilisées.

> [@cce66](#):
>
> « +Add Ipx » peut-être qu’une notion « + Add Config » aurait été plus claire

Dans la logique IpxBrowser :  
Un **Ipx** est un équipement [IPX800V5](https://gce-electronics.com/1799-.html) qui est représenté dans le système IpxBrowser par un répertoire à son nom contenant les différentes évolutions de sa configuration (les fichiers configs) et les graphiques qui ont été tracés à partir de ses variables.  
Une **configuration** est un fichier (ex : `Ipx_v5.5.8 24-09-15 (11-44).json`) représentant la configuration de l’Ipx à un moment donné.

> [@cce66](#):
>
> Mais cela pourrait être plus convivial pour la prochaine version…

Le module de validation utilisé par **Connection test** est un module générique qui est utilisé lors de chaque connexion d’IpxBrowser à un [IPX800V5](https://gce-electronics.com/1799-.html) (connection test, request Api, rafraichissement des variables, set variable, capture pour le module Graph) et qui indique la nature du problème rencontré dans l’indicateur de connexion de façon, à mon avis, assez explicite 😵‍💫 (voir les deux exemples d’erreurs détectées dans le message précédent). C’est également ce module qui affiche «&nbsp;File config&nbsp;» dans l’indicateur de connexion lorsqu’un Ipx externe est sélectionné ou si la configuration affichée n’est pas celle présente dans [IPX800V5](https://gce-electronics.com/1799-.html) correspondant.  
Personnellement, je ne trouve pas d’intérêt à ajouter, spécifiquement ici, des contrôles qui n’apporteront pas une précision supplémentaire (je m’économise… 🥱).

Merci de l’intéret que tu portes à IpxBrowser.  
Pour info, comme tu l’avais suggéré, dans cette version, j’ouvre désormais tous les fichier avec des freeFile ! 😇

---

<div class="post-metadata">

**Author:** ![cce66](https://forum.gce-electronics.com/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://forum.gce-electronics.com/u/cce66)\
**Post date:** [Novembre 18, 2024, 4:14 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/37 "2024-11-18T16:14:08Z")

</div>

> [@Michel94](#):
>
> la nature du problème rencontré dans l’indicateur de connexion de façon, à mon avis, assez explicite

Oui j’ai testé en mettant n’importe quoi et en dehors du message 75 on sait qu’il y a quelque chose qui cloche donc suffit de regarder quoi…et puis c’est pas des lapins de six semaines qui vont s’en servir non plus ! 🤣

> [@Michel94](#):
>
> Merci de l’intéret que tu portes à IpxBrowser.

Triple intérêt pour moi

- l’ipx
- le rafraichissement de ma mémoire du codage vb
- et pas mal de trucs que j’ai découvert ou rafraichis sur le vba excel en lisant ton code ! 🙂

Dès que j’ai plus de temps, je regarderais en profondeur (là je suis bien pris entre du codage bash conséquent et du node-red également)

> [@Michel94](#):
>
> j’ouvre désormais tous les fichier avec des freeFile

😉 👍 Faudrait tester sur mac, ca devrait pourvoir marcher maintenant ? 🤔

---

<div class="post-metadata">

**Author:** ![seraphinou](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/seraphinou/32/6569_2.png) [@seraphinou](https://forum.gce-electronics.com/u/seraphinou)\
**Post date:** [Novembre 18, 2024, 6:35 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/38 "2024-11-18T18:35:37Z")

</div>

Bsr , je suis votre sujet  
Je suis sur Mac si ça peut aider pour tester  
Cordialement

---

<div class="post-metadata">

**Author:** ![cce66](https://forum.gce-electronics.com/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://forum.gce-electronics.com/u/cce66)\
**Post date:** [Novembre 18, 2024, 8:45 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/39 "2024-11-18T20:45:58Z")

</div>

Bonsoir @seraphinou

> [@seraphinou](#):
>
> Bsr , je suis votre sujet

Du verbe suivre ou du verbe être ? 😂

Si tu as excel sur mac, tu peux le charger le lancer cliquer sur «&nbsp;Développeur&nbsp;»

 ![image](https://forum.gce-electronics.com/uploads/default/original/3X/7/4/74d02dcfae1c86ebeec88ec9bc4af0220914cd90.png)

Tu lance et si ça plante, çà permettra de voir si il est possible d’adapter le code pour que cela tourne sous mac !

il y a juste à mettre ces lignes pour traiter les deux cas aux endroits ou ca plante :

```
If InStr(1, Application.OperatingSystem, "Mac", vbTextCompare) > 0 Then
    ' code pour mac
ElseIf InStr(1, os, "Windows", vbTextCompare) > 0 Then
    ' code pour Windows
End If

```

Mais faut avoir un mac avec excel ! Après @Michel94 pourra voir pour inclure mais si il y a trop de truc à gérer pour le faire tourner sous mac..

---

<div class="post-metadata">

**Author:** ![seraphinou](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/seraphinou/32/6569_2.png) [@seraphinou](https://forum.gce-electronics.com/u/seraphinou)\
**Post date:** [Novembre 19, 2024, 4:19 UTC](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873/40 "2024-11-19T04:19:28Z")

</div>

hello  
voila

 ![Capture d’écran 2024-11-19 à 05.14.45](https://forum.gce-electronics.com/uploads/default/original/3X/b/4/b41111e26a8934fd6afdf9e026a0209ba226cc6f.jpeg)  
 ![Capture d’écran 2024-11-19 à 05.17.47](https://forum.gce-electronics.com/uploads/default/original/3X/5/5/5528b81dcf4b749c884ea035d7268f0ad7399f8c.jpeg)  
 ![Capture d’écran 2024-11-19 à 05.18.30](https://forum.gce-electronics.com/uploads/default/original/3X/9/a/9a5203a92d0bc4cbf03806112938abd905a37a0a.png)

[Page précédente](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873.md?page=1)

[Page suivante](https://forum.gce-electronics.com/t/ipxbrowser-discussion-sur-le-code-vba/18873.md?page=3)
