Problème de remplissage Textboxs

isa44

XLDnaute Occasionnel
Bonjour , voici un nouveau problème :

Je saisie un indice dans le textbox9 , dans la feuille HEURE l faut retrouver cet indice et répartir les horaires trouvés dans les autres textbox.

Si j'ai un seul indice retrouvé dans la feuille HEURE les textbox 69 ,70 , 71 , 72 se remplissent quand même:
Comment éviter ce remplissage inapproprié ?

Code:
Private Sub TextBox9_Change()
Dim c As Range ' Recherche dans la feuille HEUREE  les  horaires
Set c = Sheets("HEURE").Range("B:B").Cells.Find(What:=Me.TextBox9)

If Not c Is Nothing Then Me.TextBox67 = c.Offset(0, 2).Value
If Not c Is Nothing Then Me.TextBox68 = c.Offset(0, 4).Value
If Not c Is Nothing Then Me.TextBox69 = c.Offset(1, 2).Value
If Not c Is Nothing Then Me.TextBox70 = c.Offset(1, 4).Value
If Not c Is Nothing Then Me.TextBox71 = c.Offset(2, 2).Value
If Not c Is Nothing Then Me.TextBox72 = c.Offset(2, 4).Value




End Sub

Merci pour votre aide
 

Pièces jointes

  • Classeur1.xls
    181 KB · Affichages: 51
  • Classeur1.xls
    181 KB · Affichages: 54
  • Classeur1.xls
    181 KB · Affichages: 60
Dernière édition:

isa44

XLDnaute Occasionnel
Re : Problème de remplissage Textboxs

Bonjour berbere,

Voici un début de modif :

le problème est que si on prend l'exemple de l'indice C2 - 2 s'affiche dans les textbox70 et 71 les horaires de l'indice C2- 3 alors qu'il ne faudrait pas qu'ils se remplissent.
 

Pièces jointes

  • Classeur1Isa2.xls
    204.5 KB · Affichages: 48

Bebere

XLDnaute Barbatruc
Re : Problème de remplissage Textboxs

Isa
voilà ce qu'il te faut
Code:
Private Sub TextBox1_Change()
    Dim i As Integer
    Dim c As Range    ' Recherche dans la feuille HEURE_ROSE  les  horaires

    With Sheets("HEURE_ROSE").Range("B:B")
        Set c = .Find(What:=Me.TextBox1, LookIn:=xlValues, lookat:=xlWhole)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                For i = 67 To 72 Step 2
                    If Me("TextBox" & i) = "" Then
                        Me("TextBox" & i) = c.Offset(0, 2).Value: Me("TextBox" & i) = Format(Me("TextBox" & i), "hh:mm")
                        Me("TextBox" & i + 1) = c.Offset(0, 4).Value: Me("TextBox" & i + 1) = Format(Me("TextBox" & i + 1), "hh:mm")
                        Exit For
                    End If
                Next i
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    End With
    
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 875
Messages
2 093 148
Membres
105 641
dernier inscrit
Naoel