[RESOLU]exclure des feuilles de la proriété sheets.count

jopont

XLDnaute Impliqué
Bonjour,

Je cherche dans un test VBA à exclure 4 feuilles de la proriété sheets.count : j'ai

Code:
For t = 1 To Sheets.Count
mais je ne veux pas des feuilles 27, 28, 29, 30 dans le test

Comment faire ?
merci
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : exclure des feuilles de la proriété sheets.count

BOnsoir Jopont
Oui merci, mais j'ai des numéros de feuilles après 30.
Je veux exclure uniquement ces numéros ( 27,28,29,30)
merci
Heuuu ... comment dire ... il faut que tu utilises du Domestos (déboucheur)
Car chez moi également exclure la feuille 27+28+29+30 = 4 feuilles => -4

Je pense que tu as une idée, mais que tu ne sait pas l'exprimer correctement

A+
 

jopont

XLDnaute Impliqué
Re : exclure des feuilles de la proriété sheets.count

Je vais exprimer mon idée :

J'ai un classeur de 39 feuilles.
J'ai un test dans une fonction qui doit ce faire des feuilles 1 à 26 et de 31 à 39 , mais pas 27 à 30.
Je fais ce test avec sheets.count

merci
 

Staple1600

XLDnaute Barbatruc
Re : exclure des feuilles de la proriété sheets.count

Re

Comme je le disais précédemment
Code:
Sub a()
Dim i As Byte, y As Byte
y = Worksheets.Count
For i = 1 To y
Select Case i
Case 1 To 3, 6 To y
MsgBox Sheets(i).Name
End Select
Next i
End Sub

A adapter à ta situation
 

jopont

XLDnaute Impliqué
Re : exclure des feuilles de la proriété sheets.count

J'ai essayé d’adapter mon code mais ça ne fonctionne pas :

Code:
Option Explicit

Function periode(Optional lig As Long = 2)
Application.Volatile 'selon le besoin…

Dim c As Range, t As Integer, Cpte As Integer, i As Byte, y As Byte
y = Worksheets.Count
For i = 1 To y
Select Case i
Case 1 To 27, 31 To y
If lig = 0 Then lig = 4
For t = 1 To Sheets.Count
      Set c = Sheets(t).Range("C" & lig)
  Do While IsDate(Sheets(t).Cells(1, c.Column))
    If c = "RF" Or c = "P1" Or c = "" Then
    Cpte = Cpte + 1
    
    Else
      'If periode < Cpte Then periode = Cpte
      Cpte = 0
    End If
      If periode < Cpte Then periode = Cpte
    Set c = c(1, 3)
  Loop
Next
End Select
Next i
End Function
merci
 

Staple1600

XLDnaute Barbatruc
Re : exclure des feuilles de la proriété sheets.count

Re

C'est normal vu la syntaxe de ton code
Code:
For i = 1 To y
Select Case i
Case 1 To 27, 31 To y
If lig = 0 Then lig = 4
For t = 1 To Sheets.Count
      Set c = Sheets(t).Range("C" & lig)

Essaie ma macro sur un classeur de 6 feuilles par exemple
et tu devrais comprendre comment fonctionne le code que je te propose.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 849
dernier inscrit
florentMIG