Bug lors d'une recherche avec un userform

  • Initiateur de la discussion Initiateur de la discussion sev
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sev

Guest
Bonjour à tous , je lance un nouveau sujet : un bug lors d'une recherche avec un userform.
Je joint le fichier pour plus d'explications.
 
Re : Bug lors d'une recherche avec un userform

Bonjour sev

Essaye comme ça si j'ai bien compris:

Code:
Private Sub TextBox4_Change()
Dim MyVar As Long
Dim MyRange As Range, MyCell As Range

    With Me.TextBox4
        Select Case Len(.Value)
               Case 3, 5
                   MyVar = Val(.Value)
               Case Else
                   Exit Sub
        End Select
    End With
    With Sheets("ROSE")
        Set MyRange = Union(.Range(.Range("C6"), .Range("A5000").End(xlUp)), _
         .Range(.Range("H6"), .Range("H5000").End(xlUp)), _
         .Range(.Range("M6"), .Range("M5000").End(xlUp)), _
         .Range(.Range("R6"), .Range("R5000").End(xlUp)))
    End With
    
    For Each MyCell In MyRange
        If Val(MyCell) = Val(MyVar) Then
            RunFormat_TextBox9 MyCell.Offset(0, -1)
            RunFormat_TextBox38 MyCell.Offset(0, 2)
            Exit Sub
        End If
    Next
End Sub

A+
 
Re : Bug lors d'une recherche avec un userform

Re,

Le problème venait de ta variable MyRange.
Si tu définis MyRange plusieurs fois de suite avec l'instruction Set sans prendre en compte les plages précédemment déclarées seule la dernière plage sera prise en compte.
Dans ton cas, MyRange correspondait à la plage A6:R22.

De plus à chaque fois tu utilisais Range("A5000").End(xlUp)) pour chaque colonne (C,H,M,R) au lieu de ("C5000"), ("H5000")... donc ta plage MyRange ne pouvait pas être correcte.

La méthode Union te permet d'obtenir une plage avec des cellules disjointes. Dans le code sélectionne le mot Union et ensuite appuis sur la touche F1 tu auras des infos sur la méthode.

Bonne soirée

Edit: Je ne connais pas ces N° de train, Ils circulent en France ?


 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
185
Réponses
2
Affichages
193
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
523
Réponses
2
Affichages
187
Retour