Suite Récupération de valeur

Le
Guy
Bonjour et merci à Toi JB

Voici le module que tu ma envoyé mais cela ne fonctionne pas pour les
différents Cas

Exemple de la Page A1:G1

J'ai A1 B1 et F1 avec fond noir et Police Blanche récupération en D4
puis B2 B3 en Fond jaune et police Noir Récupération en D5 etc.

Si j'ai bien compris les cellules réceptrices doivent avoir les mêmes
caractéristiques (Noir et Blanc) et (Jaune et Noir) etc

Je récupere les memes valeurs


Dans un module alt+F11 puis Insertion/Module

Function SommeCouleurFondTexte(champ As Range, couleurFond,
couleurTexte)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond And c.Font.ColorIndex =
couleurTexte Then
If IsNumeric(c.Value) Then temp = temp + c.Value
End If
Next c
SommeCouleurFondTexte = temp
End Function

Pour Maj immédiate (sinon F9)

Dim celluleAvant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsEmpty(celluleAvant) Then
If Not Intersect(Range(celluleAvant), [B:B]) Is Nothing Then
Calculate
End If
celluleAvant = Target.Address
End Sub


--
Amicalement et merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4745081
La syntaxe de la fonction est:

=sommecouleurFondTexte(champ;couleurFond;CouleurTexte)

http://cjoint.com/?jtsAm6AlQN

J'ai ajouté une autre version:

=sommecouleurFondTexte(champ)

Sur cette version, les no de couleurs sont donnés par la couleur de la
cellule où la formule est écrite.

Function SommeCouleurFondTexte2(champ As Range)
Application.Volatile
couleurFond = Range(Application.Caller.Address).Interior.ColorIndex
couleurTexte = Range(Application.Caller.Address).Font.ColorIndex
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond And c.Font.ColorIndex =
couleurTexte Then
If IsNumeric(c.Value) Then temp = temp + c.Value
End If
Next c
SommeCouleurFondTexte2 = temp
End Function

JB

On 19 sep, 15:56, Guy <Andr?> wrote:
Bonjour et merci à Toi JB

Voici le module que tu ma envoyé mais cela ne fonctionne pas pour les
différents Cas

Exemple de la Page A1:G1

J'ai A1 B1 et F1 avec fond noir et Police Blanche récupération en D4
puis B2 B3 en Fond jaune et police Noir Récupération en D5 etc....

Si j'ai bien compris les cellules réceptrices doivent avoir les mêmes
caractéristiques (Noir et Blanc) et (Jaune et Noir) etc...

Je récupere les memes valeurs

Dans un module alt+F11 puis Insertion/Module

Function SommeCouleurFondTexte(champ As Range, couleurFond,
couleurTexte)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond And c.Font.ColorIndex =
couleurTexte Then
If IsNumeric(c.Value) Then temp = temp + c.Value
End If
Next c
SommeCouleurFondTexte = temp
End Function

Pour Maj immédiate (sinon F9)

Dim celluleAvant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsEmpty(celluleAvant) Then
If Not Intersect(Range(celluleAvant), [B:B]) Is Nothing Then
Calculate
End If
celluleAvant = Target.Address
End Sub

--
Amicalement et merci


Guy
Le #4744551
Bonjour et encore merci JB

Cela fonctionne tres bien

Mais peut on savoir comment faire pour connaitre les valeur des couleurs

et la même chose pour UN NB.SI (avec de L'alpha)

Exemple SI A1 =Guy et fond de cellule Rouge + Texte vert
--
Amicalement et merci


"JB" wrote:


La syntaxe de la fonction est:

=sommecouleurFondTexte(champ;couleurFond;CouleurTexte)

http://cjoint.com/?jtsAm6AlQN

J'ai ajouté une autre version:

=sommecouleurFondTexte(champ)

Sur cette version, les no de couleurs sont donnés par la couleur de la
cellule où la formule est écrite.

Function SommeCouleurFondTexte2(champ As Range)
Application.Volatile
couleurFond = Range(Application.Caller.Address).Interior.ColorIndex
couleurTexte = Range(Application.Caller.Address).Font.ColorIndex
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond And c.Font.ColorIndex > couleurTexte Then
If IsNumeric(c.Value) Then temp = temp + c.Value
End If
Next c
SommeCouleurFondTexte2 = temp
End Function

JB

On 19 sep, 15:56, Guy <Andr?> wrote:
Bonjour et merci à Toi JB

Voici le module que tu ma envoyé mais cela ne fonctionne pas pour les
différents Cas

Exemple de la Page A1:G1

J'ai A1 B1 et F1 avec fond noir et Police Blanche récupération en D4
puis B2 B3 en Fond jaune et police Noir Récupération en D5 etc....

Si j'ai bien compris les cellules réceptrices doivent avoir les mêmes
caractéristiques (Noir et Blanc) et (Jaune et Noir) etc...

Je récupere les memes valeurs

Dans un module alt+F11 puis Insertion/Module

Function SommeCouleurFondTexte(champ As Range, couleurFond,
couleurTexte)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond And c.Font.ColorIndex > > couleurTexte Then
If IsNumeric(c.Value) Then temp = temp + c.Value
End If
Next c
SommeCouleurFondTexte = temp
End Function

Pour Maj immédiate (sinon F9)

Dim celluleAvant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsEmpty(celluleAvant) Then
If Not Intersect(Range(celluleAvant), [B:B]) Is Nothing Then
Calculate
End If
celluleAvant = Target.Address
End Sub

--
Amicalement et merci







JB
Le #4744461
Bonjour,

http://cjoint.com/?julwwq4vSC

JB



On 20 sep, 09:58, Guy <Andr?> wrote:
Bonjour et encore merci JB

Cela fonctionne tres bien

Mais peut on savoir comment faire pour connaitre les valeur des couleurs

et la même chose pour UN NB.SI (avec de L'alpha)

Exemple SI A1 =Guy et fond de cellule Rouge + Texte vert
--
Amicalement et merci



"JB" wrote:

La syntaxe de la fonction est:

=sommecouleurFondTexte(champ;couleurFond;CouleurTexte)

http://cjoint.com/?jtsAm6AlQN

J'ai ajouté une autre version:

=sommecouleurFondTexte(champ)

Sur cette version, les no de couleurs sont donnés par la couleur de la
cellule où la formule est écrite.

Function SommeCouleurFondTexte2(champ As Range)
Application.Volatile
couleurFond = Range(Application.Caller.Address).Interior.ColorIndex
couleurTexte = Range(Application.Caller.Address).Font.ColorIndex
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond And c.Font.ColorIndex =
couleurTexte Then
If IsNumeric(c.Value) Then temp = temp + c.Value
End If
Next c
SommeCouleurFondTexte2 = temp
End Function

JB

On 19 sep, 15:56, Guy <Andr?> wrote:
Bonjour et merci à Toi JB

Voici le module que tu ma envoyé mais cela ne fonctionne pas pour l es
différents Cas

Exemple de la Page A1:G1

J'ai A1 B1 et F1 avec fond noir et Police Blanche récupération en D4
puis B2 B3 en Fond jaune et police Noir Récupération en D5 etc. ...

Si j'ai bien compris les cellules réceptrices doivent avoir les m êmes
caractéristiques (Noir et Blanc) et (Jaune et Noir) etc...

Je récupere les memes valeurs

Dans un module alt+F11 puis Insertion/Module

Function SommeCouleurFondTexte(champ As Range, couleurFond,
couleurTexte)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond And c.Font.ColorIndex =
couleurTexte Then
If IsNumeric(c.Value) Then temp = temp + c.Value
End If
Next c
SommeCouleurFondTexte = temp
End Function

Pour Maj immédiate (sinon F9)

Dim celluleAvant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsEmpty(celluleAvant) Then
If Not Intersect(Range(celluleAvant), [B:B]) Is Nothing Then
Calculate
End If
celluleAvant = Target.Address
End Sub

--
Amicalement et merci- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Publicité
Poster une réponse
Anonyme