Je souhaite sélectionner la colonne (V) d'un tableau avec toutes les données qu'elle contient.
Je brode autour de ce code, mais malheureusement sans succès.
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 06/07/22 Í 08:06, Emile63 a écrit :
Bonjour Í tous, Je souhaite sélectionner la colonne (V) d'un tableau avec toutes les données qu'elle contient. Je brode autour de ce code, mais malheureusement sans succès. ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select Merci d'avance pour votre coup de main et très bonne journée Í tous. Emile
Bonjour, Si tu utilises l'outil "Tableau" du menu insertion : Range("Tableau1[[#All],[toto2]]").Select Tableau1 est le nom du tableau toto2 est le nom du champ de la colonne du tableau désiré #All -> pour toute la colonne Si tu utilises "Tableau" pour désigner une plage de cellule With Worksheets("Feuil1") ' OU Activesheet .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Select End With N.B. Pour travailler avec une plage de données, il n'est pas nécessaire de la sélectionner... MichD
Le 06/07/22 Í 08:06, Emile63 a écrit :
Bonjour Í tous,
Je souhaite sélectionner la colonne (V) d'un tableau avec toutes les données qu'elle contient.
Je brode autour de ce code, mais malheureusement sans succès.
Bonjour Í tous, Je souhaite sélectionner la colonne (V) d'un tableau avec toutes les données qu'elle contient. Je brode autour de ce code, mais malheureusement sans succès. ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select Merci d'avance pour votre coup de main et très bonne journée Í tous. Emile
Bonjour, Si tu utilises l'outil "Tableau" du menu insertion : Range("Tableau1[[#All],[toto2]]").Select Tableau1 est le nom du tableau toto2 est le nom du champ de la colonne du tableau désiré #All -> pour toute la colonne Si tu utilises "Tableau" pour désigner une plage de cellule With Worksheets("Feuil1") ' OU Activesheet .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Select End With N.B. Pour travailler avec une plage de données, il n'est pas nécessaire de la sélectionner... MichD
Emile63
Le Wednesday, July 6, 2022 Í 2:28:29 PM UTC+2, MichD a écrit :
Le 06/07/22 Í 08:06, Emile63 a écrit :
Bonjour Í tous, Je souhaite sélectionner la colonne (V) d'un tableau avec toutes les données qu'elle contient. Je brode autour de ce code, mais malheureusement sans succès. ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select Merci d'avance pour votre coup de main et très bonne journée Í tous. Emile
Bonjour, Si tu utilises l'outil "Tableau" du menu insertion : Range("Tableau1[[#All],[toto2]]").Select Tableau1 est le nom du tableau toto2 est le nom du champ de la colonne du tableau désiré #All -> pour toute la colonne Si tu utilises "Tableau" pour désigner une plage de cellule With Worksheets("Feuil1") ' OU Activesheet .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Select End With N.B. Pour travailler avec une plage de données, il n'est pas nécessaire de la sélectionner... MichD
Bonjour MichD, Merci pour ta réponse. Voici la raison pour laquelle je sélectionne la colonne : Sub GrilleVérouillages() 'Validation visuel du Vérouillage, colore les cellules si elles sont vérouillées (rouge) ou pas (vert) Range("V10:V500").Select 'ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select For Each cell In Selection If cell.Locked = True Then cell.Font.ColorIndex = 3 Else If cell.Locked = False Then cell.Font.ColorIndex = 10 End If Next MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m" End Sub
Le Wednesday, July 6, 2022 Í 2:28:29 PM UTC+2, MichD a écrit :
Le 06/07/22 Í 08:06, Emile63 a écrit :
> Bonjour Í tous,
>
> Je souhaite sélectionner la colonne (V) d'un tableau avec toutes les données qu'elle contient.
> Je brode autour de ce code, mais malheureusement sans succès.
>
> ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select
>
> Merci d'avance pour votre coup de main et très bonne journée Í tous.
> Emile
Bonjour,
Si tu utilises l'outil "Tableau" du menu insertion :
Range("Tableau1[[#All],[toto2]]").Select
Tableau1 est le nom du tableau
toto2 est le nom du champ de la colonne du tableau désiré
#All -> pour toute la colonne
Si tu utilises "Tableau" pour désigner une plage de cellule
With Worksheets("Feuil1") ' OU Activesheet
.Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Select
End With
N.B. Pour travailler avec une plage de données, il n'est pas nécessaire
de la sélectionner...
MichD
Bonjour MichD,
Merci pour ta réponse.
Voici la raison pour laquelle je sélectionne la colonne :
Sub GrilleVérouillages()
'Validation visuel du Vérouillage, colore les cellules si elles sont vérouillées (rouge) ou pas (vert)
For Each cell In Selection
If cell.Locked = True Then
cell.Font.ColorIndex = 3
Else
If cell.Locked = False Then cell.Font.ColorIndex = 10
End If
Next
MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m"
End Sub
Le Wednesday, July 6, 2022 Í 2:28:29 PM UTC+2, MichD a écrit :
Le 06/07/22 Í 08:06, Emile63 a écrit :
Bonjour Í tous, Je souhaite sélectionner la colonne (V) d'un tableau avec toutes les données qu'elle contient. Je brode autour de ce code, mais malheureusement sans succès. ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select Merci d'avance pour votre coup de main et très bonne journée Í tous. Emile
Bonjour, Si tu utilises l'outil "Tableau" du menu insertion : Range("Tableau1[[#All],[toto2]]").Select Tableau1 est le nom du tableau toto2 est le nom du champ de la colonne du tableau désiré #All -> pour toute la colonne Si tu utilises "Tableau" pour désigner une plage de cellule With Worksheets("Feuil1") ' OU Activesheet .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Select End With N.B. Pour travailler avec une plage de données, il n'est pas nécessaire de la sélectionner... MichD
Bonjour MichD, Merci pour ta réponse. Voici la raison pour laquelle je sélectionne la colonne : Sub GrilleVérouillages() 'Validation visuel du Vérouillage, colore les cellules si elles sont vérouillées (rouge) ou pas (vert) Range("V10:V500").Select 'ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select For Each cell In Selection If cell.Locked = True Then cell.Font.ColorIndex = 3 Else If cell.Locked = False Then cell.Font.ColorIndex = 10 End If Next MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m" End Sub
Emile63
Le Thursday, July 7, 2022 Í 8:22:22 AM UTC+2, Emile63 a écrit :
Le Wednesday, July 6, 2022 Í 2:28:29 PM UTC+2, MichD a écrit :
Le 06/07/22 Í 08:06, Emile63 a écrit : > Bonjour Í tous, > > Je souhaite sélectionner la colonne (V) d'un tableau avec toutes les données qu'elle contient. > Je brode autour de ce code, mais malheureusement sans succès. > > ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select > > Merci d'avance pour votre coup de main et très bonne journée Í tous. > Emile Bonjour, Si tu utilises l'outil "Tableau" du menu insertion : Range("Tableau1[[#All],[toto2]]").Select Tableau1 est le nom du tableau toto2 est le nom du champ de la colonne du tableau désiré #All -> pour toute la colonne Si tu utilises "Tableau" pour désigner une plage de cellule With Worksheets("Feuil1") ' OU Activesheet .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Select End With N.B. Pour travailler avec une plage de données, il n'est pas nécessaire de la sélectionner... MichD
Bonjour MichD, Merci pour ta réponse. Voici la raison pour laquelle je sélectionne la colonne : Sub GrilleVérouillages() 'Validation visuel du Vérouillage, colore les cellules si elles sont vérouillées (rouge) ou pas (vert) Range("V10:V500").Select 'ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select For Each cell In Selection If cell.Locked = True Then cell.Font.ColorIndex = 3 Else If cell.Locked = False Then cell.Font.ColorIndex = 10 End If Next MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m" End Sub
NB: Ma procédure ne fonctionne pas :( Les cellules vérouillées ne se colorent pas...)
Le Thursday, July 7, 2022 Í 8:22:22 AM UTC+2, Emile63 a écrit :
Le Wednesday, July 6, 2022 Í 2:28:29 PM UTC+2, MichD a écrit :
> Le 06/07/22 Í 08:06, Emile63 a écrit :
> > Bonjour Í tous,
> >
> > Je souhaite sélectionner la colonne (V) d'un tableau avec toutes les données qu'elle contient.
> > Je brode autour de ce code, mais malheureusement sans succès.
> >
> > ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select
> >
> > Merci d'avance pour votre coup de main et très bonne journée Í tous.
> > Emile
> Bonjour,
>
> Si tu utilises l'outil "Tableau" du menu insertion :
>
> Range("Tableau1[[#All],[toto2]]").Select
>
> Tableau1 est le nom du tableau
> toto2 est le nom du champ de la colonne du tableau désiré
> #All -> pour toute la colonne
>
> Si tu utilises "Tableau" pour désigner une plage de cellule
>
> With Worksheets("Feuil1") ' OU Activesheet
> .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Select
> End With
>
> N.B. Pour travailler avec une plage de données, il n'est pas nécessaire
> de la sélectionner...
>
> MichD
Bonjour MichD,
Merci pour ta réponse.
Voici la raison pour laquelle je sélectionne la colonne :
Sub GrilleVérouillages()
'Validation visuel du Vérouillage, colore les cellules si elles sont vérouillées (rouge) ou pas (vert)
For Each cell In Selection
If cell.Locked = True Then
cell.Font.ColorIndex = 3
Else
If cell.Locked = False Then cell.Font.ColorIndex = 10
End If
Next
MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m"
End Sub
NB: Ma procédure ne fonctionne pas :(
Les cellules vérouillées ne se colorent pas...)
Le Thursday, July 7, 2022 Í 8:22:22 AM UTC+2, Emile63 a écrit :
Le Wednesday, July 6, 2022 Í 2:28:29 PM UTC+2, MichD a écrit :
Le 06/07/22 Í 08:06, Emile63 a écrit : > Bonjour Í tous, > > Je souhaite sélectionner la colonne (V) d'un tableau avec toutes les données qu'elle contient. > Je brode autour de ce code, mais malheureusement sans succès. > > ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select > > Merci d'avance pour votre coup de main et très bonne journée Í tous. > Emile Bonjour, Si tu utilises l'outil "Tableau" du menu insertion : Range("Tableau1[[#All],[toto2]]").Select Tableau1 est le nom du tableau toto2 est le nom du champ de la colonne du tableau désiré #All -> pour toute la colonne Si tu utilises "Tableau" pour désigner une plage de cellule With Worksheets("Feuil1") ' OU Activesheet .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Select End With N.B. Pour travailler avec une plage de données, il n'est pas nécessaire de la sélectionner... MichD
Bonjour MichD, Merci pour ta réponse. Voici la raison pour laquelle je sélectionne la colonne : Sub GrilleVérouillages() 'Validation visuel du Vérouillage, colore les cellules si elles sont vérouillées (rouge) ou pas (vert) Range("V10:V500").Select 'ActiveSheet.Range("V10:" & Range("V" & .Rows.Count).End(xlUp).Row).Select For Each cell In Selection If cell.Locked = True Then cell.Font.ColorIndex = 3 Else If cell.Locked = False Then cell.Font.ColorIndex = 10 End If Next MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m" End Sub
NB: Ma procédure ne fonctionne pas :( Les cellules vérouillées ne se colorent pas...)
MichD
Le 07/07/22 Í 02:22, Emile63 a écrit :
If cell.Locked = True Then cell.Font.ColorIndex = 3 Else If cell.Locked = False Then cell.Font.ColorIndex = 10 End If
Ta macro devrait ressembler Í ceci : A ) Observe bien la ligne qui sélectionne la plage de cellule. B ) quand tu utilises l'expression ActiveSheet, cela est applicable Í chacune des feuilles de calculÂ. Si au moment de l'appel, ce n'est pas la bonne feuille qui est Í l'écran, cela va modifier cette feuille, ce qui n'est pas le résultat attendu. C ) Si ta macro doit s'appliquer qu'Í une seule feuille spécifique, remplace ActiveSheet par worksheets("Feuil1") ou encore mieux par le nom de l'objet feuille. En VBA, chaque feuille est définie comme suit : Feuil1(Feuil1) Le premier Feuil1 est le nom de l'objet feuille, le deuxième Feuill1 entre parenthèses est le nom de l'onglet de la feuille de calcul. Il est préférable d'utiliser le nom de l'objet With Feuil1 .Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select End with En utilisant le nom de l'objet, tu as droit Í la liste déroulante des propriétés et méthodes de l'objet. Tu peux modifier le nom de l'onglet de la feuille de calcul et cela n'affectera pas le déroulement de ta macro. La propriété "colorindex" n'est pas nécessairement la même pour tous les ordinateurs, certains usagers peuvent modifier ces valeurs par défaut. La présentation peut avoir alors un autre look. Il existe 8 constantes de couleur : VbWhite, VBBlack, VBgreen, VBmajenta VBBlue, VBgreen, VBRed, VBYellow Je t'ai donné un exemple dans ton code avec la propriété "Color" Tu pourrais aussi utilisé la fonction RGB() pour déterminer la "Color" Voir l'aide sur RGB. '-------------------------------- Sub test() Dim Cell As Range With ActiveSheet .Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select End With For Each Cell In Selection If Cell.Locked = True Then Cell.Font.ColorIndex = 3 'Cell.Font.Color = vbBlue Else Cell.Font.ColorIndex = 10 'Cell.Font.Color = vbGreen End If Next MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m" End Sub '-------------------------------- MichD
Le 07/07/22 Í 02:22, Emile63 a écrit :
If cell.Locked = True Then
cell.Font.ColorIndex = 3
Else
If cell.Locked = False Then cell.Font.ColorIndex = 10
End If
Ta macro devrait ressembler Í ceci :
A ) Observe bien la ligne qui sélectionne la plage de cellule.
B ) quand tu utilises l'expression ActiveSheet, cela est applicable
Í chacune des feuilles de calculÂ. Si au moment de l'appel, ce
n'est pas la bonne feuille qui est Í l'écran, cela va modifier
cette feuille, ce qui n'est pas le résultat attendu.
C ) Si ta macro doit s'appliquer qu'Í une seule feuille spécifique,
remplace ActiveSheet par worksheets("Feuil1") ou encore mieux par
le nom de l'objet feuille.
En VBA, chaque feuille est définie comme suit :
Feuil1(Feuil1)
Le premier Feuil1 est le nom de l'objet feuille,
le deuxième Feuill1 entre parenthèses est le nom de l'onglet de la
feuille de calcul.
Il est préférable d'utiliser le nom de l'objet
With Feuil1
.Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select
End with
En utilisant le nom de l'objet, tu as droit Í la liste déroulante des
propriétés et méthodes de l'objet.
Tu peux modifier le nom de l'onglet de la feuille de calcul et cela
n'affectera pas le déroulement de ta macro.
La propriété "colorindex" n'est pas nécessairement la même pour tous les
ordinateurs, certains usagers peuvent modifier ces valeurs par défaut.
La présentation peut avoir alors un autre look.
Il existe 8 constantes de couleur : VbWhite, VBBlack, VBgreen, VBmajenta
VBBlue, VBgreen, VBRed, VBYellow
Je t'ai donné un exemple dans ton code avec la propriété "Color"
Tu pourrais aussi utilisé la fonction RGB() pour déterminer la "Color"
Voir l'aide sur RGB.
'--------------------------------
Sub test()
Dim Cell As Range
With ActiveSheet
.Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select
End With
For Each Cell In Selection
If Cell.Locked = True Then
Cell.Font.ColorIndex = 3
'Cell.Font.Color = vbBlue
Else
Cell.Font.ColorIndex = 10
'Cell.Font.Color = vbGreen
End If
Next
MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m"
End Sub
'--------------------------------
If cell.Locked = True Then cell.Font.ColorIndex = 3 Else If cell.Locked = False Then cell.Font.ColorIndex = 10 End If
Ta macro devrait ressembler Í ceci : A ) Observe bien la ligne qui sélectionne la plage de cellule. B ) quand tu utilises l'expression ActiveSheet, cela est applicable Í chacune des feuilles de calculÂ. Si au moment de l'appel, ce n'est pas la bonne feuille qui est Í l'écran, cela va modifier cette feuille, ce qui n'est pas le résultat attendu. C ) Si ta macro doit s'appliquer qu'Í une seule feuille spécifique, remplace ActiveSheet par worksheets("Feuil1") ou encore mieux par le nom de l'objet feuille. En VBA, chaque feuille est définie comme suit : Feuil1(Feuil1) Le premier Feuil1 est le nom de l'objet feuille, le deuxième Feuill1 entre parenthèses est le nom de l'onglet de la feuille de calcul. Il est préférable d'utiliser le nom de l'objet With Feuil1 .Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select End with En utilisant le nom de l'objet, tu as droit Í la liste déroulante des propriétés et méthodes de l'objet. Tu peux modifier le nom de l'onglet de la feuille de calcul et cela n'affectera pas le déroulement de ta macro. La propriété "colorindex" n'est pas nécessairement la même pour tous les ordinateurs, certains usagers peuvent modifier ces valeurs par défaut. La présentation peut avoir alors un autre look. Il existe 8 constantes de couleur : VbWhite, VBBlack, VBgreen, VBmajenta VBBlue, VBgreen, VBRed, VBYellow Je t'ai donné un exemple dans ton code avec la propriété "Color" Tu pourrais aussi utilisé la fonction RGB() pour déterminer la "Color" Voir l'aide sur RGB. '-------------------------------- Sub test() Dim Cell As Range With ActiveSheet .Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select End With For Each Cell In Selection If Cell.Locked = True Then Cell.Font.ColorIndex = 3 'Cell.Font.Color = vbBlue Else Cell.Font.ColorIndex = 10 'Cell.Font.Color = vbGreen End If Next MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m" End Sub '-------------------------------- MichD
Emile63
Le Thursday, July 7, 2022 Í 1:00:03 PM UTC+2, MichD a écrit :
Le 07/07/22 Í 02:22, Emile63 a écrit :
If cell.Locked = True Then cell.Font.ColorIndex = 3 Else If cell.Locked = False Then cell.Font.ColorIndex = 10 End If
Ta macro devrait ressembler Í ceci : A ) Observe bien la ligne qui sélectionne la plage de cellule. B ) quand tu utilises l'expression ActiveSheet, cela est applicable Í chacune des feuilles de calculÂ. Si au moment de l'appel, ce n'est pas la bonne feuille qui est Í l'écran, cela va modifier cette feuille, ce qui n'est pas le résultat attendu. C ) Si ta macro doit s'appliquer qu'Í une seule feuille spécifique, remplace ActiveSheet par worksheets("Feuil1") ou encore mieux par le nom de l'objet feuille. En VBA, chaque feuille est définie comme suit : Feuil1(Feuil1) Le premier Feuil1 est le nom de l'objet feuille, le deuxième Feuill1 entre parenthèses est le nom de l'onglet de la feuille de calcul. Il est préférable d'utiliser le nom de l'objet With Feuil1 .Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select End with En utilisant le nom de l'objet, tu as droit Í la liste déroulante des propriétés et méthodes de l'objet. Tu peux modifier le nom de l'onglet de la feuille de calcul et cela n'affectera pas le déroulement de ta macro. La propriété "colorindex" n'est pas nécessairement la même pour tous les ordinateurs, certains usagers peuvent modifier ces valeurs par défaut. La présentation peut avoir alors un autre look. Il existe 8 constantes de couleur : VbWhite, VBBlack, VBgreen, VBmajenta VBBlue, VBgreen, VBRed, VBYellow Je t'ai donné un exemple dans ton code avec la propriété "Color" Tu pourrais aussi utilisé la fonction RGB() pour déterminer la "Color" Voir l'aide sur RGB. '-------------------------------- Sub test() Dim Cell As Range With ActiveSheet .Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select End With For Each Cell In Selection If Cell.Locked = True Then Cell.Font.ColorIndex = 3 'Cell.Font.Color = vbBlue Else Cell.Font.ColorIndex = 10 'Cell.Font.Color = vbGreen End If Next MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m" End Sub '-------------------------------- MichD
Bonjour MichD, Merci pour ton aide et pour l'explication. Ca fonctionne et j'ai compris. :)
Le Thursday, July 7, 2022 Í 1:00:03 PM UTC+2, MichD a écrit :
Le 07/07/22 Í 02:22, Emile63 a écrit :
> If cell.Locked = True Then
> cell.Font.ColorIndex = 3
> Else
> If cell.Locked = False Then cell.Font.ColorIndex = 10
> End If
Ta macro devrait ressembler Í ceci :
A ) Observe bien la ligne qui sélectionne la plage de cellule.
B ) quand tu utilises l'expression ActiveSheet, cela est applicable
Í chacune des feuilles de calculÂ. Si au moment de l'appel, ce
n'est pas la bonne feuille qui est Í l'écran, cela va modifier
cette feuille, ce qui n'est pas le résultat attendu.
C ) Si ta macro doit s'appliquer qu'Í une seule feuille spécifique,
remplace ActiveSheet par worksheets("Feuil1") ou encore mieux par
le nom de l'objet feuille.
En VBA, chaque feuille est définie comme suit :
Feuil1(Feuil1)
Le premier Feuil1 est le nom de l'objet feuille,
le deuxième Feuill1 entre parenthèses est le nom de l'onglet de la
feuille de calcul.
Il est préférable d'utiliser le nom de l'objet
With Feuil1
.Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select
End with
En utilisant le nom de l'objet, tu as droit Í la liste déroulante des
propriétés et méthodes de l'objet.
Tu peux modifier le nom de l'onglet de la feuille de calcul et cela
n'affectera pas le déroulement de ta macro.
La propriété "colorindex" n'est pas nécessairement la même pour tous les
ordinateurs, certains usagers peuvent modifier ces valeurs par défaut.
La présentation peut avoir alors un autre look.
Il existe 8 constantes de couleur : VbWhite, VBBlack, VBgreen, VBmajenta
VBBlue, VBgreen, VBRed, VBYellow
Je t'ai donné un exemple dans ton code avec la propriété "Color"
Tu pourrais aussi utilisé la fonction RGB() pour déterminer la "Color"
Voir l'aide sur RGB.
'--------------------------------
Sub test()
Dim Cell As Range
With ActiveSheet
.Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select
End With
For Each Cell In Selection
If Cell.Locked = True Then
Cell.Font.ColorIndex = 3
'Cell.Font.Color = vbBlue
Else
Cell.Font.ColorIndex = 10
'Cell.Font.Color = vbGreen
End If
Next
MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m"
End Sub
'--------------------------------
MichD
Bonjour MichD,
Merci pour ton aide et pour l'explication.
Ca fonctionne et j'ai compris. :)
Le Thursday, July 7, 2022 Í 1:00:03 PM UTC+2, MichD a écrit :
Le 07/07/22 Í 02:22, Emile63 a écrit :
If cell.Locked = True Then cell.Font.ColorIndex = 3 Else If cell.Locked = False Then cell.Font.ColorIndex = 10 End If
Ta macro devrait ressembler Í ceci : A ) Observe bien la ligne qui sélectionne la plage de cellule. B ) quand tu utilises l'expression ActiveSheet, cela est applicable Í chacune des feuilles de calculÂ. Si au moment de l'appel, ce n'est pas la bonne feuille qui est Í l'écran, cela va modifier cette feuille, ce qui n'est pas le résultat attendu. C ) Si ta macro doit s'appliquer qu'Í une seule feuille spécifique, remplace ActiveSheet par worksheets("Feuil1") ou encore mieux par le nom de l'objet feuille. En VBA, chaque feuille est définie comme suit : Feuil1(Feuil1) Le premier Feuil1 est le nom de l'objet feuille, le deuxième Feuill1 entre parenthèses est le nom de l'onglet de la feuille de calcul. Il est préférable d'utiliser le nom de l'objet With Feuil1 .Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select End with En utilisant le nom de l'objet, tu as droit Í la liste déroulante des propriétés et méthodes de l'objet. Tu peux modifier le nom de l'onglet de la feuille de calcul et cela n'affectera pas le déroulement de ta macro. La propriété "colorindex" n'est pas nécessairement la même pour tous les ordinateurs, certains usagers peuvent modifier ces valeurs par défaut. La présentation peut avoir alors un autre look. Il existe 8 constantes de couleur : VbWhite, VBBlack, VBgreen, VBmajenta VBBlue, VBgreen, VBRed, VBYellow Je t'ai donné un exemple dans ton code avec la propriété "Color" Tu pourrais aussi utilisé la fonction RGB() pour déterminer la "Color" Voir l'aide sur RGB. '-------------------------------- Sub test() Dim Cell As Range With ActiveSheet .Range("V10:V" & .Range("V" & .Rows.Count).End(xlUp).Row).Select End With For Each Cell In Selection If Cell.Locked = True Then Cell.Font.ColorIndex = 3 'Cell.Font.Color = vbBlue Else Cell.Font.ColorIndex = 10 'Cell.Font.Color = vbGreen End If Next MsgBox "Sélection terminée", , "Cellules vérouillées Ctrl+m" End Sub '-------------------------------- MichD
Bonjour MichD, Merci pour ton aide et pour l'explication. Ca fonctionne et j'ai compris. :)