[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

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87