OVH Cloud OVH Cloud

excel 97 et excel 2003

3 réponses
Avatar
ephores
Bonjour à vous tous !

Mon programme recherche dans une liste de fichier excel , l'occurence saisie
dans une textbox, et si il la touve il l'affiche dans une listbox.
Chez moi avec XP et Office 2003 tous baigne, chez eux avec NT et office 97,
il ne trouve pas les chiffre à virgule.

J'utilise pourtant la dll Microsoft Object 8 library ( office 97) et le
Late-Binding mais rien n'y fait... avez vous une idée ??

Merci par avance ;-)

3 réponses

Avatar
michdenis
Bonjour Ephores,

Il va falloir que tu te compromettes davantage en donnant le code de ta procédure ...sinon cela devient un jeu de
devinette !


Salutations!



"ephores" <ephores(at)nomade.fr> a écrit dans le message de news:40cad7af$0$2231$
Bonjour à vous tous !

Mon programme recherche dans une liste de fichier excel , l'occurence saisie
dans une textbox, et si il la touve il l'affiche dans une listbox.
Chez moi avec XP et Office 2003 tous baigne, chez eux avec NT et office 97,
il ne trouve pas les chiffre à virgule.

J'utilise pourtant la dll Microsoft Object 8 library ( office 97) et le
Late-Binding mais rien n'y fait... avez vous une idée ??

Merci par avance ;-)
Avatar
ephores
Pardon la voici :

Pardon la voici :

Dim base As Excel.Application
' J'ai essayé aussi avec Dim base as object

i = 1
For i = 1 To NbOccurence
prct = ((100 * i) / NbOccurence)
ProgressBar (prct)
URL = RTrim(ResultatRecherche.Chemin(i)) &
ResultatRecherche.Fichiers(i).cFileName

Set base = CreateObject("Excel.Application")

base.Visible = False

Dim MyWorkbook As Object
'Ouvrir le fichier excel
Set MyWorkbook = base.Workbooks.Open(URL)
Label3.Caption = " Ouverture de : " & MyWorkbook.Name


Dim MySheet As Object
Dim FindRange As Object

'Parcourt toutes les feuilles
For Each MySheet In MyWorkbook.Sheets

'Cherche dans chaque feuille le text contenu dans la textbox Text1
Set FindRange = MySheet.Cells.Find(Text1.Text)



'Si trouvé
If Not FindRange Is Nothing Then
'On affiche le résultat
List1.AddItem RTrim(ResultatRecherche.Chemin(i)) &
ResultatRecherche.Fichiers(i).cFileName

End If
Next MySheet 'Feulle suivante du classeur

'Ferme le classeur
MyWorkbook.Close False


Next


"ephores" <ephores(at)nomade.fr> a écrit dans le message de
news:40cad7af$0$2231$
Bonjour à vous tous !

Mon programme recherche dans une liste de fichier excel , l'occurence
saisie

dans une textbox, et si il la touve il l'affiche dans une listbox.
Chez moi avec XP et Office 2003 tous baigne, chez eux avec NT et office
97,

il ne trouve pas les chiffre à virgule.

J'utilise pourtant la dll Microsoft Object 8 library ( office 97) et le
Late-Binding mais rien n'y fait... avez vous une idée ??

Merci par avance ;-)




Avatar
michdenis
Remplaces le contenu du module standard publié dans l'autre message par ceci :

C'est quasiment la même chose, sauf pour un petit bout de procédure que j'avais oublié d,adapter à ta situation...


Private Declare Function GetSystemDirectory Lib "kernel32.dll" Alias _
"GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Const Ref As String = "Gif89.dll"
'------------------------------
Sub OuverturePremièrefois()

Dim ChFile As String

'Vérifie si la présence du fichier dans le
'répertoire système du nouvel ordinateur
ChFile = CheminSystem & ""
If Dir(ChFile & Ref) = "" Then
'Vérifie la présence de la dll
'dans le répertoire source de ce fichier.
If Dir(ThisWorkbook.Path & "" & Ref) = "" Then
MsgBox "Le fichier à installer est absent." & _
" Placer ce fichier " & Ref & " dans le ce " & _
"répertoire : " & ThisWorkbook.Path
'Si fichier(dll) n'est pas dans le répertoire
'de ce classeur, fin de la procédure.
Exit Sub
End If
'si le fichier n'existe pas, copie du fichier
CopierUnFichier ChFile 'Procédure
InitialerBaseDeRegistre ChFile 'Procédure
End If

On Error Resume Next
ThisWorkbook.VBProject.References.AddFromFile _
ThisWorkbook.Path & "" & Ref

End Sub
'------------------------------
Sub CopierUnFichier(Destination As String)

'copie du fichier dans le répertoire système
FileCopy ThisWorkbook.Path & "" & Ref, Destination

End Sub
'------------------------------
Sub InitialerBaseDeRegistre(CheminFichier As String)

'Initialise la base de régistre
Shell "command.com /c " & CheminFichier & Ref

End Sub
'------------------------------
Function CheminSystem()
Dim RetVal As Long
Dim SysDir As String

SysDir = Space$(256)
RetVal = GetSystemDirectory(SysDir, Len(SysDir))

If RetVal <> 0 Then
CheminSystem = Left$(SysDir, RetVal)
End If
End Function
'------------------------------


Salutations!






"ephores" <ephores(at)nomade.fr> a écrit dans le message de news:40cafbb2$0$2238$
Pardon la voici :

Pardon la voici :

Dim base As Excel.Application
' J'ai essayé aussi avec Dim base as object

i = 1
For i = 1 To NbOccurence
prct = ((100 * i) / NbOccurence)
ProgressBar (prct)
URL = RTrim(ResultatRecherche.Chemin(i)) &
ResultatRecherche.Fichiers(i).cFileName

Set base = CreateObject("Excel.Application")

base.Visible = False

Dim MyWorkbook As Object
'Ouvrir le fichier excel
Set MyWorkbook = base.Workbooks.Open(URL)
Label3.Caption = " Ouverture de : " & MyWorkbook.Name


Dim MySheet As Object
Dim FindRange As Object

'Parcourt toutes les feuilles
For Each MySheet In MyWorkbook.Sheets

'Cherche dans chaque feuille le text contenu dans la textbox Text1
Set FindRange = MySheet.Cells.Find(Text1.Text)



'Si trouvé
If Not FindRange Is Nothing Then
'On affiche le résultat
List1.AddItem RTrim(ResultatRecherche.Chemin(i)) &
ResultatRecherche.Fichiers(i).cFileName

End If
Next MySheet 'Feulle suivante du classeur

'Ferme le classeur
MyWorkbook.Close False


Next


"ephores" <ephores(at)nomade.fr> a écrit dans le message de
news:40cad7af$0$2231$
Bonjour à vous tous !

Mon programme recherche dans une liste de fichier excel , l'occurence
saisie

dans une textbox, et si il la touve il l'affiche dans une listbox.
Chez moi avec XP et Office 2003 tous baigne, chez eux avec NT et office
97,

il ne trouve pas les chiffre à virgule.

J'utilise pourtant la dll Microsoft Object 8 library ( office 97) et le
Late-Binding mais rien n'y fait... avez vous une idée ??

Merci par avance ;-)