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

XL 2019 Recherche chiffre avec VBA

damso

XLDnaute Nouveau
Bonjour à tous,

Voici mon 1er post, j'aurais une question à propos d'une fonction de recherche sur VBA.

Le code ci-dessous me permet de rechercher des valeurs texte, et de remplir d'autres champs en fonction du texte trouvé.

Cependant, ce dernier ne fonctionne lorsque la valeur à rechercher est un chiffre (1,2,3..)

Pourriez-vous me venir en aide SVP

Merci d'avance !


VB:
Sub search(txt As MSForms.TextBox, Field_type As String, Col_Number As Integer)


Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("VCS 2021")

    If txt.Value = "" Or txt.Value = Field_type Then
        MsgBox "Merci d'entrer le " & Field_type, vbCritical
        Exit Sub
    End If

Dim Search_range As Range
Set Search_range = sh.Range(sh.Cells(2, Col_Number), sh.Cells(Application.Rows.Count, Col_Number))

If Application.WorksheetFunction.CountIf(Search_range, "*" & txt.Value & "*") = 0 Then
    MsgBox "Pas de correspondance trouvée", vbCritical
    Exit Sub

End If

Dim iRow As Long

If Application.WorksheetFunction.CountIf(Search_range, txt.Value) > 0 Then
    iRow = Application.WorksheetFunction.Match(txt.Value, Search_range, 0) + 1
Else
    iRow = Application.WorksheetFunction.Match("*" & txt.Value & "*", Search_range, 0) + 1
End If

Me.TextBox_Zone.Value = sh.Range("A" & iRow).Value
Me.TextBox_Factory.Value = sh.Range("B" & iRow).Value
Me.TextBox_Name.Value = sh.Range("C" & iRow).Value
Me.TextBox_Surname.Value = sh.Range("D" & iRow).Value


End Sub
 

tbft

XLDnaute Accro
Bonjour et bienvenu

Un fichier avec des données bidons mais représentatives aurait été un plus...
Est ce que c'est la fonction de recherche ou celle de remplacement qui ne fonctionne pas?
 

damso

XLDnaute Nouveau
Bonjour,

Voici le fichier joint,

Concrètement, le formulaire "Saisie_VCS" me permet de renseigner les lignes du tableau.

Cependant si une ligne a besoin d'être modifiée, il faut pouvoir y retourner.

J'ai donc créé un encart pour les modifier où il suffit de saisir le n° de lignes et cliquer sur "modifier" pour que les infos de la ligne se ré-affiche et ainsi pouvoir les modifier (je n'ai pas encore créé les lignes de VBA pour acter la modification).

Pour chercher la ligne à modifier, j'ai donc créer la macro "search", qui à pour objectif de venir chercher le numéro de ligne correspondant et d'afficher les données dans le formulaire. Cependant, cette dernière ne fonctionne pas avec des chiffres... Par contre avec du texte aucun problème. (j'ai essayé de changer le format, rien n'y fait).

Voilà, j'espère avoir été plus clair, merci par avance,

Damso
 

Pièces jointes

  • Classeur1.xlsm
    92 KB · Affichages: 8

Discussions similaires

Réponses
2
Affichages
95
Réponses
49
Affichages
1 K
Réponses
4
Affichages
454
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…