mise en forme conditionnelle sur plusieurs pages (code VBA)

Le
marc
Bonjour à vous tous. Voici mon problème
Dans un fichier, j'ai plusieurs feuilles. 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 dans une autre feuille, qu'ils
soient
sur un fond orange.
Je joins le lien pour mon fichier.
http://cjoint.com/?ekfbBLkfdx

Daniel C m'avait déjà donné ce code
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
Mais j'ai des erreurs:
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 m'aider
Marc
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 #19108241
Bonjour.

If Not PtitRobert.exists(c.Value) And c.Value <> "total"
Then
Le "Then" doit se trouver au bout de la ligne précédente (avec un
espace devant.
De même pour :
ElseIf Not Littr .exists(c.Value) And c.Value <> "total"
Then

Tout cela est de la faute aux cartes perforées, mais c'est une autre
histoire...
Cordialement.
Daniel

Bonjour à vous tous. Voici mon problème
Dans un fichier, j'ai plusieurs feuilles. 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 dans une autre feuille, qu'ils
soient
sur un fond orange.
Je joins le lien pour mon fichier.
http://cjoint.com/?ekfbBLkfdx

Daniel C m'avait déjà donné ce code
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
Mais j'ai des erreurs:
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 m'aider
Marc


marc
Le #19108521
Bonjour Daniel
Cela ne fonctionne pas plus.
Voici le document avec le code.
merci encore de ton aide.
Marc
http://cjoint.com/?epgcUcvz7n

"Daniel.C" news:
Bonjour.

If Not PtitRobert.exists(c.Value) And c.Value <> "total"
Then
Le "Then" doit se trouver au bout de la ligne précédente (avec un espace
devant.
De même pour :
ElseIf Not Littr .exists(c.Value) And c.Value <> "total"
Then

Tout cela est de la faute aux cartes perforées, mais c'est une autre
histoire...
Cordialement.
Daniel

Bonjour à vous tous. Voici mon problème
Dans un fichier, j'ai plusieurs feuilles. 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 dans une autre feuille,
qu'ils soient
sur un fond orange.
Je joins le lien pour mon fichier.
http://cjoint.com/?ekfbBLkfdx

Daniel C m'avait déjà donné ce code
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
Mais j'ai des erreurs:
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 m'aider
Marc






Daniel.C
Le #19109291
Regarde ton classeur modifié :
http://www.cijoint.fr/cjlink.php?file=cj200904/cijEXaqihO.xls
Daniel


Bonjour Daniel
Cela ne fonctionne pas plus.
Voici le document avec le code.
merci encore de ton aide.
Marc
http://cjoint.com/?epgcUcvz7n

"Daniel.C" news:
Bonjour.

If Not PtitRobert.exists(c.Value) And c.Value <> "total"
Then
Le "Then" doit se trouver au bout de la ligne précédente (avec un espace
devant.
De même pour :
ElseIf Not Littr .exists(c.Value) And c.Value <> "total"
Then

Tout cela est de la faute aux cartes perforées, mais c'est une autre
histoire...
Cordialement.
Daniel

Bonjour à vous tous. Voici mon problème
Dans un fichier, j'ai plusieurs feuilles. 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 dans une autre feuille, qu'ils
soient
sur un fond orange.
Je joins le lien pour mon fichier.
http://cjoint.com/?ekfbBLkfdx

Daniel C m'avait déjà donné ce code
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
Mais j'ai des erreurs:
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 m'aider
Marc








marc
Le #19109601
Bonjour Danielle
Un gros merci, cela fonctionne parfaitement.
Dernière question:
c.Interior.Color.index=6
quel est le chiffre à mettre pour la couleur orange. Sur mon ordi, la
couleur 6 me donne la couleur jaune.
Merci de ton aide
Marc

"Daniel.C" news:%
Regarde ton classeur modifié :
http://www.cijoint.fr/cjlink.php?file=cj200904/cijEXaqihO.xls
Daniel


Bonjour Daniel
Cela ne fonctionne pas plus.
Voici le document avec le code.
merci encore de ton aide.
Marc
http://cjoint.com/?epgcUcvz7n

"Daniel.C" news:
Bonjour.

If Not PtitRobert.exists(c.Value) And c.Value <> "total"
Then
Le "Then" doit se trouver au bout de la ligne précédente (avec un espace
devant.
De même pour :
ElseIf Not Littr .exists(c.Value) And c.Value <> "total"
Then

Tout cela est de la faute aux cartes perforées, mais c'est une autre
histoire...
Cordialement.
Daniel

Bonjour à vous tous. Voici mon problème
Dans un fichier, j'ai plusieurs feuilles. 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 dans une autre feuille,
qu'ils soient
sur un fond orange.
Je joins le lien pour mon fichier.
http://cjoint.com/?ekfbBLkfdx

Daniel C m'avait déjà donné ce code
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
Mais j'ai des erreurs:
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 m'aider
Marc












Daniel.C
Le #19110071
44,45 ou 46, de l'orange clair à l'orange vif.
Pour le savoir plus précisément, choisis la couleur d'une cellule et
exécute :
Sub Test()
MsgBox ActiveCell.Interior.Colorindex
End Sub
Daniel

Bonjour Danielle
Un gros merci, cela fonctionne parfaitement.
Dernière question:
c.Interior.Color.index=6
quel est le chiffre à mettre pour la couleur orange. Sur mon ordi, la couleur
6 me donne la couleur jaune.
Merci de ton aide
Marc

"Daniel.C" news:%
Regarde ton classeur modifié :
http://www.cijoint.fr/cjlink.php?file=cj200904/cijEXaqihO.xls
Daniel


Bonjour Daniel
Cela ne fonctionne pas plus.
Voici le document avec le code.
merci encore de ton aide.
Marc
http://cjoint.com/?epgcUcvz7n

"Daniel.C" news:
Bonjour.

If Not PtitRobert.exists(c.Value) And c.Value <> "total"
Then
Le "Then" doit se trouver au bout de la ligne précédente (avec un espace
devant.
De même pour :
ElseIf Not Littr .exists(c.Value) And c.Value <> "total"
Then

Tout cela est de la faute aux cartes perforées, mais c'est une autre
histoire...
Cordialement.
Daniel

Bonjour à vous tous. Voici mon problème
Dans un fichier, j'ai plusieurs feuilles. 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 dans une autre feuille,
qu'ils soient
sur un fond orange.
Je joins le lien pour mon fichier.
http://cjoint.com/?ekfbBLkfdx

Daniel C m'avait déjà donné ce code
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
Mais j'ai des erreurs:
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 m'aider
Marc














marc
Le #19113171
Bonjour Daniel
Un gros merci pour ton aide
Marc

"Daniel.C"
44,45 ou 46, de l'orange clair à l'orange vif.
Pour le savoir plus précisément, choisis la couleur d'une cellule et exécute :
Sub Test()
MsgBox ActiveCell.Interior.Colorindex
End Sub
Daniel

Bonjour Danielle
Un gros merci, cela fonctionne parfaitement.
Dernière question:
c.Interior.Color.index=6
quel est le chiffre à mettre pour la couleur orange. Sur mon ordi, la couleur 6 me donne la couleur jaune.
Merci de ton aide
Marc

"Daniel.C"
Regarde ton classeur modifié :
http://www.cijoint.fr/cjlink.php?file=cj200904/cijEXaqihO.xls
Daniel


Bonjour Daniel
Cela ne fonctionne pas plus.
Voici le document avec le code.
merci encore de ton aide.
Marc
http://cjoint.com/?epgcUcvz7n

"Daniel.C"
Bonjour.

If Not PtitRobert.exists(c.Value) And c.Value <> "total"
Then
Le "Then" doit se trouver au bout de la ligne précédente (avec un espace devant.
De même pour :
ElseIf Not Littr .exists(c.Value) And c.Value <> "total"
Then

Tout cela est de la faute aux cartes perforées, mais c'est une autre histoire...
Cordialement.
Daniel

Bonjour à vous tous. Voici mon problème
Dans un fichier, j'ai plusieurs feuilles. 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 dans
une autre feuille, qu'ils soient
sur un fond orange.
Je joins le lien pour mon fichier.
http://cjoint.com/?ekfbBLkfdx

Daniel C m'avait déjà donné ce code
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
Mais j'ai des erreurs:
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 m'aider
Marc


















Publicité
Poster une réponse
Anonyme