Dans VBE, pour la fonction suivante, j'analyse la couleur=20
des polices d'une s=E9lection de cellules (Plage) par=20
rapport =E0 une r=E9f=E9rence.
J'aimerais pouvoir travailler sur plusieurs zones non=20
voisines ( Par ex. "H81:H85;L81:L85" ), mais je ne trouve=20
pas comment d=E9clarer ma variable ( As Range ?) ou alors=20
comment transformer ma fonction pour que cela fonctionne !
Quelqu'un conna=EEt-il la solution =E0 mon probl=E8me ?
Merci d'avance !
Le G
Function SommeCoulTxt(Plage As Range, r=E9f=E9rence)
Application.Volatile
Dim vCellule As Object
Dim vSomme As Single
For Each vCellule In Plage
If vCellule.Font.ColorIndex =3D=20
r=E9f=E9rence.Font.ColorIndex And Not IsEmpty(vCellule) Then=20
vSomme =3D vSomme + 1
Next
SommeCoulTxt =3D vSomme
End Function
"Le G" a écrit dans le message de news:08b001c48b6d$60b75420$
Bonjour !
Dans VBE, pour la fonction suivante, j'analyse la couleur des polices d'une sélection de cellules (Plage) par rapport à une référence.
J'aimerais pouvoir travailler sur plusieurs zones non voisines ( Par ex. "H81:H85;L81:L85" ), mais je ne trouve pas comment déclarer ma variable ( As Range ?) ou alors comment transformer ma fonction pour que cela fonctionne !
Quelqu'un connaît-il la solution à mon problème ?
Merci d'avance !
Le G
Function SommeCoulTxt(Plage As Range, référence) Application.Volatile Dim vCellule As Object Dim vSomme As Single For Each vCellule In Plage If vCellule.Font.ColorIndex référence.Font.ColorIndex And Not IsEmpty(vCellule) Then vSomme = vSomme + 1 Next SommeCoulTxt = vSomme End Function
Bonjour Le G,
Dim Rg as range
Set rg = Range("H81:H85,L81:L85")
Salutations!
"Le G" <casimodo_del_val@hotmail.com> a écrit dans le message de news:08b001c48b6d$60b75420$a501280a@phx.gbl...
Bonjour !
Dans VBE, pour la fonction suivante, j'analyse la couleur
des polices d'une sélection de cellules (Plage) par
rapport à une référence.
J'aimerais pouvoir travailler sur plusieurs zones non
voisines ( Par ex. "H81:H85;L81:L85" ), mais je ne trouve
pas comment déclarer ma variable ( As Range ?) ou alors
comment transformer ma fonction pour que cela fonctionne !
Quelqu'un connaît-il la solution à mon problème ?
Merci d'avance !
Le G
Function SommeCoulTxt(Plage As Range, référence)
Application.Volatile
Dim vCellule As Object
Dim vSomme As Single
For Each vCellule In Plage
If vCellule.Font.ColorIndex référence.Font.ColorIndex And Not IsEmpty(vCellule) Then
vSomme = vSomme + 1
Next
SommeCoulTxt = vSomme
End Function
"Le G" a écrit dans le message de news:08b001c48b6d$60b75420$
Bonjour !
Dans VBE, pour la fonction suivante, j'analyse la couleur des polices d'une sélection de cellules (Plage) par rapport à une référence.
J'aimerais pouvoir travailler sur plusieurs zones non voisines ( Par ex. "H81:H85;L81:L85" ), mais je ne trouve pas comment déclarer ma variable ( As Range ?) ou alors comment transformer ma fonction pour que cela fonctionne !
Quelqu'un connaît-il la solution à mon problème ?
Merci d'avance !
Le G
Function SommeCoulTxt(Plage As Range, référence) Application.Volatile Dim vCellule As Object Dim vSomme As Single For Each vCellule In Plage If vCellule.Font.ColorIndex référence.Font.ColorIndex And Not IsEmpty(vCellule) Then vSomme = vSomme + 1 Next SommeCoulTxt = vSomme End Function
Alain CROS
Bonjour
Si j'ai bien compris le problème
Function SommeCoulTxt!(référence As Range, Plage1 As Range, Optional plage2 As Range) Dim vCellule As Range Application.Volatile For Each vCellule In Plage1 If vCellule.Font.ColorIndex = référence.Resize(1&, 1&).Font.ColorIndex _ And Not IsEmpty(vCellule) Then SommeCoulTxt = SommeCoulTxt + 1& Next vCellule If plage2 Is Nothing Then Exit Function For Each vCellule In plage2 If vCellule.Font.ColorIndex = référence.Resize(1&, 1&).Font.ColorIndex _ And Not IsEmpty(vCellule) Then SommeCoulTxt = SommeCoulTxt + 1& Next vCellule End Function
Alain CROS
"Le G" a écrit dans le message de news: 08b001c48b6d$60b75420$
Bonjour !
Dans VBE, pour la fonction suivante, j'analyse la couleur des polices d'une sélection de cellules (Plage) par rapport à une référence.
J'aimerais pouvoir travailler sur plusieurs zones non voisines ( Par ex. "H81:H85;L81:L85" ), mais je ne trouve pas comment déclarer ma variable ( As Range ?) ou alors comment transformer ma fonction pour que cela fonctionne !
Quelqu'un connaît-il la solution à mon problème ?
Merci d'avance !
Le G
Function SommeCoulTxt(Plage As Range, référence) Application.Volatile Dim vCellule As Object Dim vSomme As Single For Each vCellule In Plage If vCellule.Font.ColorIndex référence.Font.ColorIndex And Not IsEmpty(vCellule) Then vSomme = vSomme + 1 Next SommeCoulTxt = vSomme End Function
Bonjour
Si j'ai bien compris le problème
Function SommeCoulTxt!(référence As Range, Plage1 As Range, Optional plage2 As Range)
Dim vCellule As Range
Application.Volatile
For Each vCellule In Plage1
If vCellule.Font.ColorIndex = référence.Resize(1&, 1&).Font.ColorIndex _
And Not IsEmpty(vCellule) Then SommeCoulTxt = SommeCoulTxt + 1&
Next vCellule
If plage2 Is Nothing Then Exit Function
For Each vCellule In plage2
If vCellule.Font.ColorIndex = référence.Resize(1&, 1&).Font.ColorIndex _
And Not IsEmpty(vCellule) Then SommeCoulTxt = SommeCoulTxt + 1&
Next vCellule
End Function
Alain CROS
"Le G" <casimodo_del_val@hotmail.com> a écrit dans le message de news: 08b001c48b6d$60b75420$a501280a@phx.gbl...
Bonjour !
Dans VBE, pour la fonction suivante, j'analyse la couleur
des polices d'une sélection de cellules (Plage) par
rapport à une référence.
J'aimerais pouvoir travailler sur plusieurs zones non
voisines ( Par ex. "H81:H85;L81:L85" ), mais je ne trouve
pas comment déclarer ma variable ( As Range ?) ou alors
comment transformer ma fonction pour que cela fonctionne !
Quelqu'un connaît-il la solution à mon problème ?
Merci d'avance !
Le G
Function SommeCoulTxt(Plage As Range, référence)
Application.Volatile
Dim vCellule As Object
Dim vSomme As Single
For Each vCellule In Plage
If vCellule.Font.ColorIndex référence.Font.ColorIndex And Not IsEmpty(vCellule) Then
vSomme = vSomme + 1
Next
SommeCoulTxt = vSomme
End Function
Function SommeCoulTxt!(référence As Range, Plage1 As Range, Optional plage2 As Range) Dim vCellule As Range Application.Volatile For Each vCellule In Plage1 If vCellule.Font.ColorIndex = référence.Resize(1&, 1&).Font.ColorIndex _ And Not IsEmpty(vCellule) Then SommeCoulTxt = SommeCoulTxt + 1& Next vCellule If plage2 Is Nothing Then Exit Function For Each vCellule In plage2 If vCellule.Font.ColorIndex = référence.Resize(1&, 1&).Font.ColorIndex _ And Not IsEmpty(vCellule) Then SommeCoulTxt = SommeCoulTxt + 1& Next vCellule End Function
Alain CROS
"Le G" a écrit dans le message de news: 08b001c48b6d$60b75420$
Bonjour !
Dans VBE, pour la fonction suivante, j'analyse la couleur des polices d'une sélection de cellules (Plage) par rapport à une référence.
J'aimerais pouvoir travailler sur plusieurs zones non voisines ( Par ex. "H81:H85;L81:L85" ), mais je ne trouve pas comment déclarer ma variable ( As Range ?) ou alors comment transformer ma fonction pour que cela fonctionne !
Quelqu'un connaît-il la solution à mon problème ?
Merci d'avance !
Le G
Function SommeCoulTxt(Plage As Range, référence) Application.Volatile Dim vCellule As Object Dim vSomme As Single For Each vCellule In Plage If vCellule.Font.ColorIndex référence.Font.ColorIndex And Not IsEmpty(vCellule) Then vSomme = vSomme + 1 Next SommeCoulTxt = vSomme End Function