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

sélectionner une feuille

6 réponses
Avatar
guy boily
Bonjour à toutes et tous,

Quelqu'un pourrait-il m'aider s.v.p.?
Je voudrais que cette procédure vérifie les couleurs uniquement dans la
feuille "doublons" et non pas dans toutes les feuilles du classeur.
Par quoi remplacer <For Each s In ActiveWorkbook.Sheets>?

Merci boucoup pour votre aide.
--
boigu

6 réponses

Avatar
isabelle
bonjour Guy,

For Each c In ActiveSheet.Range("A1:G100") 'plage à déterminer

ou bien

For Each c In Sheets("doublons").Range("A1:G100")

isabelle

guy boily a écrit :
Bonjour à toutes et tous,

Quelqu'un pourrait-il m'aider s.v.p.?
Je voudrais que cette procédure vérifie les couleurs uniquement dans la
feuille "doublons" et non pas dans toutes les feuilles du classeur.
Par quoi remplacer <For Each s In ActiveWorkbook.Sheets>?

Merci boucoup pour votre aide.



Avatar
garnote
Salut Guy,

Quelque chose du genre, peut-être :

Sub Test()
Dim couleurs()
Dim c As Range
For Each c In ActiveWorkbook.Sheets("doublons").Range("A1:A5")
i = i + 1
ReDim Preserve couleurs(i)
couleurs(i) = c.Interior.ColorIndex
Next c
For j = 1 To i
Message = Message & vbLf & couleurs(j)
Next j
MsgBox Message
End Sub

Serge





"guy boily" a écrit dans le message de
news:
Bonjour à toutes et tous,

Quelqu'un pourrait-il m'aider s.v.p.?
Je voudrais que cette procédure vérifie les couleurs uniquement dans la
feuille "doublons" et non pas dans toutes les feuilles du classeur.
Par quoi remplacer <For Each s In ActiveWorkbook.Sheets>?

Merci boucoup pour votre aide.
--
boigu


Avatar
guy boily
Bonjour Isabelle,

merci de ta réponse...mais je me suis apperçu que je ne t'avais pas expédié
ma procédure au complet (que j'ai d'ailleurs obtenu sur ce site pour une
autre application) et que j'essaie de modifier pour qu'elle ne s'applique
uniquement à la feuille "doublons". Je n'y arrive pas même avec ta
suggestion.
Je ne suis pas un crack dans visual basic comme tu peux le voir. Il y a
quelque chose qui cloche pcq après exécution de la procédure je n'ai toujours
de données recopiées dans ma feuille "contrôle" alors que jai boucoup de
cellulles qui sont coloriées dans mon champ f:f de la feullle doublons.
Peux-tu s.v.p. regarder

Merci boucoup




Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 2008-12-02 par boigu01
'
Dim C As Range
Application.DisplayAlerts = False
On Error Resume Next
On Error GoTo 0
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "contrôle"
Sheets("doublons").Select
ligne = 1
For Each s In Sheets("doublons").Range("f:f")
On Error Resume Next
Set champ = s.[f:f].SpecialCells(xlCellTypeConstants, 23)
For Each C In champ

If C.Interior.ColorIndex = 6 Or C.Interior.ColorIndex = 8 And Err =
0 Then
Sheets("Contrôle").Cells(ligne, 1).Resize(1, 252) = _
s.Cells(C.Row, 1).Resize(1, 252).Value
ligne = ligne + 1
End If
Next C
Next s
End sub
--
boigu


"isabelle" a écrit :

bonjour Guy,

For Each c In ActiveSheet.Range("A1:G100") 'plage à déterminer

ou bien

For Each c In Sheets("doublons").Range("A1:G100")

isabelle

guy boily a écrit :
> Bonjour à toutes et tous,
>
> Quelqu'un pourrait-il m'aider s.v.p.?
> Je voudrais que cette procédure vérifie les couleurs uniquement dans la
> feuille "doublons" et non pas dans toutes les feuilles du classeur.
> Par quoi remplacer <For Each s In ActiveWorkbook.Sheets>?
>
> Merci boucoup pour votre aide.
>



Avatar
guy boily
Bonjour Serge
Merci de ta réponse
j'ai répondu à Isabelle en lui faisant part de ma procédure au complet.
Pourrais-tu s.v.p la regarder et me dire qu'est-ce qui ne va pas ?
Il s'agit d'une procédure pour recopier dans ma feuille "contrôle" les
lignes au complet de ma feuille "doublons" mais seulement celles dans
lesquelles y a une cellule de colorier dans le champ "f"

merci à bientôt
--
boigu


"garnote" a écrit :

Salut Guy,

Quelque chose du genre, peut-être :

Sub Test()
Dim couleurs()
Dim c As Range
For Each c In ActiveWorkbook.Sheets("doublons").Range("A1:A5")
i = i + 1
ReDim Preserve couleurs(i)
couleurs(i) = c.Interior.ColorIndex
Next c
For j = 1 To i
Message = Message & vbLf & couleurs(j)
Next j
MsgBox Message
End Sub

Serge





"guy boily" a écrit dans le message de
news:
> Bonjour à toutes et tous,
>
> Quelqu'un pourrait-il m'aider s.v.p.?
> Je voudrais que cette procédure vérifie les couleurs uniquement dans la
> feuille "doublons" et non pas dans toutes les feuilles du classeur.
> Par quoi remplacer <For Each s In ActiveWorkbook.Sheets>?
>
> Merci boucoup pour votre aide.
> --
> boigu





Avatar
isabelle
bonjour Guy,

si tu selectionne la feuille Sheets("doublons").Select
et n'a pas besoin de le préciser pour la boucle, For Each C In
Range("f:f").SpecialCells(xlCellTypeConstants, 23)

Sub Macro1()
Dim C As Range
Application.DisplayAlerts = False
On Error Resume Next
On Error GoTo 0
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "contrôle"
Sheets("doublons").Select
ligne = 1
For Each C In Range("f:f").SpecialCells(xlCellTypeConstants, 23)
On Error Resume Next
If C.Interior.ColorIndex = 6 Or C.Interior.ColorIndex = 8 And Err
= 0 Then
Sheets("Contrôle").Cells(ligne, 1).Resize(1, 252) = _
C.Cells(C.Row, 1).Resize(1, 252).Value
ligne = ligne + 1
End If
Next C
End Sub

isabelle

guy boily a écrit :
Bonjour Isabelle,

merci de ta réponse...mais je me suis apperçu que je ne t'avais pas expédié
ma procédure au complet (que j'ai d'ailleurs obtenu sur ce site pour une
autre application) et que j'essaie de modifier pour qu'elle ne s'applique
uniquement à la feuille "doublons". Je n'y arrive pas même avec ta
suggestion.
Je ne suis pas un crack dans visual basic comme tu peux le voir. Il y a
quelque chose qui cloche pcq après exécution de la procédure je n'ai toujours
de données recopiées dans ma feuille "contrôle" alors que jai boucoup de
cellulles qui sont coloriées dans mon champ f:f de la feullle doublons.
Peux-tu s.v.p. regarder

Merci boucoup




Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 2008-12-02 par boigu01
'
Dim C As Range
Application.DisplayAlerts = False
On Error Resume Next
On Error GoTo 0
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "contrôle"
Sheets("doublons").Select
ligne = 1
For Each s In Sheets("doublons").Range("f:f")
On Error Resume Next
Set champ = s.[f:f].SpecialCells(xlCellTypeConstants, 23)
For Each C In champ

If C.Interior.ColorIndex = 6 Or C.Interior.ColorIndex = 8 And Err =
0 Then
Sheets("Contrôle").Cells(ligne, 1).Resize(1, 252) = _
s.Cells(C.Row, 1).Resize(1, 252).Value
ligne = ligne + 1
End If
Next C
Next s
End sub



Avatar
guy boily
bonjour isabelle

merci boucoup de m'avoir accordé un peu de ton temps ...ça marche extra


--
boigu


"isabelle" a écrit :

bonjour Guy,

si tu selectionne la feuille Sheets("doublons").Select
et n'a pas besoin de le préciser pour la boucle, For Each C In
Range("f:f").SpecialCells(xlCellTypeConstants, 23)

Sub Macro1()
Dim C As Range
Application.DisplayAlerts = False
On Error Resume Next
On Error GoTo 0
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "contrôle"
Sheets("doublons").Select
ligne = 1
For Each C In Range("f:f").SpecialCells(xlCellTypeConstants, 23)
On Error Resume Next
If C.Interior.ColorIndex = 6 Or C.Interior.ColorIndex = 8 And Err
= 0 Then
Sheets("Contrôle").Cells(ligne, 1).Resize(1, 252) = _
C.Cells(C.Row, 1).Resize(1, 252).Value
ligne = ligne + 1
End If
Next C
End Sub

isabelle

guy boily a écrit :
> Bonjour Isabelle,
>
> merci de ta réponse...mais je me suis apperçu que je ne t'avais pas expédié
> ma procédure au complet (que j'ai d'ailleurs obtenu sur ce site pour une
> autre application) et que j'essaie de modifier pour qu'elle ne s'applique
> uniquement à la feuille "doublons". Je n'y arrive pas même avec ta
> suggestion.
> Je ne suis pas un crack dans visual basic comme tu peux le voir. Il y a
> quelque chose qui cloche pcq après exécution de la procédure je n'ai toujours
> de données recopiées dans ma feuille "contrôle" alors que jai boucoup de
> cellulles qui sont coloriées dans mon champ f:f de la feullle doublons.
> Peux-tu s.v.p. regarder
>
> Merci boucoup
>
>
>
>
> Sub Macro1()
> '
> ' Macro1 Macro
> ' Macro enregistrée le 2008-12-02 par boigu01
> '
> Dim C As Range
> Application.DisplayAlerts = False
> On Error Resume Next
> On Error GoTo 0
> Sheets.Add after:=Sheets(Sheets.Count)
> ActiveSheet.Name = "contrôle"
> Sheets("doublons").Select
> ligne = 1
> For Each s In Sheets("doublons").Range("f:f")
> On Error Resume Next
> Set champ = s.[f:f].SpecialCells(xlCellTypeConstants, 23)
> For Each C In champ
>
> If C.Interior.ColorIndex = 6 Or C.Interior.ColorIndex = 8 And Err =
> 0 Then
> Sheets("Contrôle").Cells(ligne, 1).Resize(1, 252) = _
> s.Cells(C.Row, 1).Resize(1, 252).Value
> ligne = ligne + 1
> End If
> Next C
> Next s
> End sub
>