dans la fonction ci-dessous, largement due à l'aide de docm sur ce forum, je
rencontre un problème avec Excel 2003 sous xp, qui ne se produisait pas avec
Excel 97 sous W2000pro.
Lorsque les valeurs (1 à n) de rgREF ne sont pas au format texte, il génère
une erreur. Cette contrainte est bien gênante, surtout que le fichier est
partagé avec des collègues, qui n'ont pas de goût particulier pour les
raffinements informatiques, et me le font savoir vertement.
Y-a-t-il une solution pour que la fonction marche avec n'importe quel
format? (en particulier le format standard)
D'avance merci pour votre aide.
Bourby
Function ValeurMaxiDansListeDeRef(rgLISTE As Range, _
rgREF As Range, rgFIN As Range, rgDéBUT As Range) As Variant
Dim a, b, d, Ajout, x, y, rgVALEURS As Range
' ajout d'un ";" en fin de liste s'il n'y est pas déjà
If rgLISTE.Value = "" Then ValeurMaxiDansListeDeRef = "": Exit Function
If Right(rgLISTE.Value, 1) = ";" Then Ajout = "" Else Ajout = ";"
a = rgLISTE.Value & Ajout
' bouclage sur les occurences de ";"
While InStr(a, ";") > 0
b = InStr(a, ";")
d = Mid(a, 1, b - 1)
a = Mid(a, b + 1)
' recherche de la tâche et calcul de la date maxi
y = Application.Match(Trim(d), rgREF, 0)
x = Application.Index(rgVALEURS, y)
If x > ValeurMaxiDansListeDeRef Then ValeurMaxiDansListeDeRef = x
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour Peut-être qu'un simple rgREF = Cstr(rgREF) pourrait faire l'affaire ? Mais je n'ai pas tout suivi. Cordialement Pascal
"Bourby" a écrit dans le message de news:
Bonjour,
dans la fonction ci-dessous, largement due à l'aide de docm sur ce forum, je
rencontre un problème avec Excel 2003 sous xp, qui ne se produisait pas avec
Excel 97 sous W2000pro.
Lorsque les valeurs (1 à n) de rgREF ne sont pas au format texte, il génère
une erreur. Cette contrainte est bien gênante, surtout que le fichier est partagé avec des collègues, qui n'ont pas de goût particulier pour les raffinements informatiques, et me le font savoir vertement.
Y-a-t-il une solution pour que la fonction marche avec n'importe quel format? (en particulier le format standard)
D'avance merci pour votre aide.
Bourby
Function ValeurMaxiDansListeDeRef(rgLISTE As Range, _ rgREF As Range, rgFIN As Range, rgDéBUT As Range) As Variant Dim a, b, d, Ajout, x, y, rgVALEURS As Range
' ajout d'un ";" en fin de liste s'il n'y est pas déjà If rgLISTE.Value = "" Then ValeurMaxiDansListeDeRef = "": Exit Function If Right(rgLISTE.Value, 1) = ";" Then Ajout = "" Else Ajout = ";" a = rgLISTE.Value & Ajout
' bouclage sur les occurences de ";" While InStr(a, ";") > 0 b = InStr(a, ";") d = Mid(a, 1, b - 1) a = Mid(a, b + 1) ' recherche de la tâche et calcul de la date maxi y = Application.Match(Trim(d), rgREF, 0) x = Application.Index(rgVALEURS, y) If x > ValeurMaxiDansListeDeRef Then ValeurMaxiDansListeDeRef = x
Wend
End Function
Bonjour
Peut-être qu'un simple rgREF = Cstr(rgREF) pourrait faire l'affaire ?
Mais je n'ai pas tout suivi.
Cordialement
Pascal
"Bourby" <Bourby@discussions.microsoft.com> a écrit dans le message de
news:8E27DB39-D71F-4738-97D5-1C398B962E4B@microsoft.com...
Bonjour,
dans la fonction ci-dessous, largement due à l'aide de docm sur ce forum,
je
rencontre un problème avec Excel 2003 sous xp, qui ne se produisait pas
avec
Excel 97 sous W2000pro.
Lorsque les valeurs (1 à n) de rgREF ne sont pas au format texte, il
génère
une erreur. Cette contrainte est bien gênante, surtout que le fichier est
partagé avec des collègues, qui n'ont pas de goût particulier pour les
raffinements informatiques, et me le font savoir vertement.
Y-a-t-il une solution pour que la fonction marche avec n'importe quel
format? (en particulier le format standard)
D'avance merci pour votre aide.
Bourby
Function ValeurMaxiDansListeDeRef(rgLISTE As Range, _
rgREF As Range, rgFIN As Range, rgDéBUT As Range) As Variant
Dim a, b, d, Ajout, x, y, rgVALEURS As Range
' ajout d'un ";" en fin de liste s'il n'y est pas déjà
If rgLISTE.Value = "" Then ValeurMaxiDansListeDeRef = "": Exit Function
If Right(rgLISTE.Value, 1) = ";" Then Ajout = "" Else Ajout = ";"
a = rgLISTE.Value & Ajout
' bouclage sur les occurences de ";"
While InStr(a, ";") > 0
b = InStr(a, ";")
d = Mid(a, 1, b - 1)
a = Mid(a, b + 1)
' recherche de la tâche et calcul de la date maxi
y = Application.Match(Trim(d), rgREF, 0)
x = Application.Index(rgVALEURS, y)
If x > ValeurMaxiDansListeDeRef Then ValeurMaxiDansListeDeRef = x
Bonjour Peut-être qu'un simple rgREF = Cstr(rgREF) pourrait faire l'affaire ? Mais je n'ai pas tout suivi. Cordialement Pascal
"Bourby" a écrit dans le message de news:
Bonjour,
dans la fonction ci-dessous, largement due à l'aide de docm sur ce forum, je
rencontre un problème avec Excel 2003 sous xp, qui ne se produisait pas avec
Excel 97 sous W2000pro.
Lorsque les valeurs (1 à n) de rgREF ne sont pas au format texte, il génère
une erreur. Cette contrainte est bien gênante, surtout que le fichier est partagé avec des collègues, qui n'ont pas de goût particulier pour les raffinements informatiques, et me le font savoir vertement.
Y-a-t-il une solution pour que la fonction marche avec n'importe quel format? (en particulier le format standard)
D'avance merci pour votre aide.
Bourby
Function ValeurMaxiDansListeDeRef(rgLISTE As Range, _ rgREF As Range, rgFIN As Range, rgDéBUT As Range) As Variant Dim a, b, d, Ajout, x, y, rgVALEURS As Range
' ajout d'un ";" en fin de liste s'il n'y est pas déjà If rgLISTE.Value = "" Then ValeurMaxiDansListeDeRef = "": Exit Function If Right(rgLISTE.Value, 1) = ";" Then Ajout = "" Else Ajout = ";" a = rgLISTE.Value & Ajout
' bouclage sur les occurences de ";" While InStr(a, ";") > 0 b = InStr(a, ";") d = Mid(a, 1, b - 1) a = Mid(a, b + 1) ' recherche de la tâche et calcul de la date maxi y = Application.Match(Trim(d), rgREF, 0) x = Application.Index(rgVALEURS, y) If x > ValeurMaxiDansListeDeRef Then ValeurMaxiDansListeDeRef = x
Wend
End Function
Bourby_m
bonjour
et merci d'avoir regardé; malheureusement, ça ne marche pas, ce qui est intrigant...
Que faudrait-il faire?
D'avance merci
Bourby
"papou" wrote:
Bonjour Peut-être qu'un simple rgREF = Cstr(rgREF) pourrait faire l'affaire ? Mais je n'ai pas tout suivi. Cordialement Pascal
"Bourby" a écrit dans le message de news:
Bonjour,
dans la fonction ci-dessous, largement due à l'aide de docm sur ce forum, je
rencontre un problème avec Excel 2003 sous xp, qui ne se produisait pas avec
Excel 97 sous W2000pro.
Lorsque les valeurs (1 à n) de rgREF ne sont pas au format texte, il génère
une erreur. Cette contrainte est bien gênante, surtout que le fichier est partagé avec des collègues, qui n'ont pas de goût particulier pour les raffinements informatiques, et me le font savoir vertement.
Y-a-t-il une solution pour que la fonction marche avec n'importe quel format? (en particulier le format standard)
D'avance merci pour votre aide.
Bourby
Function ValeurMaxiDansListeDeRef(rgLISTE As Range, _ rgREF As Range, rgFIN As Range, rgDéBUT As Range) As Variant Dim a, b, d, Ajout, x, y, rgVALEURS As Range
' ajout d'un ";" en fin de liste s'il n'y est pas déjà If rgLISTE.Value = "" Then ValeurMaxiDansListeDeRef = "": Exit Function If Right(rgLISTE.Value, 1) = ";" Then Ajout = "" Else Ajout = ";" a = rgLISTE.Value & Ajout
' bouclage sur les occurences de ";" While InStr(a, ";") > 0 b = InStr(a, ";") d = Mid(a, 1, b - 1) a = Mid(a, b + 1) ' recherche de la tâche et calcul de la date maxi y = Application.Match(Trim(d), rgREF, 0) x = Application.Index(rgVALEURS, y) If x > ValeurMaxiDansListeDeRef Then ValeurMaxiDansListeDeRef = x
Wend
End Function
bonjour
et merci d'avoir regardé; malheureusement, ça ne marche pas, ce qui est
intrigant...
Que faudrait-il faire?
D'avance merci
Bourby
"papou" wrote:
Bonjour
Peut-être qu'un simple rgREF = Cstr(rgREF) pourrait faire l'affaire ?
Mais je n'ai pas tout suivi.
Cordialement
Pascal
"Bourby" <Bourby@discussions.microsoft.com> a écrit dans le message de
news:8E27DB39-D71F-4738-97D5-1C398B962E4B@microsoft.com...
Bonjour,
dans la fonction ci-dessous, largement due à l'aide de docm sur ce forum,
je
rencontre un problème avec Excel 2003 sous xp, qui ne se produisait pas
avec
Excel 97 sous W2000pro.
Lorsque les valeurs (1 à n) de rgREF ne sont pas au format texte, il
génère
une erreur. Cette contrainte est bien gênante, surtout que le fichier est
partagé avec des collègues, qui n'ont pas de goût particulier pour les
raffinements informatiques, et me le font savoir vertement.
Y-a-t-il une solution pour que la fonction marche avec n'importe quel
format? (en particulier le format standard)
D'avance merci pour votre aide.
Bourby
Function ValeurMaxiDansListeDeRef(rgLISTE As Range, _
rgREF As Range, rgFIN As Range, rgDéBUT As Range) As Variant
Dim a, b, d, Ajout, x, y, rgVALEURS As Range
' ajout d'un ";" en fin de liste s'il n'y est pas déjà
If rgLISTE.Value = "" Then ValeurMaxiDansListeDeRef = "": Exit Function
If Right(rgLISTE.Value, 1) = ";" Then Ajout = "" Else Ajout = ";"
a = rgLISTE.Value & Ajout
' bouclage sur les occurences de ";"
While InStr(a, ";") > 0
b = InStr(a, ";")
d = Mid(a, 1, b - 1)
a = Mid(a, b + 1)
' recherche de la tâche et calcul de la date maxi
y = Application.Match(Trim(d), rgREF, 0)
x = Application.Index(rgVALEURS, y)
If x > ValeurMaxiDansListeDeRef Then ValeurMaxiDansListeDeRef = x
et merci d'avoir regardé; malheureusement, ça ne marche pas, ce qui est intrigant...
Que faudrait-il faire?
D'avance merci
Bourby
"papou" wrote:
Bonjour Peut-être qu'un simple rgREF = Cstr(rgREF) pourrait faire l'affaire ? Mais je n'ai pas tout suivi. Cordialement Pascal
"Bourby" a écrit dans le message de news:
Bonjour,
dans la fonction ci-dessous, largement due à l'aide de docm sur ce forum, je
rencontre un problème avec Excel 2003 sous xp, qui ne se produisait pas avec
Excel 97 sous W2000pro.
Lorsque les valeurs (1 à n) de rgREF ne sont pas au format texte, il génère
une erreur. Cette contrainte est bien gênante, surtout que le fichier est partagé avec des collègues, qui n'ont pas de goût particulier pour les raffinements informatiques, et me le font savoir vertement.
Y-a-t-il une solution pour que la fonction marche avec n'importe quel format? (en particulier le format standard)
D'avance merci pour votre aide.
Bourby
Function ValeurMaxiDansListeDeRef(rgLISTE As Range, _ rgREF As Range, rgFIN As Range, rgDéBUT As Range) As Variant Dim a, b, d, Ajout, x, y, rgVALEURS As Range
' ajout d'un ";" en fin de liste s'il n'y est pas déjà If rgLISTE.Value = "" Then ValeurMaxiDansListeDeRef = "": Exit Function If Right(rgLISTE.Value, 1) = ";" Then Ajout = "" Else Ajout = ";" a = rgLISTE.Value & Ajout
' bouclage sur les occurences de ";" While InStr(a, ";") > 0 b = InStr(a, ";") d = Mid(a, 1, b - 1) a = Mid(a, b + 1) ' recherche de la tâche et calcul de la date maxi y = Application.Match(Trim(d), rgREF, 0) x = Application.Index(rgVALEURS, y) If x > ValeurMaxiDansListeDeRef Then ValeurMaxiDansListeDeRef = x