OVH Cloud OVH Cloud

Pb sur une macro

7 réponses
Avatar
Billys600
j'ai conçu une macro qui ouvre des fichiers puis les convertis en XLS

Sur mon PC tout fonctionne parfaitement.
Sur un autre PC ma macro démarrepar un Click puis je vais sur mon module de
code par un call Mamacro
J'arrive bien sur le Sub Mamacro()
mais à partir de ce moment mon programme saute une 20 de ligne sur lequel il
devrai passer et se plante et même en pas à pas détaillé de ma macro

Quelqu'un aurait il un début d'idée sur ce problème ????

Merci à tous

7 réponses

Avatar
Pierre Fauconnier
Bonsoir

Sans voir le code incriminé, il est malaisé de tenter de t'aider...


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Billys600" a écrit dans le message de
news:
j'ai conçu une macro qui ouvre des fichiers puis les convertis en XLS

Sur mon PC tout fonctionne parfaitement.
Sur un autre PC ma macro démarrepar un Click puis je vais sur mon module
de
code par un call Mamacro
J'arrive bien sur le Sub Mamacro()
mais à partir de ce moment mon programme saute une 20 de ligne sur lequel
il
devrai passer et se plante et même en pas à pas détaillé de ma macro

Quelqu'un aurait il un début d'idée sur ce problème ????

Merci à tous


Avatar
Billys600
Exact voici le code:

le code passe directement à "TrailingMinusNumbers:=True" pour indiquer une
erreur de compil
Sub Bruno()

Dim TabDelete As Variant
TabDelete = Array("<", ".", "g_srt", "Rubriq", "Appels", "Duree", "Taxes",
"-", "", "[", "rt", "Numero", "Usage", "Releve", "-c", "-v", "Exemple",
"rlogin", "xx")
Dim TabFichier(170) As Variant
Dim Index As Integer
Dim checkFile As String
Dim FicheEpure As String

Index = 0
TabFichier(0) = Dir("C:*.txt") '1er fichier .txt trouvé dans la directory

While TabFichier(Index) <> "" And Index < 170
Index = Index + 1
TabFichier(Index) = Dir
Wend

Dateactuelle = Now
m_semaine = DatePart("ww", Dateactuelle, vbMonday, vbFirstFullWeek)
m_annee = Right(Format(Dateactuelle, "dd/mm/yy"), 2)

FicheEpure = "EpureFichierBoul" + CStr(m_semaine) + CStr(m_annee) + ".xls"

ChDir "C:"

checkFile = Dir(TabFichier(0)) ' + ".txt")

If checkFile = TabFichier(0) Then '+ ".txt" Then

Workbooks.OpenText Filename:=TabFichier(0), Origin:=xlMSDOS, StartRow:= _
1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, _
1), Array(12, 1), Array(19, 1), Array(27, 1), Array(34, 1),
Array(40, 1), Array(49, 1), _
Array(55, 1), Array(62, 1), Array(69, 1)), TrailingMinusNumbers:=True

ActiveWorkbook.SaveAs Filename:=FicheEpure, FileFormat:=xlExcel9795, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse, _
CreateBackup:úlse

ligne = 1
bduplicateLigne = 0
passage = 0
stopper = 0
ligne2 = 0
i = 0
Range("A1").Select
Selection.ClearContents



Bonsoir

Sans voir le code incriminé, il est malaisé de tenter de t'aider...


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Billys600" a écrit dans le message de
news:
j'ai conçu une macro qui ouvre des fichiers puis les convertis en XLS

Sur mon PC tout fonctionne parfaitement.
Sur un autre PC ma macro démarrepar un Click puis je vais sur mon module
de
code par un call Mamacro
J'arrive bien sur le Sub Mamacro()
mais à partir de ce moment mon programme saute une 20 de ligne sur lequel
il
devrai passer et se plante et même en pas à pas détaillé de ma macro

Quelqu'un aurait il un début d'idée sur ce problème ????

Merci à tous







Avatar
Pierre Fauconnier
Bonsoir

TrailingMinusNumbers n'est pas le nom d'un paramètre correct, à mon avis.
Si tu saisis Workbooks.opentext puis espace, tu verras la liste des
paramètres requis et optionnels ( en fait, pour opentext, seul le premier
paramètre FileName est requis) et tu verras que TrailingMinusNumbers ne se
trouve pas dans la liste. C'est pourquoi tu as une erreur de compilation car
la séquence des paramètres n'est pas conforme à celle définie pour la
méthode OpenText

Personnellement, et sans recherche approfondie, je n'ai pas trouvé trace de
TrailingMinusNumbers dans ma documentation ni dans l'aide d'Excel ( XL 2000)

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Billys600" a écrit dans le message de
news:
Exact voici le code:

le code passe directement à "TrailingMinusNumbers:=True" pour indiquer
une
erreur de compil
Sub Bruno()

Dim TabDelete As Variant
TabDelete = Array("<", ".", "g_srt", "Rubriq", "Appels", "Duree", "Taxes",
"-", "", "[", "rt", "Numero", "Usage", "Releve", "-c", "-v", "Exemple",
"rlogin", "xx")
Dim TabFichier(170) As Variant
Dim Index As Integer
Dim checkFile As String
Dim FicheEpure As String

Index = 0
TabFichier(0) = Dir("C:*.txt") '1er fichier .txt trouvé dans la
directory

While TabFichier(Index) <> "" And Index < 170
Index = Index + 1
TabFichier(Index) = Dir
Wend

Dateactuelle = Now
m_semaine = DatePart("ww", Dateactuelle, vbMonday, vbFirstFullWeek)
m_annee = Right(Format(Dateactuelle, "dd/mm/yy"), 2)

FicheEpure = "EpureFichierBoul" + CStr(m_semaine) + CStr(m_annee) + ".xls"

ChDir "C:"

checkFile = Dir(TabFichier(0)) ' + ".txt")

If checkFile = TabFichier(0) Then '+ ".txt" Then

Workbooks.OpenText Filename:=TabFichier(0), Origin:=xlMSDOS, StartRow:=
_
1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, _
1), Array(12, 1), Array(19, 1), Array(27, 1), Array(34, 1),
Array(40, 1), Array(49, 1), _
Array(55, 1), Array(62, 1), Array(69, 1)),
TrailingMinusNumbers:=True

ActiveWorkbook.SaveAs Filename:=FicheEpure, FileFormat:=xlExcel9795, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse, _
CreateBackup:úlse

ligne = 1
bduplicateLigne = 0
passage = 0
stopper = 0
ligne2 = 0
i = 0
Range("A1").Select
Selection.ClearContents



Bonsoir

Sans voir le code incriminé, il est malaisé de tenter de t'aider...


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Billys600" a écrit dans le message
de
news:
j'ai conçu une macro qui ouvre des fichiers puis les convertis en XLS

Sur mon PC tout fonctionne parfaitement.
Sur un autre PC ma macro démarrepar un Click puis je vais sur mon
module
de
code par un call Mamacro
J'arrive bien sur le Sub Mamacro()
mais à partir de ce moment mon programme saute une 20 de ligne sur
lequel
il
devrai passer et se plante et même en pas à pas détaillé de ma macro

Quelqu'un aurait il un début d'idée sur ce problème ????

Merci à tous









Avatar
GD
Bonsour® Pierre, Billys600,

dans l'aide pour EXCEL 2002
OpenText, méthode
../..
expression.OpenText(FileName, Origin, StartRow, DataType, TextQualifier,
ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar,
FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator,
TrailingMinusNumbers, Local)
../..
TrailingMinusNumbers Argument de type Variant facultatif.

Cette propriété a la valeur True pour que Microsoft Excel traite les nombres
importés en tant que texte et commençant par un symbole « - » en tant que
valeurs négatives. Cette propriété a la valeur False pour que Excel traite
les nombres importés en tant que texte et commençant par un symbole « - »
comme du texte.

une solution pour compatibilité 2000/2002 en mettant ce parametre en
commentaire
;->
NON ???

@+
Nb: cette propriété est de type Booleen dans la Classe QueryTable
Avatar
Pierre Fauconnier
Salut GD, heureux de te lire...

C'est pour cela que je précisais ma version. Cela étant, je ne suis pas en
mesure, dès lors que c'est spécifique à XL2002, d'aider notre pauvre ami...

Bonne soirée


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

PS. Seras-tu à Liège en juin?

"GD" a écrit dans le message de news:

Bonsour® Pierre, Billys600,

dans l'aide pour EXCEL 2002
OpenText, méthode
../..
expression.OpenText(FileName, Origin, StartRow, DataType, TextQualifier,
ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar,
FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator,
TrailingMinusNumbers, Local)
../..
TrailingMinusNumbers Argument de type Variant facultatif.

Cette propriété a la valeur True pour que Microsoft Excel traite les
nombres
importés en tant que texte et commençant par un symbole « - » en tant que
valeurs négatives. Cette propriété a la valeur False pour que Excel traite
les nombres importés en tant que texte et commençant par un symbole « - »
comme du texte.

une solution pour compatibilité 2000/2002 en mettant ce parametre en
commentaire
;->
NON ???

@+
Nb: cette propriété est de type Booleen dans la Classe QueryTable





Avatar
Oliv'
Pierre Fauconnier que je salut a écrit
dans
Bonsoir

TrailingMinusNumbers n'est pas le nom d'un paramètre correct, à mon
avis. Si tu saisis Workbooks.opentext puis espace, tu verras la liste
des paramètres requis et optionnels ( en fait, pour opentext, seul le
premier paramètre FileName est requis) et tu verras que
TrailingMinusNumbers ne se trouve pas dans la liste. C'est pourquoi
tu as une erreur de compilation car la séquence des paramètres n'est
pas conforme à celle définie pour la méthode OpenText

Personnellement, et sans recherche approfondie, je n'ai pas trouvé
trace de TrailingMinusNumbers dans ma documentation ni dans l'aide
d'Excel ( XL 2000)
Ok?


C'est un ajout avec les nouvelles versions comme le précisait GD
tu dois effectuer un contrôle sur la version de excel pour declencher la
procédure correspondante.
Attention au comportement selon les versions concernant les parametres
internationnaux de dates et séparateurs , ou .

ex :
Public nom_fichier
Public fpath


Sub reouvre()
'
' Macro2 Macro
' Macro enregistrée le 17/12/2003 par Olivier CATTEAU
'

'

VersExcel = Application.Version


nom_fichier = ActiveWorkbook.Name
fpath = ActiveWorkbook.Path
Workbooks(nom_fichier).Close SaveChanges:úlse
If VersExcel = "11.0" Then
xl2003
Else
If VersExcel = "10.0" Then
xl2003
Else
Workbooks.OpenText Filename:=fpath & "" & nom_fichier, Origin:=xlWindows,
_
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse,
Comma:úlse _
, Space:úlse, Other:úlse

End If
End If

' MsgBox VersExcel

End Sub



Sub xl2003()
Workbooks.OpenText Filename:=fpath & "" & nom_fichier, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
Tab:=True, local:=True
End Sub


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Avatar
Pierre Fauconnier
Merci pour la précision. Bon week-end.

Pierre

"Oliv'" <(supprimerceci) a écrit dans le
message de news:

Pierre Fauconnier que je salut a écrit
dans
Bonsoir

TrailingMinusNumbers n'est pas le nom d'un paramètre correct, à mon
avis. Si tu saisis Workbooks.opentext puis espace, tu verras la liste
des paramètres requis et optionnels ( en fait, pour opentext, seul le
premier paramètre FileName est requis) et tu verras que
TrailingMinusNumbers ne se trouve pas dans la liste. C'est pourquoi
tu as une erreur de compilation car la séquence des paramètres n'est
pas conforme à celle définie pour la méthode OpenText

Personnellement, et sans recherche approfondie, je n'ai pas trouvé
trace de TrailingMinusNumbers dans ma documentation ni dans l'aide
d'Excel ( XL 2000)
Ok?


C'est un ajout avec les nouvelles versions comme le précisait GD
tu dois effectuer un contrôle sur la version de excel pour declencher la
procédure correspondante.
Attention au comportement selon les versions concernant les parametres
internationnaux de dates et séparateurs , ou .

ex :
Public nom_fichier
Public fpath


Sub reouvre()
'
' Macro2 Macro
' Macro enregistrée le 17/12/2003 par Olivier CATTEAU
'

'

VersExcel = Application.Version


nom_fichier = ActiveWorkbook.Name
fpath = ActiveWorkbook.Path
Workbooks(nom_fichier).Close SaveChanges:úlse
If VersExcel = "11.0" Then
xl2003
Else
If VersExcel = "10.0" Then
xl2003
Else
Workbooks.OpenText Filename:=fpath & "" & nom_fichier, Origin:=xlWindows,
_
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse,
Comma:úlse _
, Space:úlse, Other:úlse

End If
End If

' MsgBox VersExcel

End Sub



Sub xl2003()
Workbooks.OpenText Filename:=fpath & "" & nom_fichier, Origin:=xlWindows,
_
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
Tab:=True, local:=True
End Sub


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~