Bonjour,
Comme j'aime partager, je pourrais faire ma demande beaucoup plus courte mais comme elle pourrait intéresser plusieurs personnes je donne les explications .
Au boulot je suis l'un des seul à toucher au MACRO, j'ai fait pas mal de fichiers intéressants.
J’essaie de les mettre en réseau afin que tout le monde puisse utiliser le même, dans l’intérêt de modifier un seul fichier si il y a des améliorations sur celui ci.
Mais naturellement il y en a toujours qui l'enregistre sur leur PC , du coup les versions ne sont plus à jour chez certains utilisateur.
Donc ce que je voudrais faire c'est un fichier txt avec plusieurs ligne exemple:
1.2
44
7.4
6
La ligne 1 est égal à une version 1.2 d'une macro ,
ligne 2 est égal à la version d'une autre macro etc ....
Dans chaque macros je vais y coller ceci :
Sub LireVersion()
Versions = lire_ligne("Lien reseau\versions.txt", 2)
If Worksheets("Options").Range("N10").Value <> Versions Then MsgBox "Mauvaise version : " & Versions
End Sub
Private Function lire_ligne(fic As String, ligne As Long) As String
Open fic For Input As #1
le_tout = Input$(LOF(1), 1)
Close #1
lire_ligne = Split(le_tout, vbNewLine)(ligne - 1)
End Function
Dans chaque macro j'ai toujours un onglet "Options" et je vais y ajouter en N10 le numéro de la dernière version
(lire_ligne("Lien reseau\versions.txt", 2) : Le 2 sert à lire la ligne 2 du fichier txt, suivant les noms des programmes)
Mon problème est que lorsque je compare l'extraction du fichier txt il fait une différence avec Worksheets("Options").Range("N10").Value
Je n'arrive pas à voir quel est cette différence.
Si j'ajoute lire_ligne = Replace(lire_ligne, vbLf, vbCr) rien n'y change
En espérant avoir été assez clair merci pour votre aide.
Je viens de créer 2 fichiers pour l'exemple