Bonjour =C3=A0 tous,
Ma macro effectue un traitement sur la feuil1 et en m=C3=AAme temps =C3=A9c=
rit des donn=C3=A9es sur la feui2.
La feuil1 est active.
Comment colorier des cellules de la feuil2 sans l'activer ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Le 25/10/20 à 08:20, Alf a écrit :
Bonjour à tous, Ma macro effectue un traitement sur la feuil1 et en même temps écrit des données sur la feui2. La feuil1 est active. Comment colorier des cellules de la feuil2 sans l'activer ? Merci pour votre aide Alf
Bonjour, Cela ressemble à ceci : '------------------------------------- Sub test() With Worksheets("Feuil2") .Range("A1:K1").Interior.Color = vbRed 'Ou .Range("A2:G5").Interior.Color = RGB(125, 125, 254) 'Chaque paramètre de la fonction RGB peut prendre la valeur 'de 0 à 255 'OU .Range("A3").Interior.ColorIndex = 56 'Valeur de 0 à 56 'Pour colorer le texte With .Range("A1") .Font.Color = vbWhite .Bold = True End With 'Les 2 autres méthodes sont aussi possibles. End With End Sub '------------------------------------- MichD
Le 25/10/20 à 08:20, Alf a écrit :
Bonjour à tous,
Ma macro effectue un traitement sur la feuil1 et en même temps écrit des données sur la feui2.
La feuil1 est active.
Comment colorier des cellules de la feuil2 sans l'activer ?
Merci pour votre aide
Alf
Bonjour,
Cela ressemble à ceci :
'-------------------------------------
Sub test()
With Worksheets("Feuil2")
.Range("A1:K1").Interior.Color = vbRed
'Ou
.Range("A2:G5").Interior.Color = RGB(125, 125, 254)
'Chaque paramètre de la fonction RGB peut prendre la valeur
'de 0 à 255
'OU
.Range("A3").Interior.ColorIndex = 56
'Valeur de 0 à 56
'Pour colorer le texte
With .Range("A1")
.Font.Color = vbWhite
.Bold = True
End With
'Les 2 autres méthodes sont aussi possibles.
End With
Bonjour à tous, Ma macro effectue un traitement sur la feuil1 et en même temps écrit des données sur la feui2. La feuil1 est active. Comment colorier des cellules de la feuil2 sans l'activer ? Merci pour votre aide Alf
Bonjour, Cela ressemble à ceci : '------------------------------------- Sub test() With Worksheets("Feuil2") .Range("A1:K1").Interior.Color = vbRed 'Ou .Range("A2:G5").Interior.Color = RGB(125, 125, 254) 'Chaque paramètre de la fonction RGB peut prendre la valeur 'de 0 à 255 'OU .Range("A3").Interior.ColorIndex = 56 'Valeur de 0 à 56 'Pour colorer le texte With .Range("A1") .Font.Color = vbWhite .Bold = True End With 'Les 2 autres méthodes sont aussi possibles. End With End Sub '------------------------------------- MichD
MichD
Le 25/10/20 à 12:29, Alf a écrit :
Le dimanche 25 octobre 2020 à 13:48:23 UTC+1, MichD a écrit :
Le 25/10/20 à 08:20, Alf a écrit :
Bonjour à tous, Ma macro effectue un traitement sur la feuil1 et en même temps écrit des données sur la feui2. La feuil1 est active. Comment colorier des cellules de la feuil2 sans l'activer ? Merci pour votre aide Alf
Bonjour, Cela ressemble à ceci : '------------------------------------- Sub test() With Worksheets("Feuil2") .Range("A1:K1").Interior.Color = vbRed 'Ou .Range("A2:G5").Interior.Color = RGB(125, 125, 254) 'Chaque paramètre de la fonction RGB peut prendre la valeur 'de 0 à 255 'OU .Range("A3").Interior.ColorIndex = 56 'Valeur de 0 à 56 'Pour colorer le texte With .Range("A1") .Font.Color = vbWhite .Bold = True End With 'Les 2 autres méthodes sont aussi possibles. End With End Sub '------------------------------------- MichD
Merci MichD pour ta réponse. J'avais essayé avec cette formule Worksheets("Feuil2").Range(Cells(NLig, 1), Cells(NLig, 16)).Interior.Color = vbRed Pourquoi faut il obligatoirement utiliser le Range("A1:A16") ? Merci pour les éclaircissements Alf
Les "Range" que j'ai donnés sont des exemples. Tu peux définir ces "Range" comme tu le désires. Si ta ligne de code ne fonctionne pas, c'est que la syntaxe n'est pas bonne. Voici ce que tu aurais dû écrire (tout sur la même ligne) Worksheets("Feuil2").Range(Worksheets("Feuil2").Cells(Nlig, 1), Worksheets("Feuil2").Cells(Nlig, 16)).Interior.Color = vbRed Si cette ligne de code est dans un module feuille, tous les objets "Cells" ou "Range" doivent être précédés par l'identification de la feuille que tu désires. Si une telle identification n'est pas spécifiée, ces objets "Range" ou "Cells" sont réputés appartenir à la feuille où le code est inscrit. Quand tu es dans un module standard, les objets "Cells" et "range" sans identification de la feuille auxquels ils appartiennent, ils sont réputés à la feuille active au moment de l'exécution de la ligne de code. Si tu apprends à programmer en utilisant le type de syntaxe que j'utilise, elle fonctionne à tout coup, peu importe où tu as écrit la ligne de code. Cela est plus court à écrire et plus facile à lire! MichD
Le 25/10/20 à 12:29, Alf a écrit :
Le dimanche 25 octobre 2020 à 13:48:23 UTC+1, MichD a écrit :
Le 25/10/20 à 08:20, Alf a écrit :
Bonjour à tous,
Ma macro effectue un traitement sur la feuil1 et en même temps écrit des données sur la feui2.
La feuil1 est active.
Comment colorier des cellules de la feuil2 sans l'activer ?
Merci pour votre aide
Alf
Bonjour,
Cela ressemble à ceci :
'-------------------------------------
Sub test()
With Worksheets("Feuil2")
.Range("A1:K1").Interior.Color = vbRed
'Ou
.Range("A2:G5").Interior.Color = RGB(125, 125, 254)
'Chaque paramètre de la fonction RGB peut prendre la valeur
'de 0 à 255
'OU
.Range("A3").Interior.ColorIndex = 56
'Valeur de 0 à 56
'Pour colorer le texte
With .Range("A1")
.Font.Color = vbWhite
.Bold = True
End With
'Les 2 autres méthodes sont aussi possibles.
End With
End Sub
'-------------------------------------
MichD
Merci MichD pour ta réponse.
J'avais essayé avec cette formule
Worksheets("Feuil2").Range(Cells(NLig, 1), Cells(NLig, 16)).Interior.Color = vbRed
Pourquoi faut il obligatoirement utiliser le Range("A1:A16") ?
Merci pour les éclaircissements
Alf
Les "Range" que j'ai donnés sont des exemples. Tu peux définir ces
"Range" comme tu le désires.
Si ta ligne de code ne fonctionne pas, c'est que la syntaxe n'est pas
bonne. Voici ce que tu aurais dû écrire (tout sur la même ligne)
Si cette ligne de code est dans un module feuille, tous les objets
"Cells" ou "Range" doivent être précédés par l'identification de la
feuille que tu désires. Si une telle identification n'est pas spécifiée,
ces objets "Range" ou "Cells" sont réputés appartenir à la feuille où le
code est inscrit.
Quand tu es dans un module standard, les objets "Cells" et "range" sans
identification de la feuille auxquels ils appartiennent, ils sont
réputés à la feuille active au moment de l'exécution de la ligne de code.
Si tu apprends à programmer en utilisant le type de syntaxe que
j'utilise, elle fonctionne à tout coup, peu importe où tu as écrit la
ligne de code. Cela est plus court à écrire et plus facile à lire!
Le dimanche 25 octobre 2020 à 13:48:23 UTC+1, MichD a écrit :
Le 25/10/20 à 08:20, Alf a écrit :
Bonjour à tous, Ma macro effectue un traitement sur la feuil1 et en même temps écrit des données sur la feui2. La feuil1 est active. Comment colorier des cellules de la feuil2 sans l'activer ? Merci pour votre aide Alf
Bonjour, Cela ressemble à ceci : '------------------------------------- Sub test() With Worksheets("Feuil2") .Range("A1:K1").Interior.Color = vbRed 'Ou .Range("A2:G5").Interior.Color = RGB(125, 125, 254) 'Chaque paramètre de la fonction RGB peut prendre la valeur 'de 0 à 255 'OU .Range("A3").Interior.ColorIndex = 56 'Valeur de 0 à 56 'Pour colorer le texte With .Range("A1") .Font.Color = vbWhite .Bold = True End With 'Les 2 autres méthodes sont aussi possibles. End With End Sub '------------------------------------- MichD
Merci MichD pour ta réponse. J'avais essayé avec cette formule Worksheets("Feuil2").Range(Cells(NLig, 1), Cells(NLig, 16)).Interior.Color = vbRed Pourquoi faut il obligatoirement utiliser le Range("A1:A16") ? Merci pour les éclaircissements Alf
Les "Range" que j'ai donnés sont des exemples. Tu peux définir ces "Range" comme tu le désires. Si ta ligne de code ne fonctionne pas, c'est que la syntaxe n'est pas bonne. Voici ce que tu aurais dû écrire (tout sur la même ligne) Worksheets("Feuil2").Range(Worksheets("Feuil2").Cells(Nlig, 1), Worksheets("Feuil2").Cells(Nlig, 16)).Interior.Color = vbRed Si cette ligne de code est dans un module feuille, tous les objets "Cells" ou "Range" doivent être précédés par l'identification de la feuille que tu désires. Si une telle identification n'est pas spécifiée, ces objets "Range" ou "Cells" sont réputés appartenir à la feuille où le code est inscrit. Quand tu es dans un module standard, les objets "Cells" et "range" sans identification de la feuille auxquels ils appartiennent, ils sont réputés à la feuille active au moment de l'exécution de la ligne de code. Si tu apprends à programmer en utilisant le type de syntaxe que j'utilise, elle fonctionne à tout coup, peu importe où tu as écrit la ligne de code. Cela est plus court à écrire et plus facile à lire! MichD
MichD
J'ai omis l'exemple de ton code dans une nouvelle syntaxe : With Worksheets("Feuil2") with .Range(.Cells(Nlig, 1),.Cells(Nlig, 16) .Interior.Color = vbRed end with End with Observe les "." devant les expressions "Range" et "cells" afin de spécifier qu'ils appartiennent vraiment à la feuille "Feuil2". MichD
J'ai omis l'exemple de ton code dans une nouvelle syntaxe :
With Worksheets("Feuil2")
with .Range(.Cells(Nlig, 1),.Cells(Nlig, 16)
.Interior.Color = vbRed
end with
End with
Observe les "." devant les expressions "Range" et "cells" afin de
spécifier qu'ils appartiennent vraiment à la feuille "Feuil2".
J'ai omis l'exemple de ton code dans une nouvelle syntaxe : With Worksheets("Feuil2") with .Range(.Cells(Nlig, 1),.Cells(Nlig, 16) .Interior.Color = vbRed end with End with Observe les "." devant les expressions "Range" et "cells" afin de spécifier qu'ils appartiennent vraiment à la feuille "Feuil2". MichD
Alf
Le dimanche 25 octobre 2020 à 19:37:19 UTC+1, MichD a écrit :
J'ai omis l'exemple de ton code dans une nouvelle syntaxe : With Worksheets("Feuil2") with .Range(.Cells(Nlig, 1),.Cells(Nlig, 16) .Interior.Color = vbRed end with End with Observe les "." devant les expressions "Range" et "cells" afin de spécifier qu'ils appartiennent vraiment à la feuille "Feuil2". MichD
Ok tout est clair. Merci encore
Le dimanche 25 octobre 2020 à 19:37:19 UTC+1, MichD a écrit :
J'ai omis l'exemple de ton code dans une nouvelle syntaxe :
With Worksheets("Feuil2")
with .Range(.Cells(Nlig, 1),.Cells(Nlig, 16)
.Interior.Color = vbRed
end with
End with
Observe les "." devant les expressions "Range" et "cells" afin de
spécifier qu'ils appartiennent vraiment à la feuille "Feuil2".
Le dimanche 25 octobre 2020 à 19:37:19 UTC+1, MichD a écrit :
J'ai omis l'exemple de ton code dans une nouvelle syntaxe : With Worksheets("Feuil2") with .Range(.Cells(Nlig, 1),.Cells(Nlig, 16) .Interior.Color = vbRed end with End with Observe les "." devant les expressions "Range" et "cells" afin de spécifier qu'ils appartiennent vraiment à la feuille "Feuil2". MichD