J'ai une fonction personnalis=E9 qui renvoi des infos sur une cellule
Public Function InfoCel(ByVal MaCellule As Object, infos)
Application.Volatile
Select Case infos
Case 1
InfoCel =3D MaCellule.Interior.ColorIndex
.=2E..
elle fonctionne tr=E8s bien qd je l'utilise sans la forme =3DinfoCel(B3;1)
Par contre, probl=E8me quand je veux l'utilise avec la formule Adresse :
=3DinfoCel(ADRESSE(EQUIV(B3;A1:A5);1);2)
Comment passer ou d=E9finir correctement le param=E9tre Macellule pour
que ca fonctionne dans les 2 cas !
Merci d'avance de vos aides
LOamar
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
michdenis
Bonjour loamar67,
Tu peux transformer ta fonction personnalisée comme ceci :
'------------------------------ Public Function InfoCel(ByVal MaCellule As String, infos)
Application.Volatile Dim Rg As Range Set Rg = Range(Application.Caller.Parent.Name & "!" & MaCellule)
Select Case infos Case 1 InfoCel = Rg.Interior.ColorIndex End Select
End Function '------------------------------
Salutations!
"loamar67" a écrit dans le message de news: Bonjour
J'ai une fonction personnalisé qui renvoi des infos sur une cellule Public Function InfoCel(ByVal MaCellule As Object, infos)
Application.Volatile Select Case infos Case 1 InfoCel = MaCellule.Interior.ColorIndex .... elle fonctionne très bien qd je l'utilise sans la forme =infoCel(B3;1) Par contre, problème quand je veux l'utilise avec la formule Adresse : =infoCel(ADRESSE(EQUIV(B3;A1:A5);1);2) Comment passer ou définir correctement le paramétre Macellule pour que ca fonctionne dans les 2 cas ! Merci d'avance de vos aides LOamar
Bonjour loamar67,
Tu peux transformer ta fonction personnalisée comme ceci :
'------------------------------
Public Function InfoCel(ByVal MaCellule As String, infos)
Application.Volatile
Dim Rg As Range
Set Rg = Range(Application.Caller.Parent.Name & "!" & MaCellule)
Select Case infos
Case 1
InfoCel = Rg.Interior.ColorIndex
End Select
End Function
'------------------------------
Salutations!
"loamar67" <loamar67@yahoo.fr> a écrit dans le message de news: 1127253337.141125.21330@g44g2000cwa.googlegroups.com...
Bonjour
J'ai une fonction personnalisé qui renvoi des infos sur une cellule
Public Function InfoCel(ByVal MaCellule As Object, infos)
Application.Volatile
Select Case infos
Case 1
InfoCel = MaCellule.Interior.ColorIndex
....
elle fonctionne très bien qd je l'utilise sans la forme =infoCel(B3;1)
Par contre, problème quand je veux l'utilise avec la formule Adresse :
=infoCel(ADRESSE(EQUIV(B3;A1:A5);1);2)
Comment passer ou définir correctement le paramétre Macellule pour
que ca fonctionne dans les 2 cas !
Merci d'avance de vos aides
LOamar
Tu peux transformer ta fonction personnalisée comme ceci :
'------------------------------ Public Function InfoCel(ByVal MaCellule As String, infos)
Application.Volatile Dim Rg As Range Set Rg = Range(Application.Caller.Parent.Name & "!" & MaCellule)
Select Case infos Case 1 InfoCel = Rg.Interior.ColorIndex End Select
End Function '------------------------------
Salutations!
"loamar67" a écrit dans le message de news: Bonjour
J'ai une fonction personnalisé qui renvoi des infos sur une cellule Public Function InfoCel(ByVal MaCellule As Object, infos)
Application.Volatile Select Case infos Case 1 InfoCel = MaCellule.Interior.ColorIndex .... elle fonctionne très bien qd je l'utilise sans la forme =infoCel(B3;1) Par contre, problème quand je veux l'utilise avec la formule Adresse : =infoCel(ADRESSE(EQUIV(B3;A1:A5);1);2) Comment passer ou définir correctement le paramétre Macellule pour que ca fonctionne dans les 2 cas ! Merci d'avance de vos aides LOamar
loamar67
Merci Michdenis Mais... J'avais déja une solution a peu près identique Qd on passe le paramètre Macellule en valeur (byVAL), le cas =infoCel(B3;1) ne fonctionne car le paramètre contient la valeur de B3 et non pas l'adresse ! C un casse tete pour que ca fonctionne ds les 2 cas d'emploi je ne voudrais pas non plus que l'on soit oblige d'écrire =infoCel("B3";1) qui fonctionne qd macellule est "byval"...
Merci Michdenis
Mais...
J'avais déja une solution a peu près identique
Qd on passe le paramètre Macellule en valeur (byVAL), le cas
=infoCel(B3;1) ne fonctionne car le paramètre contient la valeur de
B3 et non pas l'adresse !
C un casse tete pour que ca fonctionne ds les 2 cas d'emploi
je ne voudrais pas non plus que l'on soit oblige d'écrire
=infoCel("B3";1) qui fonctionne qd macellule est "byval"...
Merci Michdenis Mais... J'avais déja une solution a peu près identique Qd on passe le paramètre Macellule en valeur (byVAL), le cas =infoCel(B3;1) ne fonctionne car le paramètre contient la valeur de B3 et non pas l'adresse ! C un casse tete pour que ca fonctionne ds les 2 cas d'emploi je ne voudrais pas non plus que l'on soit oblige d'écrire =infoCel("B3";1) qui fonctionne qd macellule est "byval"...
michdenis
Bonjour loamar67,
Ceci répond à ta demande :
'--------------------------------- Public Function InFoCel(MaCellule, Infos) Dim Rg As Range Application.Volatile Select Case TypeName(MaCellule) Case Is = "Range" Set Rg = MaCellule Case Is = "String" Set Rg = Range(Application.Caller.Parent.Name & "!" & MaCellule) End Select Select Case Infos Case 1 InFoCel = Rg.Interior.ColorIndex End Select
End Function '---------------------------------
Salutations!
"loamar67" a écrit dans le message de news: Merci Michdenis Mais... J'avais déja une solution a peu près identique Qd on passe le paramètre Macellule en valeur (byVAL), le cas =infoCel(B3;1) ne fonctionne car le paramètre contient la valeur de B3 et non pas l'adresse ! C un casse tete pour que ca fonctionne ds les 2 cas d'emploi je ne voudrais pas non plus que l'on soit oblige d'écrire =infoCel("B3";1) qui fonctionne qd macellule est "byval"...
Bonjour loamar67,
Ceci répond à ta demande :
'---------------------------------
Public Function InFoCel(MaCellule, Infos)
Dim Rg As Range
Application.Volatile
Select Case TypeName(MaCellule)
Case Is = "Range"
Set Rg = MaCellule
Case Is = "String"
Set Rg = Range(Application.Caller.Parent.Name & "!" & MaCellule)
End Select
Select Case Infos
Case 1
InFoCel = Rg.Interior.ColorIndex
End Select
End Function
'---------------------------------
Salutations!
"loamar67" <loamar67@yahoo.fr> a écrit dans le message de news: 1127296183.857021.183490@g49g2000cwa.googlegroups.com...
Merci Michdenis
Mais...
J'avais déja une solution a peu près identique
Qd on passe le paramètre Macellule en valeur (byVAL), le cas
=infoCel(B3;1) ne fonctionne car le paramètre contient la valeur de
B3 et non pas l'adresse !
C un casse tete pour que ca fonctionne ds les 2 cas d'emploi
je ne voudrais pas non plus que l'on soit oblige d'écrire
=infoCel("B3";1) qui fonctionne qd macellule est "byval"...
'--------------------------------- Public Function InFoCel(MaCellule, Infos) Dim Rg As Range Application.Volatile Select Case TypeName(MaCellule) Case Is = "Range" Set Rg = MaCellule Case Is = "String" Set Rg = Range(Application.Caller.Parent.Name & "!" & MaCellule) End Select Select Case Infos Case 1 InFoCel = Rg.Interior.ColorIndex End Select
End Function '---------------------------------
Salutations!
"loamar67" a écrit dans le message de news: Merci Michdenis Mais... J'avais déja une solution a peu près identique Qd on passe le paramètre Macellule en valeur (byVAL), le cas =infoCel(B3;1) ne fonctionne car le paramètre contient la valeur de B3 et non pas l'adresse ! C un casse tete pour que ca fonctionne ds les 2 cas d'emploi je ne voudrais pas non plus que l'on soit oblige d'écrire =infoCel("B3";1) qui fonctionne qd macellule est "byval"...
Alain CROS
Bonjour.
Essayer comme ça, mais je ne sais pas ce que fait le Case 2...
"loamar67" a écrit dans le message de news: Bonjour
J'ai une fonction personnalisé qui renvoi des infos sur une cellule Public Function InfoCel(ByVal MaCellule As Object, infos)
Application.Volatile Select Case infos Case 1 InfoCel = MaCellule.Interior.ColorIndex .... elle fonctionne très bien qd je l'utilise sans la forme =infoCel(B3;1) Par contre, problème quand je veux l'utilise avec la formule Adresse : =infoCel(ADRESSE(EQUIV(B3;A1:A5);1);2) Comment passer ou définir correctement le paramétre Macellule pour que ca fonctionne dans les 2 cas ! Merci d'avance de vos aides LOamar
Bonjour.
Essayer comme ça, mais je ne sais pas ce que fait le Case 2...
"loamar67" <loamar67@yahoo.fr> a écrit dans le message de news: 1127253337.141125.21330@g44g2000cwa.googlegroups.com...
Bonjour
J'ai une fonction personnalisé qui renvoi des infos sur une cellule
Public Function InfoCel(ByVal MaCellule As Object, infos)
Application.Volatile
Select Case infos
Case 1
InfoCel = MaCellule.Interior.ColorIndex
....
elle fonctionne très bien qd je l'utilise sans la forme =infoCel(B3;1)
Par contre, problème quand je veux l'utilise avec la formule Adresse :
=infoCel(ADRESSE(EQUIV(B3;A1:A5);1);2)
Comment passer ou définir correctement le paramétre Macellule pour
que ca fonctionne dans les 2 cas !
Merci d'avance de vos aides
LOamar
"loamar67" a écrit dans le message de news: Bonjour
J'ai une fonction personnalisé qui renvoi des infos sur une cellule Public Function InfoCel(ByVal MaCellule As Object, infos)
Application.Volatile Select Case infos Case 1 InfoCel = MaCellule.Interior.ColorIndex .... elle fonctionne très bien qd je l'utilise sans la forme =infoCel(B3;1) Par contre, problème quand je veux l'utilise avec la formule Adresse : =infoCel(ADRESSE(EQUIV(B3;A1:A5);1);2) Comment passer ou définir correctement le paramétre Macellule pour que ca fonctionne dans les 2 cas ! Merci d'avance de vos aides LOamar
loamar67
Merci A tous La solution de MICHDENIS marche très bien ! Bravo ! je n'avais pas pensé à tester avec TypeName !! Slts
Merci A tous
La solution de MICHDENIS marche très bien ! Bravo !
je n'avais pas pensé à tester avec TypeName !!
Slts