Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mise en forme conditionnelle sur plusieurs pages (code VBA)

6 réponses
Avatar
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

6 réponses

Avatar
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


Avatar
marc
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" a écrit dans le message de
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






Avatar
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" a écrit dans le message de
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








Avatar
marc
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" a écrit dans le message de
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" a écrit dans le message de
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












Avatar
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" a écrit dans le message de
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" a écrit dans le message de
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














Avatar
marc
Bonjour Daniel
Un gros merci pour ton aide
Marc

"Daniel.C" a écrit dans le message de news:
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" a écrit dans le message de 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" a écrit dans le message de 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