mise en forme conditionnelle sur plusieurs feuilles

Le
marc
Bonjour à vous tous
Voici mon problème.
Dans un fichier, j'ai plusieurs feuille. Dans la colonne A, j'ai des noms de compagnie. Ce que j'aimerais, c'est d'avoir la couleur
de fond orange si un nom de compagnie se retrouve sur plus d'une feuille. Le hic, c'est que je ne veux pas juste mettre la couleur
de fond sur la feuille 1, je veux que toute les feuilles du fichier, si le nom de la compagnie de la colonne A existe, qu'ils soient
sur un fond orange.

Dans mon travail, j'ai plusieurs fichier comme ceci et chaque fichier, chaque feuille n'ont pas le même nombre de ligne. Même si
dans l'exemple joint, j'ai fait un copier-coller de la feuille, en réalité, c'est beaucoup plus qu'une vingtaine de ligne. Si c'est
possible, j'aimerais résoudre avec une formule, sinon, ce sera une macro.
Merci de votre aide.
Marc
http://cjoint.com/?ekfbBLkfdx
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
Daniel.C
Le #19079961
Bonjour.
Nomme la plage des compagnies de la Feuille A : plagea et de même pour
les autres feuilles, plageb, plagec... Sélectionne la plagea et entre
la formule de MFC :
=OU(NB.SI(plageb;A3)>0;NB.SI(plageb;A3)>0)
Modifie la formule pour chaque feuille.
Daniel

Bonjour à vous tous
Voici mon problème.
Dans un fichier, j'ai plusieurs feuille. Dans la colonne A, j'ai des noms de
compagnie. Ce que j'aimerais, c'est d'avoir la couleur de fond orange si un
nom de compagnie se retrouve sur plus d'une feuille. Le hic, c'est que je ne
veux pas juste mettre la couleur de fond sur la feuille 1, je veux que toute
les feuilles du fichier, si le nom de la compagnie de la colonne A existe,
qu'ils soient sur un fond orange.

Dans mon travail, j'ai plusieurs fichier comme ceci et chaque fichier, chaque
feuille n'ont pas le même nombre de ligne. Même si dans l'exemple joint, j'ai
fait un copier-coller de la feuille, en réalité, c'est beaucoup plus qu'une
vingtaine de ligne. Si c'est possible, j'aimerais résoudre avec une formule,
sinon, ce sera une macro.
Merci de votre aide.
Marc
http://cjoint.com/?ekfbBLkfdx


marc
Le #19080861
Bonjour Daniel
Merci Daniel, mais je me rends compte qu'avec une formule, c'est beaucoup trop long. Un de mes fichiers contient 40 feuilles.
existe-t-il alors une macro qui pourrait faire le même travail? Toute les noms de compagnie sont toujours dans la colonne A. Je ne
suis pas doué en vba.
Merci de ton aide
Marc

"Daniel.C"
Bonjour.
Nomme la plage des compagnies de la Feuille A : plagea et de même pour les autres feuilles, plageb, plagec... Sélectionne la
plagea et entre la formule de MFC :
=OU(NB.SI(plageb;A3)>0;NB.SI(plageb;A3)>0)
Modifie la formule pour chaque feuille.
Daniel

Bonjour à vous tous
Voici mon problème.
Dans un fichier, j'ai plusieurs feuille. Dans la colonne A, j'ai des noms de compagnie. Ce que j'aimerais, c'est d'avoir la
couleur de fond orange si un nom de compagnie se retrouve sur plus d'une feuille. Le hic, c'est que je ne veux pas juste mettre
la couleur de fond sur la feuille 1, je veux que toute les feuilles du fichier, si le nom de la compagnie de la colonne A existe,
qu'ils soient sur un fond orange.

Dans mon travail, j'ai plusieurs fichier comme ceci et chaque fichier, chaque feuille n'ont pas le même nombre de ligne. Même si
dans l'exemple joint, j'ai fait un copier-coller de la feuille, en réalité, c'est beaucoup plus qu'une vingtaine de ligne. Si
c'est possible, j'aimerais résoudre avec une formule, sinon, ce sera une macro.
Merci de votre aide.
Marc
http://cjoint.com/?ekfbBLkfdx






Daniel.C
Le #19081261
Essaie :

Sub DeuxDicos()
Dim c As Range, PtitRobert As Object, sh As Worksheet, Littré As Object
Set PtitRobert = CreateObject("Scripting.Dictionary")
Set Littré = CreateObject("Scripting.Dictionary")
For Each sh In Sheets
With sh
For Each c In Range(.[A3], .[A65000].End(xlUp))
If Not PtitRobert.exists(c.Value) And c.Value <> "total"
Then
PtitRobert.Add c.Value, c.Value
ElseIf Not Littré.exists(c.Value) And c.Value <> "total"
Then
Littré.Add c.Value, c.Value
End If
Next c
End With
Next sh
For Each sh In Sheets
With sh
For Each c In Range(.[A3], .[A65000].End(xlUp))
If Littré.exists(c.Value) Then
c.Interior.ColorIndex = 6
Else
c.Interior.ColorIndex = xlNone
End If
Next c
End With
Next sh
End Sub

Cordialement.
Daniel

Bonjour Daniel
Merci Daniel, mais je me rends compte qu'avec une formule, c'est beaucoup
trop long. Un de mes fichiers contient 40 feuilles.
existe-t-il alors une macro qui pourrait faire le même travail? Toute les
noms de compagnie sont toujours dans la colonne A. Je ne suis pas doué en
vba.
Merci de ton aide
Marc

"Daniel.C"
Bonjour.
Nomme la plage des compagnies de la Feuille A : plagea et de même pour les
autres feuilles, plageb, plagec... Sélectionne la plagea et entre la
formule de MFC :
=OU(NB.SI(plageb;A3)>0;NB.SI(plageb;A3)>0)
Modifie la formule pour chaque feuille.
Daniel

Bonjour à vous tous
Voici mon problème.
Dans un fichier, j'ai plusieurs feuille. Dans la colonne A, j'ai des noms
de compagnie. Ce que j'aimerais, c'est d'avoir la couleur de fond orange
si un nom de compagnie se retrouve sur plus d'une feuille. Le hic, c'est
que je ne veux pas juste mettre la couleur de fond sur la feuille 1, je
veux que toute les feuilles du fichier, si le nom de la compagnie de la
colonne A existe, qu'ils soient sur un fond orange.

Dans mon travail, j'ai plusieurs fichier comme ceci et chaque fichier,
chaque feuille n'ont pas le même nombre de ligne. Même si dans l'exemple
joint, j'ai fait un copier-coller de la feuille, en réalité, c'est
beaucoup plus qu'une vingtaine de ligne. Si c'est possible, j'aimerais
résoudre avec une formule, sinon, ce sera une macro.
Merci de votre aide.
Marc
http://cjoint.com/?ekfbBLkfdx








marc
Le #19085891
Bonjour Daniel
J'ai une erreur de compilation à la ligne suivante:
If Not PtitRobert.exists(c.Value) And c.Value <> "total"
et le texte suivant est en rouge.
Then
PtitRobert.Add c.Value, c.Value
ElseIf Not Littré.exists(c.Value) And c.Value <> "total" Then


Merci de bien vouloir m'aider
Marc



"Daniel.C"
Essaie :

Sub DeuxDicos()
Dim c As Range, PtitRobert As Object, sh As Worksheet, Littré As Object
Set PtitRobert = CreateObject("Scripting.Dictionary")
Set Littré = CreateObject("Scripting.Dictionary")
For Each sh In Sheets
With sh
For Each c In Range(.[A3], .[A65000].End(xlUp))
If Not PtitRobert.exists(c.Value) And c.Value <> "total" Then
PtitRobert.Add c.Value, c.Value
ElseIf Not Littré.exists(c.Value) And c.Value <> "total" Then
Littré.Add c.Value, c.Value
End If
Next c
End With
Next sh
For Each sh In Sheets
With sh
For Each c In Range(.[A3], .[A65000].End(xlUp))
If Littré.exists(c.Value) Then
c.Interior.ColorIndex = 6
Else
c.Interior.ColorIndex = xlNone
End If
Next c
End With
Next sh
End Sub

Cordialement.
Daniel

Bonjour Daniel
Merci Daniel, mais je me rends compte qu'avec une formule, c'est beaucoup trop long. Un de mes fichiers contient 40 feuilles.
existe-t-il alors une macro qui pourrait faire le même travail? Toute les noms de compagnie sont toujours dans la colonne A. Je
ne suis pas doué en vba.
Merci de ton aide
Marc

"Daniel.C"
Bonjour.
Nomme la plage des compagnies de la Feuille A : plagea et de même pour les autres feuilles, plageb, plagec... Sélectionne la
plagea et entre la formule de MFC :
=OU(NB.SI(plageb;A3)>0;NB.SI(plageb;A3)>0)
Modifie la formule pour chaque feuille.
Daniel

Bonjour à vous tous
Voici mon problème.
Dans un fichier, j'ai plusieurs feuille. Dans la colonne A, j'ai des noms de compagnie. Ce que j'aimerais, c'est d'avoir la
couleur de fond orange si un nom de compagnie se retrouve sur plus d'une feuille. Le hic, c'est que je ne veux pas juste mettre
la couleur de fond sur la feuille 1, je veux que toute les feuilles du fichier, si le nom de la compagnie de la colonne A
existe, qu'ils soient sur un fond orange.

Dans mon travail, j'ai plusieurs fichier comme ceci et chaque fichier, chaque feuille n'ont pas le même nombre de ligne. Même
si dans l'exemple joint, j'ai fait un copier-coller de la feuille, en réalité, c'est beaucoup plus qu'une vingtaine de ligne.
Si c'est possible, j'aimerais résoudre avec une formule, sinon, ce sera une macro.
Merci de votre aide.
Marc
http://cjoint.com/?ekfbBLkfdx












Publicité
Poster une réponse
Anonyme