D
Defcom60
Guest
Bonjour,
mon programme récupère une température qu'il inscrit dans un label et il effectue ca en boucle jusqu'au dernier.
j'utilise un boucle For qui commence a 1 jusqu'a 78.
mon problème est que lorsque le label n'existe pas je veut qu'il continue a boucler sur le suivant
exemple il y a un trou de 50 à 55 je veut qu'il continue en ignorant le trou.
autre question j'ai une feuille VCPTA ou il y a tous met label et une autre VCPTB quasi identique.
pour passer de la page VCPTA ou a VCPTB je fait un test
je voudrais eviter de faire des doublons y a t'il un methode plus simple.
merci
mon programme récupère une température qu'il inscrit dans un label et il effectue ca en boucle jusqu'au dernier.
j'utilise un boucle For qui commence a 1 jusqu'a 78.
mon problème est que lorsque le label n'existe pas je veut qu'il continue a boucler sur le suivant
exemple il y a un trou de 50 à 55 je veut qu'il continue en ignorant le trou.
Code:
Dim NumeroVCP As Integer, i As Long, ligne As Long, filtre As String, couleur As String, filtre2 As String
NumeroVCP = 1
Sheets(nomfichier).Select
For NumeroVCP = 1 To 78
Columns("A:E").Select
Selection.AutoFilter
filtre = "CLVCP" & Tour & Etages & Format(NumeroVCP, "000")
Selection.AutoFilter Field:=3, Criteria1:=filtre
Selection.AutoFilter Field:=2, Criteria1:=">" & VCPTA.CbxHeure.List(0), Operator:=xlAnd, _
Criteria2:="<" & VCPTA.CbxHeure.List(VCPTA.CbxHeure.ListIndex + 1)
'-----------------------------------------------------------
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Rows(i).Hidden = False Then 'donc la ligne est visible
ligne = i
Exit For
End If
Next
'---------------------------------------------------------------------
If Cells(ligne + 1, 5) = 0 Then GoTo line1
If Tour = "TB" Then
VCPTB.Controls("Label" & NumeroVCP).Caption = Cells(ligne + 1, 5)
couleur = Cells(ligne, 5)
If couleur = "OC_NUL" Then
VCPTB.Controls("Label" & NumeroVCP).BackColor = &HC0C000
Else
VCPTB.Controls("Label" & NumeroVCP).BackColor = &H80C0FF
End If
Else
VCPTA.Controls("Label" & NumeroVCP).Caption = Cells(ligne + 1, 5)
couleur = Cells(ligne, 5)
If couleur = "OC_NUL" Then
VCPTA.Controls("Label" & NumeroVCP).BackColor = &HC0C000
Else
VCPTA.Controls("Label" & NumeroVCP).BackColor = &H80C0FF
End If
End If
'----------------------------------------------
' gestion de la barre de progression
TourTA.ProgressBar1.Visible = True
TourTA.ProgressBar1.Max = 100
TourTA.ProgressBar1.value = NumeroVCP
'---------------------------------------------
line1:
If ligne = 0 Then VCPTA.Controls("Label" & NumeroVCP).Caption = Err
Next NumeroVCP
autre question j'ai une feuille VCPTA ou il y a tous met label et une autre VCPTB quasi identique.
pour passer de la page VCPTA ou a VCPTB je fait un test
Code:
If Tour = "TB" Then
VCPTB.Controls("Label" & NumeroVCP).Caption = Cells(ligne + 1, 5)
couleur = Cells(ligne, 5)
If couleur = "OC_NUL" Then
VCPTB.Controls("Label" & NumeroVCP).BackColor = &HC0C000
Else
VCPTB.Controls("Label" & NumeroVCP).BackColor = &H80C0FF
End If
Else
VCPTA.Controls("Label" & NumeroVCP).Caption = Cells(ligne + 1, 5)
couleur = Cells(ligne, 5)
If couleur = "OC_NUL" Then
VCPTA.Controls("Label" & NumeroVCP).BackColor = &HC0C000
Else
VCPTA.Controls("Label" & NumeroVCP).BackColor = &H80C0FF
End If
End If
je voudrais eviter de faire des doublons y a t'il un methode plus simple.
merci