A
Abel
Guest
Bonjour,
J'ai un soucis avec InStrRev qui n'existe pas sous Excel97. Donc mon code qui fonctionne bien avec Excel 2k plante sous Excel97.
Je voudrais trouver l'équivalent en 97.
A moins d'écrire une fonction.
Ci après un extrait de mon code qui permettra de comprendre à quoi me sert le InStrRev :
RechercheFichier = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "RECHERCHEZ LE fichier d'export.txt OU QUITTEZ ET FAITES L'EXPORT DEPUIS PRO-FI")
APartirDe = InStrRev(RechercheFichier, "\", , 1)
FichierAOuvrir = Mid(RechercheFichier, APartirDe + 1, Len(RechercheFichier) - APartirDe)
For Each WB In Workbooks
If WB.Name = FichierAOuvrir Then
MsgBox (FichierAOuvrir & " est déjà ouvert." & Chr(10) & "Fermer le si vous voulez faire un nouveau traitement." & Chr(10) & Chr(10) & "La routine est arrètée.")
GoTo LaFin
End If
Next WB
If RechercheFichier = False Then
Affichage = MsgBox("Vous allez quitter la routine." & Chr(10) & Chr(10) & "Cliquez à nouveau sur le bouton Traitement mensuel si vous voulez recommencer" & Chr(10) & Chr(10) & "Aucune modification ni aucun enregistrement n'ont été effectués" , 48)
GoTo LaFin
End If
'Ouverture du fichier d'export
Workbooks.OpenText Filename:=RechercheFichier, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False,
FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 4), Array(6, 1), Array(7, 1), Array(8, 1)) 'J'abrège ici, il y a 42 colonnes
Le but de ce truc est de tester si le fichier que je vais ouvrir ne serait pas déjà ouvert et, si oui, de prévenir l'utilisateur.
Le InStrRev me sert à aller chercher le nom du fichier sans son chemin.
Je n'ai pas vraiment réussi à trouver mon bohneur dans les fils ouverts à ce sujet.
Je souhaite tester la présence avant l'action d'ouverture pour ne pas avoir à gérer l'erreur (si je trouve le numéro du message d'erreur, je veux bien la gérer).
Ou alors, c'est mon cheminement (algorithme, dit-on je crois) qui est tortueux.
Toutes les idées sont bien venues.
Merci d'avance.
A+
Abel
J'ai un soucis avec InStrRev qui n'existe pas sous Excel97. Donc mon code qui fonctionne bien avec Excel 2k plante sous Excel97.
Je voudrais trouver l'équivalent en 97.
A moins d'écrire une fonction.
Ci après un extrait de mon code qui permettra de comprendre à quoi me sert le InStrRev :
RechercheFichier = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "RECHERCHEZ LE fichier d'export.txt OU QUITTEZ ET FAITES L'EXPORT DEPUIS PRO-FI")
APartirDe = InStrRev(RechercheFichier, "\", , 1)
FichierAOuvrir = Mid(RechercheFichier, APartirDe + 1, Len(RechercheFichier) - APartirDe)
For Each WB In Workbooks
If WB.Name = FichierAOuvrir Then
MsgBox (FichierAOuvrir & " est déjà ouvert." & Chr(10) & "Fermer le si vous voulez faire un nouveau traitement." & Chr(10) & Chr(10) & "La routine est arrètée.")
GoTo LaFin
End If
Next WB
If RechercheFichier = False Then
Affichage = MsgBox("Vous allez quitter la routine." & Chr(10) & Chr(10) & "Cliquez à nouveau sur le bouton Traitement mensuel si vous voulez recommencer" & Chr(10) & Chr(10) & "Aucune modification ni aucun enregistrement n'ont été effectués" , 48)
GoTo LaFin
End If
'Ouverture du fichier d'export
Workbooks.OpenText Filename:=RechercheFichier, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False,
FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 4), Array(6, 1), Array(7, 1), Array(8, 1)) 'J'abrège ici, il y a 42 colonnes
Le but de ce truc est de tester si le fichier que je vais ouvrir ne serait pas déjà ouvert et, si oui, de prévenir l'utilisateur.
Le InStrRev me sert à aller chercher le nom du fichier sans son chemin.
Je n'ai pas vraiment réussi à trouver mon bohneur dans les fils ouverts à ce sujet.
Je souhaite tester la présence avant l'action d'ouverture pour ne pas avoir à gérer l'erreur (si je trouve le numéro du message d'erreur, je veux bien la gérer).
Ou alors, c'est mon cheminement (algorithme, dit-on je crois) qui est tortueux.
Toutes les idées sont bien venues.
Merci d'avance.
A+
Abel