Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

nicroq

XLDnaute Occasionnel
Re : boucle avec for avec valeur manquante

oui poutant j'ai bien end sud en fin de macro mais depuis que j'ai rajouté votre code il se bloque est me demande "END sub"
...

je ne comprend pas pourquoi?
 

Discussions similaires

Réponses
6
Affichages
429
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…