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
Jacquouille
PS Dans mon exemple, D16:F16 ne doit pas être coloré.
j'ai aussi omis d'écrire que les cases contenant déjà un chiffre doivent
être colorées aussi.

J'ai vraiment besoin de repos ....
Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jacquouille" a écrit dans le message de groupe de discussion :
4e760aff$0$5045$

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
isabelle
est que celle-ci va mieux ?

Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To 9
Set isect = Application.Intersect(Target, Range("carré" & i))
If Not isect Is Nothing Then
lig = Target.Row - Range("carré" & i)(1).Row + 1
col = Target.Column - Range("carré" & i)(1).Column + 1
With Range("carré" & i)
.Rows(lig).Interior.ColorIndex = 3
.Columns(col).Interior.ColorIndex = 3
End With
Exit For
End If
Next
End Sub


--
isabelle
Avatar
isabelle
voici le fichier,
http://cjoint.com/?AIssIUkwbPs

--
isabelle



Le 2011-09-18 12:10, isabelle a écrit :
est que celle-ci va mieux ?

Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To 9
Set isect = Application.Intersect(Target, Range("carré" & i))
If Not isect Is Nothing Then
lig = Target.Row - Range("carré" & i)(1).Row + 1
col = Target.Column - Range("carré" & i)(1).Column + 1
With Range("carré" & i)
.Rows(lig).Interior.ColorIndex = 3
.Columns(col).Interior.ColorIndex = 3
End With
Exit For
End If
Next
End Sub


Avatar
Jacquouille
Bonjour Isabelle
Lorsque je veux lancer ta macro, il m'affiche la fenêtre avec le nom des
macros et me demande celle que ej veux ouvrir.
Si je fais la manip avec ton fichier, la fenêtre est vide....
Je me demande si mon neurone ne se souvient ( ou croit se souvenir) d'un
truc publié sur l'intersection (colonne-ligne) d'une cellule.
Halluciné-je ?
Je vais recommencer le tout.
D'abord, colorier les cel contenant un chiffre.
Ensuite, via un inputbox, demander quel chiffre on doit analyser
Ensuite, je colorierai toutes les cases du petit carré (carré1, carré2 ...)
contenant le chiffre
Ensuite, j'essaierai de colorier la ligne et la colonne de la cel contenant
le chiffre.
En fait, la ligne sera : range("a"&ligne(c)":i"&ligne(c)
idem pour colonne.
yapluka. -)))
Encore merci pour ta gentillesse, mais si tu as un tuyau, ne soit pas
timide.

Jacquouille

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

voici le fichier,
http://cjoint.com/?AIssIUkwbPs

--
isabelle



Le 2011-09-18 12:10, isabelle a écrit :
est que celle-ci va mieux ?

Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To 9
Set isect = Application.Intersect(Target, Range("carré" & i))
If Not isect Is Nothing Then
lig = Target.Row - Range("carré" & i)(1).Row + 1
col = Target.Column - Range("carré" & i)(1).Column + 1
With Range("carré" & i)
.Rows(lig).Interior.ColorIndex = 3
.Columns(col).Interior.ColorIndex = 3
End With
Exit For
End If
Next
End Sub


Avatar
Albert
"Jacquouille" a écrit dans le message de
news:4e761340$0$5051$
Bonjour
Je faisais référence au code VBA d'Isabelle seulement et Tablo est bien
défini A1:I10, ça fonctionne avec le code de MichD et DanielCo.
C'est vrai qu'Isabelle utilise Tablo tandis que les autres utilisent A1:I10
mais rien ne se produit
Albert


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
Avatar
isabelle
en voici un nouveau avec une modification au cas ou on efface un chiffre,
http://cjoint.com/?AIstkHtmMRO

--
isabelle


Le 2011-09-18 12:56, Jacquouille a écrit :
Bonjour Isabelle
Lorsque je veux lancer ta macro, il m'affiche la fenêtre avec le nom des macros et me demande celle que ej veux ouvrir.
Si je fais la manip avec ton fichier, la fenêtre est vide....
Je me demande si mon neurone ne se souvient ( ou croit se souvenir) d'un truc publié sur l'intersection (colonne-ligne) d'une cellule.
Halluciné-je ?
Je vais recommencer le tout.
D'abord, colorier les cel contenant un chiffre.
Ensuite, via un inputbox, demander quel chiffre on doit analyser
Ensuite, je colorierai toutes les cases du petit carré (carré1, carré2 ...) contenant le chiffre
Ensuite, j'essaierai de colorier la ligne et la colonne de la cel contenant le chiffre.
En fait, la ligne sera : range("a"&ligne(c)":i"&ligne(c)
idem pour colonne.
yapluka. -)))
Encore merci pour ta gentillesse, mais si tu as un tuyau, ne soit pas timide.

Jacquouille

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

voici le fichier,
http://cjoint.com/?AIssIUkwbPs

Avatar
isabelle
bonjour Albert,

peut tu essayer ce fichier
http://cjoint.com/?AIstkHtmMRO

--
isabelle
Avatar
Jacquouille
Bonjour Isabelle

En ne reprenant que ce bout de code, il me colorie la première ligne et la
première colonne, mais pas celle du 1
????
Sub test_sudoku()
For Each c In Range("A1:I9")

With Range("A1:I9")
If [c] = 1 Then
.Rows(c).Interior.ColorIndex = 17
.Columns(c).Interior.ColorIndex = 17
c.Interior.ColorIndex = 5
End If
End With

Next
End Sub
Jacquouille

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

bonjour Albert,

peut tu essayer ce fichier
http://cjoint.com/?AIstkHtmMRO

--
isabelle
Avatar
Albert
Rere bonjour
"isabelle" a écrit dans le message de
news:j556l5$845$
voici le fichier,
http://cjoint.com/?AIssIUkwbPs


Ce fichier semble bien fonctionner chez moi et colore les cases du SODOKU,
je ne peux pas dire si c'est ce que Jacquouille veux.

Mais je joint mon fichier Tablo http://cjoint.com/11sp/AIstw3RNRgG.htm
pouvez-vous dire pourquoi
Sub test11() ' isabelle
Sub test12() 'isabelle
ne coloreent pas le tableau

--
albertri-at-videotron.ca.invalid
Avatar
Jacquouille
Je viens de refaire le test avec c=7 et il me colorie la 7° ligne et la 7°
col....
d'où, j'en déduis qu'il considère le (c) de rows et columns = à [c]=7
Il confond la valeur de c et la position de c dans tablo.
Quelqu'un peut-il expliquer cela, svp ?
grand Merci
Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jacquouille" a écrit dans le message de groupe de discussion :
4e762894$0$5036$

Bonjour Isabelle

En ne reprenant que ce bout de code, il me colorie la première ligne et la
première colonne, mais pas celle du 1
????
Sub test_sudoku()
For Each c In Range("A1:I9")

With Range("A1:I9")
If [c] = 1 Then
.Rows(c).Interior.ColorIndex = 17
.Columns(c).Interior.ColorIndex = 17
c.Interior.ColorIndex = 5
End If
End With

Next
End Sub
Jacquouille

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

bonjour Albert,

peut tu essayer ce fichier
http://cjoint.com/?AIstkHtmMRO

--
isabelle
1 2 3 4