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
isabelle
c représente la valeur de c,

sa position dans la feuille est représenté par c.row et c.column

sa position dans une plage nommée est représenté par

lig = ActiveCell.Row - Range("carré" & i)(1).Row + 1
col = ActiveCell.Column - Range("carré" & i)(1).Column + 1
Range("carré" & i).Rows(lig)
Range("carré" & i).Columns(col)

Range("carré" & i)(1) étant la première cellule de la plage nommée

--
isabelle



Le 2011-09-18 13:32, Jacquouille a écrit :
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$
Avatar
Jacquouille
La voilà. Je remercie mes gentils répondeurs et leur souhaite une bonne fin
de WE:

Sub AAA_Sudoku()
'
' Macro enregistrée le 18/09/2011 par JT


Dim chiffre As Integer, n As Integer, CC As Integer, LL As Integer
LL = 0
CC = 0
n = 0
chiffre = 0

Range("A1:I9").Select
ActiveWorkbook.Names.Add Name:="tablo",
RefersToR1C1:="þuil1!R1C1:R9C9"
Range("A1:C3").Select
ActiveWorkbook.Names.Add Name:="carré1",
RefersToR1C1:="þuil1!R1C1:R3C3"
Range("D1:F3").Select
ActiveWorkbook.Names.Add Name:="carré2",
RefersToR1C1:="þuil1!R1C4:R3C6"
Range("G1:I3").Select
ActiveWorkbook.Names.Add Name:="carré3",
RefersToR1C1:="þuil1!R1C7:R3C9"
Range("A4:C6").Select
ActiveWorkbook.Names.Add Name:="carré4",
RefersToR1C1:="þuil1!R4C1:R6C3"
Range("D4:F6").Select
ActiveWorkbook.Names.Add Name:="carré5",
RefersToR1C1:="þuil1!R4C4:R6C6"
Range("G4:I6").Select
ActiveWorkbook.Names.Add Name:="carré6",
RefersToR1C1:="þuil1!R4C7:R6C9"
Range("A7:C9").Select
ActiveWorkbook.Names.Add Name:="carré7",
RefersToR1C1:="þuil1!R7C1:R9C3"
Range("D7:F9").Select
ActiveWorkbook.Names.Add Name:="carré8",
RefersToR1C1:="þuil1!R7C4:R9C6"
Range("G7:I9").Select
ActiveWorkbook.Names.Add Name:="carré9",
RefersToR1C1:="þuil1!R7C7:R9C9"
Range("K5").Select

Range("a1:i10").Interior.ColorIndex = xlnonne

For Each c In Range("tablo")
If [c] > 0 And [c] < 10 Then
c.Interior.ColorIndex = 17
End If
Next

msg = "Entrez votre chiffre à analyser.(de 1 à 9)"
chiffre = InputBox(msg)
MsgBox chiffre

For Each c In Range("tablo")
If c = chiffre Then
With Range("tablo")
LL = c.Row
CC = c.Column
Range("A" & LL & ":i" & LL).Interior.ColorIndex = 17
Range(Cells(1, CC), Cells(9, CC)).Interior.ColorIndex = 17
c.Interior.ColorIndex = 5
End With
End If
Next


For n = 1 To 9
For Each c In Range("Carré" & n)
If [c] = chiffre Then
Range("carré" & n).Interior.ColorIndex = 17
c.Interior.ColorIndex = 5
End If
Next
Next


End Sub



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
isabelle
cette macro a été corriger dans le dernier fichier

--
isabelle
Avatar
Albert
Rebonjour
"isabelle" a écrit dans le message de
news:j558sh$845$
bonjour Albert,
peut tu essayer ce fichier
http://cjoint.com/?AIstkHtmMRO


Ceci fonctionne

Je crois que j'ai semé la confusion en m'introduisant dans la conversation
de Jacquouille en apportant mes problèmes.

Voilà je répète

Je joins mon fichier Tablo-couleur http://cjoint.com/11sp/AIstw3RNRgG.htm
pouvez-vous dire pourquoi
Sub test11() ' isabelle
Sub test12() 'isabelle
ne colorent pas le tableau, les autres macros le font.

Merci de m'éclairer

--
albertri-at-videotron.ca.invalid
Avatar
Jacquouille
Bonsoir Albert
Quelle version as-tu ? je n'arrive pas à ouvrir le document.

Jacquouille

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

Rebonjour
"isabelle" a écrit dans le message de
news:j558sh$845$
bonjour Albert,
peut tu essayer ce fichier
http://cjoint.com/?AIstkHtmMRO


Ceci fonctionne

Je crois que j'ai semé la confusion en m'introduisant dans la conversation
de Jacquouille en apportant mes problèmes.

Voilà je répète

Je joins mon fichier Tablo-couleur http://cjoint.com/11sp/AIstw3RNRgG.htm
pouvez-vous dire pourquoi
Sub test11() ' isabelle
Sub test12() 'isabelle
ne colorent pas le tableau, les autres macros le font.

Merci de m'éclairer

--
albertri-at-videotron.ca.invalid
Avatar
Albert
Bonsoir Jacquouille

C'était un fichier XLSM de 2007
le revoici en excel 2003 http://cjoint.com/?AItbuup2C63
albert


----- Original Message -----
From: "Jacquouille"
Newsgroups: microsoft.public.fr.excel
Sent: Sunday, September 18, 2011 4:31 PM
Subject: Re: Limiter ation à l'intérieur d'un tableau


Bonsoir Albert
Quelle version as-tu ? je n'arrive pas à ouvrir le document.

Jacquouille

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

Rebonjour
"isabelle" a écrit dans le message de
news:j558sh$845$
bonjour Albert,
peut tu essayer ce fichier
http://cjoint.com/?AIstkHtmMRO


Ceci fonctionne

Je crois que j'ai semé la confusion en m'introduisant dans la conversation
de Jacquouille en apportant mes problèmes.

Voilà je répète

Je joins mon fichier Tablo-couleur http://cjoint.com/11sp/AIstw3RNRgG.htm
pouvez-vous dire pourquoi
Sub test11() ' isabelle
Sub test12() 'isabelle
ne colorent pas le tableau, les autres macros le font.

Merci de m'éclairer

--
albertri-at-videotron.ca.invalid
Avatar
Péhemme
Bonjour Jacquouille,

Je n'ai pas testé ta macro, mais à simple lecture, il me semble que si tu
écrivais :
Range("a1:i10").Interior.ColorIndex = xlNone
au lieu de :
Range("a1:i10").Interior.ColorIndex = xlnonne
cela aiderait au bon fonctionnement icelle.

Par ailleurs, pourquoi :
. un rectangle de 9 (A:I) sur 10 ? alors qu'il s'agit d'un carré de 9 x 9
. tous ces .Select ?

Et, de dernière part, moi (parlez-moi de moi il n'y a que cela qui
m'intéresse), j'aime bien détruire les Noms à la fin de la procédure :
Application.Names("CarréX").Delete (me semble-t-il) sachant que, dans ton
cas, tu peux même écrire une boucle.

Bonne suite.
Michel


"Jacquouille" a écrit dans le message de
news:4e76312f$0$5036$
La voilà. Je remercie mes gentils répondeurs et leur souhaite une bonne
fin de WE:

Sub AAA_Sudoku()
'
' Macro enregistrée le 18/09/2011 par JT


Dim chiffre As Integer, n As Integer, CC As Integer, LL As Integer
LL = 0
CC = 0
n = 0
chiffre = 0

Range("A1:I9").Select
ActiveWorkbook.Names.Add Name:="tablo",
RefersToR1C1:="þuil1!R1C1:R9C9"
Range("A1:C3").Select
ActiveWorkbook.Names.Add Name:="carré1",
RefersToR1C1:="þuil1!R1C1:R3C3"
Range("D1:F3").Select
ActiveWorkbook.Names.Add Name:="carré2",
RefersToR1C1:="þuil1!R1C4:R3C6"
Range("G1:I3").Select
ActiveWorkbook.Names.Add Name:="carré3",
RefersToR1C1:="þuil1!R1C7:R3C9"
Range("A4:C6").Select
ActiveWorkbook.Names.Add Name:="carré4",
RefersToR1C1:="þuil1!R4C1:R6C3"
Range("D4:F6").Select
ActiveWorkbook.Names.Add Name:="carré5",
RefersToR1C1:="þuil1!R4C4:R6C6"
Range("G4:I6").Select
ActiveWorkbook.Names.Add Name:="carré6",
RefersToR1C1:="þuil1!R4C7:R6C9"
Range("A7:C9").Select
ActiveWorkbook.Names.Add Name:="carré7",
RefersToR1C1:="þuil1!R7C1:R9C3"
Range("D7:F9").Select
ActiveWorkbook.Names.Add Name:="carré8",
RefersToR1C1:="þuil1!R7C4:R9C6"
Range("G7:I9").Select
ActiveWorkbook.Names.Add Name:="carré9",
RefersToR1C1:="þuil1!R7C7:R9C9"
Range("K5").Select

Range("a1:i10").Interior.ColorIndex = xlnonne

For Each c In Range("tablo")
If [c] > 0 And [c] < 10 Then
c.Interior.ColorIndex = 17
End If
Next

msg = "Entrez votre chiffre à analyser.(de 1 à 9)"
chiffre = InputBox(msg)
MsgBox chiffre

For Each c In Range("tablo")
If c = chiffre Then
With Range("tablo")
LL = c.Row
CC = c.Column
Range("A" & LL & ":i" & LL).Interior.ColorIndex = 17
Range(Cells(1, CC), Cells(9, CC)).Interior.ColorIndex = 17
c.Interior.ColorIndex = 5
End With
End If
Next


For n = 1 To 9
For Each c In Range("Carré" & n)
If [c] = chiffre Then
Range("carré" & n).Interior.ColorIndex = 17
c.Interior.ColorIndex = 5
End If
Next
Next


End Sub



Jacquouille

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

Avatar
Jacquouille
Bonjour Michel

Tu as parfaitement raison pour le carré de 9x9. j'ai donc corrigé par
("a1:i9")

Pour ce qui est des nonnes, je reste père plexe. Il est indéniable que tu
aies raison car none s'écrit avec 2 et non 3 n. mais, comment cela se
fesse-t-il que cela efface quand même les couleurs chez moi?
Depuis le départ de Monseigneur, toutes ces nonnes m'interpellent. -)

Pour ce qui est des Select, j'avais commencé avec des Set, puis, sur avis
médical d'un membre de l'assemblée qui m'a dit que Select était employé pour
des variables et non pour des noms, j'ai donc utilisé l'enregistreur aux
fins de voir ce qu'il me proposait.
J'étais tellement content d'avoir trouvé que j'ai laissé les choses en
l'état.
Il est évident que l'on gagne en souplesse sans ces Select.

Un grand merci pour ton avis éclairé.
Tu peux tester la macro. Tu verras le Sudoku d'un autre œil. ne pas oublier
qu'il me faut du visuel pour les gosses.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Péhemme" a écrit dans le message de groupe de discussion :
4e76ef71$0$18792$

Bonjour Jacquouille,

Je n'ai pas testé ta macro, mais à simple lecture, il me semble que si tu
écrivais :
Range("a1:i10").Interior.ColorIndex = xlNone
au lieu de :
Range("a1:i10").Interior.ColorIndex = xlnonne
cela aiderait au bon fonctionnement icelle.

Par ailleurs, pourquoi :
. un rectangle de 9 (A:I) sur 10 ? alors qu'il s'agit d'un carré de 9 x 9
. tous ces .Select ?

Et, de dernière part, moi (parlez-moi de moi il n'y a que cela qui
m'intéresse), j'aime bien détruire les Noms à la fin de la procédure :
Application.Names("CarréX").Delete (me semble-t-il) sachant que, dans ton
cas, tu peux même écrire une boucle.

Bonne suite.
Michel


"Jacquouille" a écrit dans le message de
news:4e76312f$0$5036$
La voilà. Je remercie mes gentils répondeurs et leur souhaite une bonne
fin de WE:

Sub AAA_Sudoku()
'
' Macro enregistrée le 18/09/2011 par JT


Dim chiffre As Integer, n As Integer, CC As Integer, LL As Integer
LL = 0
CC = 0
n = 0
chiffre = 0

Range("A1:I9").Select
ActiveWorkbook.Names.Add Name:="tablo",
RefersToR1C1:="þuil1!R1C1:R9C9"
Range("A1:C3").Select
ActiveWorkbook.Names.Add Name:="carré1",
RefersToR1C1:="þuil1!R1C1:R3C3"
Range("D1:F3").Select
ActiveWorkbook.Names.Add Name:="carré2",
RefersToR1C1:="þuil1!R1C4:R3C6"
Range("G1:I3").Select
ActiveWorkbook.Names.Add Name:="carré3",
RefersToR1C1:="þuil1!R1C7:R3C9"
Range("A4:C6").Select
ActiveWorkbook.Names.Add Name:="carré4",
RefersToR1C1:="þuil1!R4C1:R6C3"
Range("D4:F6").Select
ActiveWorkbook.Names.Add Name:="carré5",
RefersToR1C1:="þuil1!R4C4:R6C6"
Range("G4:I6").Select
ActiveWorkbook.Names.Add Name:="carré6",
RefersToR1C1:="þuil1!R4C7:R6C9"
Range("A7:C9").Select
ActiveWorkbook.Names.Add Name:="carré7",
RefersToR1C1:="þuil1!R7C1:R9C3"
Range("D7:F9").Select
ActiveWorkbook.Names.Add Name:="carré8",
RefersToR1C1:="þuil1!R7C4:R9C6"
Range("G7:I9").Select
ActiveWorkbook.Names.Add Name:="carré9",
RefersToR1C1:="þuil1!R7C7:R9C9"
Range("K5").Select

Range("a1:i10").Interior.ColorIndex = xlnonne

For Each c In Range("tablo")
If [c] > 0 And [c] < 10 Then
c.Interior.ColorIndex = 17
End If
Next

msg = "Entrez votre chiffre à analyser.(de 1 à 9)"
chiffre = InputBox(msg)
MsgBox chiffre

For Each c In Range("tablo")
If c = chiffre Then
With Range("tablo")
LL = c.Row
CC = c.Column
Range("A" & LL & ":i" & LL).Interior.ColorIndex = 17
Range(Cells(1, CC), Cells(9, CC)).Interior.ColorIndex = 17
c.Interior.ColorIndex = 5
End With
End If
Next


For n = 1 To 9
For Each c In Range("Carré" & n)
If [c] = chiffre Then
Range("carré" & n).Interior.ColorIndex = 17
c.Interior.ColorIndex = 5
End If
Next
Next


End Sub



Jacquouille

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

Avatar
Jacquouille
Bonjour

J'ai ouvert le fichier et j'ai vu des cases vides.
Que veux-tu faire?
Si c'est pour un tableau des couleurs Excel, vois ici:

http://cjoint.com/?AItnJNr4EkT


Jacquouille

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

Bonsoir Jacquouille

C'était un fichier XLSM de 2007
le revoici en excel 2003 http://cjoint.com/?AItbuup2C63
albert


----- Original Message -----
From: "Jacquouille"
Newsgroups: microsoft.public.fr.excel
Sent: Sunday, September 18, 2011 4:31 PM
Subject: Re: Limiter ation à l'intérieur d'un tableau


Bonsoir Albert
Quelle version as-tu ? je n'arrive pas à ouvrir le document.

Jacquouille

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

Rebonjour
"isabelle" a écrit dans le message de
news:j558sh$845$
bonjour Albert,
peut tu essayer ce fichier
http://cjoint.com/?AIstkHtmMRO


Ceci fonctionne

Je crois que j'ai semé la confusion en m'introduisant dans la conversation
de Jacquouille en apportant mes problèmes.

Voilà je répète

Je joins mon fichier Tablo-couleur http://cjoint.com/11sp/AIstw3RNRgG.htm
pouvez-vous dire pourquoi
Sub test11() ' isabelle
Sub test12() 'isabelle
ne colorent pas le tableau, les autres macros le font.

Merci de m'éclairer

--
albertri-at-videotron.ca.invalid
Avatar
Maude Este
Bonsour®

"Jacgosses**" a écrit :
Tu verras le Sudoku d'un autre œil. ne pas oublier
qu'il me faut du visuel pour les gosses.

je m'immisce...
http://www.cijoint.fr/cjlink.php?file=cj201109/cij1IbWiSA.zip

**gosses ;o)) pour les amis canadiens
1 2 3 4