boucle avec for avec valeur manquante

nicroq

XLDnaute Occasionnel
Bonjour a tous et merci pour votre aide.

Voici mon probleme: dans mon code,

Code:
    For x = TextBox1.Value To TextBox2.Value
    Dim cell_nom As Range, lg_total As Integer
    Worksheets("Semaine N°" & x).Select
    If Worksheets("Semaine N°" & x).Range("A10") = "Nom" Then
    Set cell_nom = Worksheets("Semaine N°" & x).Columns("A").Find("Nom", , , , , xlPrevious)
    lg_total = cell_nom.Row - 2



j'utilise une boucle qui va de la valeur textbox1 à textbox2 mon code marche tres bien cependant je souhaiterai que lorsqu une valeur est manquante que le code passe a la prochaine valeur
Par exemple :
textbox1 = 2
textbox2=8
mon code marche tres bien si toutes les valeur existe entre 2 et 8 (2,3,4,5,6,7,8) cependant dans mes fichier il se peut qu'une valeur nexite pas (par exemple le "4")

comment puis je modifier mon code ?

en vous remerciant
cordialement
 

pierrejean

XLDnaute Barbatruc
Re : boucle avec for avec valeur manquante

Bonjour nicroq

N'en mets pas trop surtout !!!!

Teste:
Code:
For x = TextBox1.Value To TextBox2.Value
    Dim cell_nom As Range, lg_total As Integer
    If exist_sh("Semaine N°" & x) Then
      Worksheets("Semaine N°" & x).Select
      If Worksheets("Semaine N°" & x).Range("A10") = "Nom" Then
      Set cell_nom = Worksheets("Semaine N°" & x).Columns("A").Find("Nom", , , , , xlPrevious)
      lg_total = cell_nom.Row - 2
      .....
      End If
    End If

Function exist_sh(Nom)
exist_sh = False
On Error Resume Next
  x = Sheets(Nom).Name
  If Err.Number = 0 Then exist_sh = True
On Error GoTo 0
End Function
 

nicroq

XLDnaute Occasionnel
Re : boucle avec for avec valeur manquante

desolé pierre jean

voici mon code complet , mais qd je rajoute votre code il me demande "END sub" pourquoi??

merci
Code:
 Dim derligbilan5 As Long
 derligbilan5 = Worksheets(feuilleBilan).Range("A" & Rows.Count).End(xlUp).Row
 'msgbox "der5 " & derligbilan5

    Rows("13:" & derligbilan5).Select
    Selection.Delete

For x = TextBox1.Value To TextBox2.Value
Dim cell_nom As Range, lg_total As Integer
    If exist_sh("Semaine N°" & x) Then
Worksheets("Semaine N°" & x).Select
If Worksheets("Semaine N°" & x).Range("A10") = "Nom" Then
Set cell_nom = Worksheets("Semaine N°" & x).Columns("A").Find("Nom", , , , , xlPrevious)
lg_total = cell_nom.Row - 2
'msgbox lg_total



'Worksheets("Semaine N°" & x).Select
Worksheets("Semaine N°" & x).Range(Cells(12, 1), Cells(lg_total, 13)).Copy
Worksheets(feuilleBilan).Select
Dim cell_nom2 As Range
Worksheets(feuilleBilan).Select

derniereLigne = Worksheets(feuilleBilan).Range("A" & Rows.Count).End(xlUp).Row 'n° de la dernière ligne non vide de la colonne A

'msgbox "derligne=" & derniereLigne

 Worksheets(feuilleBilan).Cells(derniereLigne + 1, 1).PasteSpecial Paste:=xlPasteValues
 End If
 End If
  Function exist_sh(Nom)
exist_sh = False
On Error Resume Next
  x = Sheets(Nom).Name
  If Err.Number = 0 Then exist_sh = True
On Error GoTo 0
End Function

 Next x
 

 
 
 Unload Me
 

Discussions similaires

Réponses
6
Affichages
429

Statistiques des forums

Discussions
314 222
Messages
2 107 469
Membres
109 836
dernier inscrit
SophieL16