Un coup de main

Bonjour,

J'ai une formule qui marche bien pour une recherche cf userform1, que j'ai apprise avec l'ecole, mais si mon element de recherche est un mot, elle ne fonctionne plus.

Qui a une idée lumineuse pour remplacer mon code en userform2, je pense que le countif n'est pas la bonne solution biensur mais je connais pas un autre code VBA.

Bien à vous.

10classeur1.xlsm (49.06 Ko)

Salut,

Tes deux UserForm hyper-minimalistes fonctionnent très bien chez moi. Comme la seule chose que je peux faire avec est de les refermer par la croix blanche sur fond rouge (tiens, ça me rappelle le drapeau d’un pays) en haut à droite, il n’y a pas de problème.

Cordialement.

PS : en fait, ce n'est pas un peu la suite de notre dernière discussion en décembre 2016 ?

Bonjour le fil, bonjour le forum,

C'est pas la méthode que j'utiliserais mais bon... Il y a deux erreurs dans ton code :

• Dans la première ligne, pour vérifier si le texte tapé existe tu définis la colonne E alors que c'est la colonne F qu'il faut choisir.

• Une textbox revoie toujours une valeur sous forme de texte de type String. Dans ta première Userform si tu veux rechercher la valeur de la TextBox1 il te faut la convertir en entier Long (Integer ou Byte auraient aussi fait l'affaire). En revanche, dans la seconde UserForm, convertir du texte en entier Long génère un bug puisque tu recherches du texte. Avec ce bug, la ligne On Error GoTo 1 envoie automatiquement le code en fin de procédure...

Le code corrigé :

Private Sub TextBox1_AfterUpdate()

On Error GoTo 1

If WorksheetFunction.CountIf(Sheets("Feuil1").Range("F:F"), Me.TextBox1.Value) = 0 Then

End If

With Me

.TextBox2 = Application.WorksheetFunction.VLookup(Me.TextBox1, Sheets("Feuil1").Range("base"), 2, 0)
.TextBox3 = Application.WorksheetFunction.VLookup(Me.TextBox1, Sheets("Feuil1").Range("base"), 3, 0)

End With

1
End Sub

merci à toi tautheme, cela marche tres bien.

YVOUILLE peut être peut etre

Rechercher des sujets similaires à "coup main"