C'est le langage booléen qu'utilise VBA. Attention de déclarer la variable indic "As boolean" : Dim indic As Boolean
Slts
Bonjour j'ai un probleme un peu fou dans VBA
jai le test suivant :
variable1 = 200640azor variable2 = 200640zzz
le test :
si variable1 >= variable 2 then indic = 1 else indic = 0 endif
Sur un PC le resultat est correct : indic = 0 sur un autre PC le resultat est inversé : indic = 1
Existe- t il un parametre dans EXcel qui inverse le tri pour les tests ?
Cordialement
Alain
Pierre Fauconnier
Bonjour
A priori, je ne vois pas de paramètres dans Excel pour déterminer un tri.
Cela étant, je doute du copié-collé de ton code, car dans ton exemple, 200640azor et 200640zzz ne sont pas entre guillemets, et ne peuvent représenter des variables car les noms de variables doivent commencer par une lettre ou un _
Fais attention également si, au lieu de valeurs littérales, tu testes des valeurs de cellules. Tu peux "croire" qu'une cellule contient "200640zzz" alors qu'elle contient " 200640zzz"...
Il serait donc intéressant que tu donnes le vrai copié-collé de ton code pour une aide plus pertinente.
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"alain chatellier" a écrit dans le message de news:
Bonjour j'ai un probleme un peu fou dans VBA
jai le test suivant :
variable1 = 200640azor variable2 = 200640zzz
le test :
si variable1 >= variable 2 then indic = 1 else indic = 0 endif
Sur un PC le resultat est correct : indic = 0 sur un autre PC le resultat est inversé : indic = 1
Existe- t il un parametre dans EXcel qui inverse le tri pour les tests ?
Cordialement
Alain
Bonjour
A priori, je ne vois pas de paramètres dans Excel pour déterminer un tri.
Cela étant, je doute du copié-collé de ton code, car dans ton exemple,
200640azor et 200640zzz ne sont pas entre guillemets, et ne peuvent
représenter des variables car les noms de variables doivent commencer par
une lettre ou un _
Fais attention également si, au lieu de valeurs littérales, tu testes des
valeurs de cellules. Tu peux "croire" qu'une cellule contient "200640zzz"
alors qu'elle contient " 200640zzz"...
Il serait donc intéressant que tu donnes le vrai copié-collé de ton code
pour une aide plus pertinente.
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"alain chatellier" <alainchatellier@discussions.microsoft.com> a écrit dans
le message de news: 599E8C76-4BD8-4EC1-8EA1-BF03DEBECB5C@microsoft.com...
Bonjour
j'ai un probleme un peu fou dans VBA
jai le test suivant :
variable1 = 200640azor
variable2 = 200640zzz
le test :
si variable1 >= variable 2 then
indic = 1
else
indic = 0
endif
Sur un PC le resultat est correct : indic = 0
sur un autre PC le resultat est inversé : indic = 1
Existe- t il un parametre dans EXcel qui inverse le tri pour les tests ?
A priori, je ne vois pas de paramètres dans Excel pour déterminer un tri.
Cela étant, je doute du copié-collé de ton code, car dans ton exemple, 200640azor et 200640zzz ne sont pas entre guillemets, et ne peuvent représenter des variables car les noms de variables doivent commencer par une lettre ou un _
Fais attention également si, au lieu de valeurs littérales, tu testes des valeurs de cellules. Tu peux "croire" qu'une cellule contient "200640zzz" alors qu'elle contient " 200640zzz"...
Il serait donc intéressant que tu donnes le vrai copié-collé de ton code pour une aide plus pertinente.
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"alain chatellier" a écrit dans le message de news:
Bonjour j'ai un probleme un peu fou dans VBA
jai le test suivant :
variable1 = 200640azor variable2 = 200640zzz
le test :
si variable1 >= variable 2 then indic = 1 else indic = 0 endif
Sur un PC le resultat est correct : indic = 0 sur un autre PC le resultat est inversé : indic = 1
Existe- t il un parametre dans EXcel qui inverse le tri pour les tests ?
Cordialement
Alain
alain chatellier
Bon,jour de nouveau voici le texte exact de la macro :
Sub entrepot() ' Dim fdebut As String Dim fourdeb As String Dim ffin As String Dim fourfin As String
'******** récuperation fichier début et fichier fin ********************* Windows("ENTREPOT.xls").Activate Sheets("TRAITEMENT").Select
' traitement de controle sur chaque fichier sélectionné
l = 2: c = 1: cpt = 0 Set fs = Application.FileSearch
With fs .LookIn = "J:CommunACTIVITE RHDA TRAITER" .FileName = ".xls"
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then For f = 1 To .FoundFiles.Count Application.ScreenUpdating = False §fichier = (.FoundFiles(f)) ' selection dans fourchette de fichiers indic = 0 If §fichier <= fourdeb Then indic = 1 GoTo nontraite End If
'**********************************************le probleme se deroule sur ce test '********************************************** ou il execute le test come si il y avait > If §fichier >= fourfin Then indic = 1 GoTo nontraite End If
cpt = cpt + 1 Workbooks.Open FileName:=§fichier
nontraite:
Next f End If If cpt = 0 Then texte = "Aucun fichier n'a été trouvé !" k = MsgBox(texte, vbOKOnly + vbCritical, titre) GoTo finmac End If End With finmac: End Sub
En esperant que l'un d'entre vous aura une splendide lumiere Cordialement
Alain
Bon,jour de nouveau voici le texte exact de la macro :
Sub entrepot()
'
Dim fdebut As String
Dim fourdeb As String
Dim ffin As String
Dim fourfin As String
'******** récuperation fichier début et fichier fin *********************
Windows("ENTREPOT.xls").Activate
Sheets("TRAITEMENT").Select
' traitement de controle sur chaque fichier sélectionné
l = 2: c = 1: cpt = 0
Set fs = Application.FileSearch
With fs
.LookIn = "J:CommunACTIVITE RHDA TRAITER"
.FileName = ".xls"
If .Execute(SortBy:=msoSortByFileName,
SortOrder:=msoSortOrderAscending) > 0 Then
For f = 1 To .FoundFiles.Count
Application.ScreenUpdating = False
§fichier = (.FoundFiles(f))
' selection dans fourchette de fichiers
indic = 0
If §fichier <= fourdeb Then
indic = 1
GoTo nontraite
End If
'**********************************************le probleme se deroule sur
ce test
'********************************************** ou il execute le test come
si il y avait > If §fichier >= fourfin Then
indic = 1
GoTo nontraite
End If
cpt = cpt + 1
Workbooks.Open FileName:=§fichier
nontraite:
Next f
End If
If cpt = 0 Then
texte = "Aucun fichier n'a été trouvé !"
k = MsgBox(texte, vbOKOnly + vbCritical, titre)
GoTo finmac
End If
End With
finmac:
End Sub
En esperant que l'un d'entre vous aura une splendide lumiere
Cordialement
' traitement de controle sur chaque fichier sélectionné
l = 2: c = 1: cpt = 0 Set fs = Application.FileSearch
With fs .LookIn = "J:CommunACTIVITE RHDA TRAITER" .FileName = ".xls"
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then For f = 1 To .FoundFiles.Count Application.ScreenUpdating = False §fichier = (.FoundFiles(f)) ' selection dans fourchette de fichiers indic = 0 If §fichier <= fourdeb Then indic = 1 GoTo nontraite End If
'**********************************************le probleme se deroule sur ce test '********************************************** ou il execute le test come si il y avait > If §fichier >= fourfin Then indic = 1 GoTo nontraite End If
cpt = cpt + 1 Workbooks.Open FileName:=§fichier
nontraite:
Next f End If If cpt = 0 Then texte = "Aucun fichier n'a été trouvé !" k = MsgBox(texte, vbOKOnly + vbCritical, titre) GoTo finmac End If End With finmac: End Sub
En esperant que l'un d'entre vous aura une splendide lumiere Cordialement
Alain
Pierre Fauconnier
Bonjour Alain,
Peut-être un problème de majuscules/minuscules, à régler éventuellement avec Option Compare Text en début de module (avant la première fonction ou le premier module)
Sinon, mets un arrêt (F9) sur la ligne qui compare, et affiche les valeurs comparées, c'est le meilleur moyen de vérifier sur quelles valeurs portent les tests.
Ok? -- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"alain chatellier" a écrit dans le message de news:
Bon,jour de nouveau voici le texte exact de la macro :
Sub entrepot() ' Dim fdebut As String Dim fourdeb As String Dim ffin As String Dim fourfin As String
'******** récuperation fichier début et fichier fin ********************* Windows("ENTREPOT.xls").Activate Sheets("TRAITEMENT").Select
' traitement de controle sur chaque fichier sélectionné
l = 2: c = 1: cpt = 0 Set fs = Application.FileSearch
With fs .LookIn = "J:CommunACTIVITE RHDA TRAITER" .FileName = ".xls"
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then For f = 1 To .FoundFiles.Count Application.ScreenUpdating = False §fichier = (.FoundFiles(f)) ' selection dans fourchette de fichiers indic = 0 If §fichier <= fourdeb Then indic = 1 GoTo nontraite End If
'**********************************************le probleme se deroule sur ce test '********************************************** ou il execute le test come si il y avait > > If §fichier >= fourfin Then indic = 1 GoTo nontraite End If
cpt = cpt + 1 Workbooks.Open FileName:=§fichier
nontraite:
Next f End If If cpt = 0 Then texte = "Aucun fichier n'a été trouvé !" k = MsgBox(texte, vbOKOnly + vbCritical, titre) GoTo finmac End If End With finmac: End Sub
En esperant que l'un d'entre vous aura une splendide lumiere Cordialement
Alain
Bonjour Alain,
Peut-être un problème de majuscules/minuscules, à régler éventuellement avec
Option Compare Text
en début de module (avant la première fonction ou le premier module)
Sinon, mets un arrêt (F9) sur la ligne qui compare, et affiche les valeurs
comparées, c'est le meilleur moyen de vérifier sur quelles valeurs portent
les tests.
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"alain chatellier" <alainchatellier@discussions.microsoft.com> a écrit dans
le message de news: E9B8D66F-5CB1-4A6C-A92B-16173203D5E3@microsoft.com...
Bon,jour de nouveau voici le texte exact de la macro :
Sub entrepot()
'
Dim fdebut As String
Dim fourdeb As String
Dim ffin As String
Dim fourfin As String
'******** récuperation fichier début et fichier fin *********************
Windows("ENTREPOT.xls").Activate
Sheets("TRAITEMENT").Select
' traitement de controle sur chaque fichier sélectionné
l = 2: c = 1: cpt = 0
Set fs = Application.FileSearch
With fs
.LookIn = "J:CommunACTIVITE RHDA TRAITER"
.FileName = ".xls"
If .Execute(SortBy:=msoSortByFileName,
SortOrder:=msoSortOrderAscending) > 0 Then
For f = 1 To .FoundFiles.Count
Application.ScreenUpdating = False
§fichier = (.FoundFiles(f))
' selection dans fourchette de fichiers
indic = 0
If §fichier <= fourdeb Then
indic = 1
GoTo nontraite
End If
'**********************************************le probleme se deroule sur
ce test
'********************************************** ou il execute le test
come
si il y avait > > If §fichier >= fourfin Then
indic = 1
GoTo nontraite
End If
cpt = cpt + 1
Workbooks.Open FileName:=§fichier
nontraite:
Next f
End If
If cpt = 0 Then
texte = "Aucun fichier n'a été trouvé !"
k = MsgBox(texte, vbOKOnly + vbCritical, titre)
GoTo finmac
End If
End With
finmac:
End Sub
En esperant que l'un d'entre vous aura une splendide lumiere
Cordialement
Peut-être un problème de majuscules/minuscules, à régler éventuellement avec Option Compare Text en début de module (avant la première fonction ou le premier module)
Sinon, mets un arrêt (F9) sur la ligne qui compare, et affiche les valeurs comparées, c'est le meilleur moyen de vérifier sur quelles valeurs portent les tests.
Ok? -- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"alain chatellier" a écrit dans le message de news:
Bon,jour de nouveau voici le texte exact de la macro :
Sub entrepot() ' Dim fdebut As String Dim fourdeb As String Dim ffin As String Dim fourfin As String
'******** récuperation fichier début et fichier fin ********************* Windows("ENTREPOT.xls").Activate Sheets("TRAITEMENT").Select
' traitement de controle sur chaque fichier sélectionné
l = 2: c = 1: cpt = 0 Set fs = Application.FileSearch
With fs .LookIn = "J:CommunACTIVITE RHDA TRAITER" .FileName = ".xls"
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then For f = 1 To .FoundFiles.Count Application.ScreenUpdating = False §fichier = (.FoundFiles(f)) ' selection dans fourchette de fichiers indic = 0 If §fichier <= fourdeb Then indic = 1 GoTo nontraite End If
'**********************************************le probleme se deroule sur ce test '********************************************** ou il execute le test come si il y avait > > If §fichier >= fourfin Then indic = 1 GoTo nontraite End If
cpt = cpt + 1 Workbooks.Open FileName:=§fichier
nontraite:
Next f End If If cpt = 0 Then texte = "Aucun fichier n'a été trouvé !" k = MsgBox(texte, vbOKOnly + vbCritical, titre) GoTo finmac End If End With finmac: End Sub
En esperant que l'un d'entre vous aura une splendide lumiere Cordialement
Alain
alain chatellier
Bonjour, effectivement un probleme de majuscules et minuscules.
Nous travailloins avec des disques serveurs attribuées en gros par service
Mon PC et celui de l'utilisatrice de la macro ne sont pas sur le même serveur et comme par hasard le nom du répertoire d'accueil s'ecrit "Commun" sur l'un et "commun" sur l'autre et comme je prends le chemin complet pour la selection et bien je me retrouves avec un test batard.
Cordialement pour votre aide Alain
Bonjour Alain,
Peut-être un problème de majuscules/minuscules, à régler éventuellement avec Option Compare Text en début de module (avant la première fonction ou le premier module)
Sinon, mets un arrêt (F9) sur la ligne qui compare, et affiche les valeurs comparées, c'est le meilleur moyen de vérifier sur quelles valeurs portent les tests.
Ok? -- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"alain chatellier" a écrit dans le message de news:
Bon,jour de nouveau voici le texte exact de la macro :
Sub entrepot() ' Dim fdebut As String Dim fourdeb As String Dim ffin As String Dim fourfin As String
'******** récuperation fichier début et fichier fin ********************* Windows("ENTREPOT.xls").Activate Sheets("TRAITEMENT").Select
' traitement de controle sur chaque fichier sélectionné
l = 2: c = 1: cpt = 0 Set fs = Application.FileSearch
With fs .LookIn = "J:CommunACTIVITE RHDA TRAITER" .FileName = ".xls"
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then For f = 1 To .FoundFiles.Count Application.ScreenUpdating = False §fichier = (.FoundFiles(f)) ' selection dans fourchette de fichiers indic = 0 If §fichier <= fourdeb Then indic = 1 GoTo nontraite End If
'**********************************************le probleme se deroule sur ce test '********************************************** ou il execute le test come si il y avait > > > If §fichier >= fourfin Then indic = 1 GoTo nontraite End If
cpt = cpt + 1 Workbooks.Open FileName:=§fichier
nontraite:
Next f End If If cpt = 0 Then texte = "Aucun fichier n'a été trouvé !" k = MsgBox(texte, vbOKOnly + vbCritical, titre) GoTo finmac End If End With finmac: End Sub
En esperant que l'un d'entre vous aura une splendide lumiere Cordialement
Alain
Bonjour, effectivement un probleme de majuscules et minuscules.
Nous travailloins avec des disques serveurs attribuées en gros par service
Mon PC et celui de l'utilisatrice de la macro ne sont pas sur le même
serveur et comme par hasard le nom du répertoire d'accueil s'ecrit "Commun"
sur l'un et "commun" sur l'autre et comme je prends le chemin complet pour la
selection
et bien je me retrouves avec un test batard.
Cordialement pour votre aide
Alain
Bonjour Alain,
Peut-être un problème de majuscules/minuscules, à régler éventuellement avec
Option Compare Text
en début de module (avant la première fonction ou le premier module)
Sinon, mets un arrêt (F9) sur la ligne qui compare, et affiche les valeurs
comparées, c'est le meilleur moyen de vérifier sur quelles valeurs portent
les tests.
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"alain chatellier" <alainchatellier@discussions.microsoft.com> a écrit dans
le message de news: E9B8D66F-5CB1-4A6C-A92B-16173203D5E3@microsoft.com...
Bon,jour de nouveau voici le texte exact de la macro :
Sub entrepot()
'
Dim fdebut As String
Dim fourdeb As String
Dim ffin As String
Dim fourfin As String
'******** récuperation fichier début et fichier fin *********************
Windows("ENTREPOT.xls").Activate
Sheets("TRAITEMENT").Select
' traitement de controle sur chaque fichier sélectionné
l = 2: c = 1: cpt = 0
Set fs = Application.FileSearch
With fs
.LookIn = "J:CommunACTIVITE RHDA TRAITER"
.FileName = ".xls"
If .Execute(SortBy:=msoSortByFileName,
SortOrder:=msoSortOrderAscending) > 0 Then
For f = 1 To .FoundFiles.Count
Application.ScreenUpdating = False
§fichier = (.FoundFiles(f))
' selection dans fourchette de fichiers
indic = 0
If §fichier <= fourdeb Then
indic = 1
GoTo nontraite
End If
'**********************************************le probleme se deroule sur
ce test
'********************************************** ou il execute le test
come
si il y avait > > > If §fichier >= fourfin Then
indic = 1
GoTo nontraite
End If
cpt = cpt + 1
Workbooks.Open FileName:=§fichier
nontraite:
Next f
End If
If cpt = 0 Then
texte = "Aucun fichier n'a été trouvé !"
k = MsgBox(texte, vbOKOnly + vbCritical, titre)
GoTo finmac
End If
End With
finmac:
End Sub
En esperant que l'un d'entre vous aura une splendide lumiere
Cordialement
Bonjour, effectivement un probleme de majuscules et minuscules.
Nous travailloins avec des disques serveurs attribuées en gros par service
Mon PC et celui de l'utilisatrice de la macro ne sont pas sur le même serveur et comme par hasard le nom du répertoire d'accueil s'ecrit "Commun" sur l'un et "commun" sur l'autre et comme je prends le chemin complet pour la selection et bien je me retrouves avec un test batard.
Cordialement pour votre aide Alain
Bonjour Alain,
Peut-être un problème de majuscules/minuscules, à régler éventuellement avec Option Compare Text en début de module (avant la première fonction ou le premier module)
Sinon, mets un arrêt (F9) sur la ligne qui compare, et affiche les valeurs comparées, c'est le meilleur moyen de vérifier sur quelles valeurs portent les tests.
Ok? -- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"alain chatellier" a écrit dans le message de news:
Bon,jour de nouveau voici le texte exact de la macro :
Sub entrepot() ' Dim fdebut As String Dim fourdeb As String Dim ffin As String Dim fourfin As String
'******** récuperation fichier début et fichier fin ********************* Windows("ENTREPOT.xls").Activate Sheets("TRAITEMENT").Select
' traitement de controle sur chaque fichier sélectionné
l = 2: c = 1: cpt = 0 Set fs = Application.FileSearch
With fs .LookIn = "J:CommunACTIVITE RHDA TRAITER" .FileName = ".xls"
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then For f = 1 To .FoundFiles.Count Application.ScreenUpdating = False §fichier = (.FoundFiles(f)) ' selection dans fourchette de fichiers indic = 0 If §fichier <= fourdeb Then indic = 1 GoTo nontraite End If
'**********************************************le probleme se deroule sur ce test '********************************************** ou il execute le test come si il y avait > > > If §fichier >= fourfin Then indic = 1 GoTo nontraite End If
cpt = cpt + 1 Workbooks.Open FileName:=§fichier
nontraite:
Next f End If If cpt = 0 Then texte = "Aucun fichier n'a été trouvé !" k = MsgBox(texte, vbOKOnly + vbCritical, titre) GoTo finmac End If End With finmac: End Sub
En esperant que l'un d'entre vous aura une splendide lumiere Cordialement