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

Limiter ation à l'intérieur d'un tableau

32 réponses
Avatar
Jacquouille
Bonjour
Je désire limiter une action aux frontières d'un tableau.
Exemple: tablo = a1:i10
for each c in tablo
if [c]=3 then row(c).interior.colorindex=3 mais uniquement dans tablo
idem pour colonne(c)

Un grand merci
PS Ici, il pleut. je n'ai donc que Excel pour occuper mon neurone. -)

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."

10 réponses

1 2 3 4
Avatar
DanielCo
Bonjour,

Sub test()
Dim c As Range, plg As Range
Set plg = [A1:I10]
plg.Resize(1).Interior.ColorIndex = 3
plg.Resize(, 1).Interior.ColorIndex = 3
plg.Offset(, plg.Columns.Count - 1).Resize(, 1).Interior.ColorIndex = 3
plg.Offset(plg.Rows.Count - 1).Resize(1).Interior.ColorIndex = 3
End Sub

Daniel


Bonjour
Je désire limiter une action aux frontières d'un tableau.
Exemple: tablo = a1:i10
for each c in tablo
if [c]=3 then row(c).interior.colorindex=3 mais uniquement dans tablo
idem pour colonne(c)

Un grand merci
PS Ici, il pleut. je n'ai donc que Excel pour occuper mon neurone. -)

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
Jacquouille
Ben là, ça va pô.

En fait, ce que je désire, c'est colorier la cellule C, sa ligne et sa
colonne, mais seulement à l'intérieur du "tablo" (a1:i10)
Dans ton exemple, j' encadre tablo d'une cel rouge.....
Mais, merci quand même pour la patience dont tu fais preuve -)
Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"DanielCo" a écrit dans le message de groupe de discussion :
j54h7g$qp3$

Bonjour,

Sub test()
Dim c As Range, plg As Range
Set plg = [A1:I10]
plg.Resize(1).Interior.ColorIndex = 3
plg.Resize(, 1).Interior.ColorIndex = 3
plg.Offset(, plg.Columns.Count - 1).Resize(, 1).Interior.ColorIndex = 3
plg.Offset(plg.Rows.Count - 1).Resize(1).Interior.ColorIndex = 3
End Sub

Daniel


Bonjour
Je désire limiter une action aux frontières d'un tableau.
Exemple: tablo = a1:i10
for each c in tablo
if [c]=3 then row(c).interior.colorindex=3 mais uniquement dans tablo
idem pour colonne(c)

Un grand merci
PS Ici, il pleut. je n'ai donc que Excel pour occuper mon neurone. -)

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
MichD
Bonjour,

Il y a ceci :

Cela peinture soit la 3e ligne ou colonne du tableau que tu as défini dans ta plage de cellules

'-------------------------------------
Sub test()
'Pour la ligne 3 du tableau
For Each c In Range("A1:i10").Rows(3).Cells
c.Interior.ColorIndex = 3
Next
End Sub
'-------------------------------------
Sub test1()
'Pour la colonnne 3 du tableau
For Each c In Range("A1:i10").Columns(3).Cells
c.Interior.ColorIndex = 3
Next
End Sub
'-------------------------------------



MichD
--------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion : 4e75c5ef$0$5038$

Bonjour
Je désire limiter une action aux frontières d'un tableau.
Exemple: tablo = a1:i10
for each c in tablo
if [c]=3 then row(c).interior.colorindex=3 mais uniquement dans tablo
idem pour colonne(c)

Un grand merci
PS Ici, il pleut. je n'ai donc que Excel pour occuper mon neurone. -)

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
MichD
Le message était pour répondre à ton besoin de boucle (c'est dimanche après tout ;-)) !

Mais ceci serait suffisant :

'---------------------------------
Sub test3()
'Pour la ligne 3 du tableau
With Range("A1:i10")
.Rows(3).Interior.ColorIndex = 3
End With
End Sub
'---------------------------------


MichD
--------------------------------------------
"MichD" a écrit dans le message de groupe de discussion : j54mq7$919$

Bonjour,

Il y a ceci :

Cela peinture soit la 3e ligne ou colonne du tableau que tu as défini dans ta plage de cellules

'-------------------------------------
Sub test()
'Pour la ligne 3 du tableau
For Each c In Range("A1:i10").Rows(3).Cells
c.Interior.ColorIndex = 3
Next
End Sub
'-------------------------------------
Sub test1()
'Pour la colonnne 3 du tableau
For Each c In Range("A1:i10").Columns(3).Cells
c.Interior.ColorIndex = 3
Next
End Sub
'-------------------------------------



MichD
--------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion : 4e75c5ef$0$5038$

Bonjour
Je désire limiter une action aux frontières d'un tableau.
Exemple: tablo = a1:i10
for each c in tablo
if [c]=3 then row(c).interior.colorindex=3 mais uniquement dans tablo
idem pour colonne(c)

Un grand merci
PS Ici, il pleut. je n'ai donc que Excel pour occuper mon neurone. -)

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
DanielCo
Ca peut-être :

Sub test2()
Dim c As Range, plg As Range
Set plg = [A1:I10]
Set c = [B5]
Union(Intersect(plg, c.EntireColumn), Intersect(plg,
c.EntireRow)).Interior.ColorIndex = 3
End Sub

Daniel


Ben là, ça va pô.

En fait, ce que je désire, c'est colorier la cellule C, sa ligne et sa
colonne, mais seulement à l'intérieur du "tablo" (a1:i10)
Dans ton exemple, j' encadre tablo d'une cel rouge.....
Mais, merci quand même pour la patience dont tu fais preuve -)
Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"DanielCo" a écrit dans le message de groupe de discussion :
j54h7g$qp3$

Bonjour,

Sub test()
Dim c As Range, plg As Range
Set plg = [A1:I10]
plg.Resize(1).Interior.ColorIndex = 3
plg.Resize(, 1).Interior.ColorIndex = 3
plg.Offset(, plg.Columns.Count - 1).Resize(, 1).Interior.ColorIndex = 3
plg.Offset(plg.Rows.Count - 1).Resize(1).Interior.ColorIndex = 3
End Sub

Daniel


Bonjour
Je désire limiter une action aux frontières d'un tableau.
Exemple: tablo = a1:i10
for each c in tablo
if [c]=3 then row(c).interior.colorindex=3 mais uniquement dans tablo
idem pour colonne(c)

Un grand merci
PS Ici, il pleut. je n'ai donc que Excel pour occuper mon neurone. -)

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
isabelle
bonjour Jacquouille et à vous tous,

For Each c In [tablo]
If c = 3 Then
With Range("tablo")
.Rows(c).Interior.ColorIndex = 3
.Columns(c).Interior.ColorIndex = 3
End With
End If
Next


--
isabelle
Avatar
isabelle
correction,

For Each c In [tablo]
j = c.Row - Range("tablo")(1).Row + 1
If c = 3 Then
With Range("tablo")
.Rows(j).Interior.ColorIndex = 3
.Columns(j).Interior.ColorIndex = 3
End With
End If
Next

--
isabelle
Avatar
Jacquouille
Bonjour
Je rencontre assez bien de difficultés pour arranger ce bidule.
Je mets le fichier en annexe avec explications.

Un tout grand merci pour votre patience à tous trois.

http://cjoint.com/?AIsrnBaII3G

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"isabelle" a écrit dans le message de groupe de discussion :
j54tk9$ora$

correction,

For Each c In [tablo]
j = c.Row - Range("tablo")(1).Row + 1
If c = 3 Then
With Range("tablo")
.Rows(j).Interior.ColorIndex = 3
.Columns(j).Interior.ColorIndex = 3
End With
End If
Next

--
isabelle
Avatar
Albert
Bonjour Isabelle et les autres

Étudiant le VBA je m'intéresse à ce qui se publie sur le forum
Les rustines de MichD et DanielCo colorent bien le Tablo, mais celle plus
bas dans votre message ne colore rien et semble sans effet, j'ai bien ajouté
Sub TestX() et End Sub, mais rien ne se produit, où est mon erreur.
Bon dimanche
albert

"isabelle" a écrit dans le message de
news:j54tk9$ora$
correction,

For Each c In [tablo]
j = c.Row - Range("tablo")(1).Row + 1
If c = 3 Then
With Range("tablo")
.Rows(j).Interior.ColorIndex = 3
.Columns(j).Interior.ColorIndex = 3
End With
End If
Next

--
isabelle




--
albertri-at-videotron.ca.invalid
Avatar
Jacquouille
Bonjour Albert
Il faut d'abord définir la plage tablo, ou remplacer tablo par sa valeur
dans le filet de macro d'Isabelle.
Mais, chez moi, cela ne colorie pas les bonnes cases .....



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Albert" a écrit dans le message de groupe de discussion :
j553kg$85m$

Bonjour Isabelle et les autres

Étudiant le VBA je m'intéresse à ce qui se publie sur le forum
Les rustines de MichD et DanielCo colorent bien le Tablo, mais celle plus
bas dans votre message ne colore rien et semble sans effet, j'ai bien ajouté
Sub TestX() et End Sub, mais rien ne se produit, où est mon erreur.
Bon dimanche
albert

"isabelle" a écrit dans le message de
news:j54tk9$ora$
correction,

For Each c In [tablo]
j = c.Row - Range("tablo")(1).Row + 1
If c = 3 Then
With Range("tablo")
.Rows(j).Interior.ColorIndex = 3
.Columns(j).Interior.ColorIndex = 3
End With
End If
Next

--
isabelle




--
albertri-at-videotron.ca.invalid
1 2 3 4