Paramétrage UserForm avec référence colonne

Bonjour à tous,

J'ai un petit soucis en vba : J'aimerais que si la valeur entrée dans le UserForm est égale à la colonne ("A2:A"), qu'il affiche le numéro de téléphone affiché en colonne G.

Je ne sais pas s'il faudrait utiliser Show ou Print pour la 3è ligne.

Je ne sais pas si mes explications sont très clair.

Mon code :

Private Sub CommandButton1_Click()
    If Val(TextBox1) = Range("A2:A") Then
    Show Range("G2:G").Value
    End If
End Sub

Merci d'avance à tous :)

Bonjour,

C'est pas très clair.
Quand vous dites afficher en G sur la même ligne que A.

Exemple : si le numero dans votre textbox est trouvé en A3, vous voulez mettre ce numéro en G3 ?

Cordialement

Bonjour,

Pour l'instant, ce code c'est de la science fiction ! Si je comprends bien, il s'agit de faire une RECHERCHEV avec comme point d'entrée une valeur contenue en colonne A, et en retour un résultat situé en colonne G ?

Un essai :

Private Sub CommandButton1_Click()
    MsgBox "Numéro de téléphone : " & Format(Application.VLookup(TextBox1.Value, Sheets("NomFeuille").Range("A:G"), 7, 0), "## ## ## ## ##")
End Sub

Edit : salut Dan !

Bonjour,

Oups.

En fait, dans le userForm on inscrit un numéro d'identification client (ex 300478) puis on clique sur "Search".

Quand je clique sur le bouton "Search" j'aimerai que cela cherche la ligne où le numéro d'identification client est référencé (se situe dans la Colonne A) et que s'il le trouve dans le fichier, qu'il affiche le numéro de téléphone correspondant situé en colonne G. Si le numéro n'est pas dans le fichier, j'aimerai qu'il affiche un message d'erreur en disant "le client recherché n'est pas dans la base de données".

Lorsque le numéro de téléphone s'affichera (de préférence avec un nouveau userForm), j'aimerai mettre deux boutons :

- un "A répondu" : si l'on clique dessus que cela affiche le lien d'un site que j'aurai entré (de sorte que la personne n'ait plus qu'à cliquer sur le lien)

- un autre "N'a pas répondu" : si l'on clique dessus que la ligne d'information client correspondante change de couleur et se mette par exemple en orange (signe que l'on doit rappeler la personne).

Je ne sais pas si c'est plus clair , dites moi.

Edit :

Bonjour Pedro 22,

j'ai tenté quelque chose

Oui c'est ça, la personne inscrirait le n° client 330615 par exemple dans le Userform et en cliquant sur Search cela ferait une recherche V et afficherait le n° de tel correspondant effectivement.

J'ai tenté votre code, cela me met "erreur d'exécution 9"

image image

Re

Essayez ce code peut être

Sub test()
Dim ligne As Integer

On Error Resume Next
ligne = Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(Val(textbox1.Value), LookIn:=xlValues, lookat:=xlWhole).Row
If ligne = 0 Then MsgBox "le client recherché n'est pas dans la base de données": Exit Sub
MsgBox Range("G" & ligne).Value
End Sub

Edit : Salut Pedro22 !

Re Dan,

Il ne se passe rien quand je clique sur Search.

Logique. La ligne SUB TEST ne sert à rien dans le fichier

Vous devez remplacer "sub test" par "Private Sub CommandButton1_Click()" ou simplement copier les lignes de code dans la "Private Sub CommandButton1_Click()"

Cordialement

Oups.

Merci beaucoup pour votre aide !

Bonjour,

J'ai quelques soucis avec mes range, cela n'affiche pas ce que je veux..

J'aimerai que si la réponse à la question "avez vous eu le client au téléphone" est oui, qu'il mette la cellule du client correspondant en vert et sinon, il pose la question "le n° est il attribué?".

Si la réponse à Ret2 est oui, que la cellule soit mise en orange. Si ce n'est pas le cas que la ligne du client correspondant soit couper - coller dans une autre feuille.

Et enfin, si le client n'a pas répondu que la quesiton "lancer questionnaire" ne soit pas posée.

Voili voilou,

merci d'avance pour votre aide. :)

Private Sub CommandButton1_Click()
    Dim ligne As Integer
    Dim ret As Integer
    Dim ret2 As Integer
    Dim ret3 As Integer

On Error Resume Next
ligne = range("A2:A" & range("A" & Rows.Count).End(xlUp).Row).Find(Val(TextBox1.Value), LookIn:=xlValues, lookat:=xlWhole).Row
If ligne = 0 Then MsgBox "le client recherché n'est pas dans la base de données": Exit Sub
MsgBox range("G" & ligne).Value
NumeroClient.Hide
'----------------------------------------------------------------------------------------------------------------------------------------------------
ret = MsgBox("Avez-vous eu le client au téléphone?", vbYesNo)
    If ret = vbYes Then
        range(ligne).Interior.Color = RGB(0, 96, 0)
    Else
ret2 = MsgBox("Le numéro est-il attribué?", vbYesNo)
    If ret2 = vbYes Then
        range(ligne).Interior.Color = RGB(255, 128, 32)
    Else
    range(ligne).Copy Feuil2.range("A2:S2") & UnloadMe
    End If
    End If
ret3 = MsgBox("Lancer lien Questionnaire?", vbOKCancel)
If ret3 = vbOK Then
    ThisWorkbook.Sheets("Classeur").range("U9").Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End If
End Sub
'----------------------------------------------------------------------------------------------------------------------------------------------------

Bonjour,

Si la réponse à Ret2 est oui, que la cellule soit mise en orange. Si ce n'est pas le cas que la ligne du client correspondant soit couper - coller dans une autre feuille.

1. dans votre code vous copiez la ligne. Ici vous parlez de couper... c'est couper ou copier ?
2. Vous coller toujours à la ligne 2 de la feuille 2 ou la fois suivante il faut coller en ligne 3 ?

Et enfin, si le client n'a pas répondu que la quesiton "lancer questionnaire" ne soit pas posée.

si le client ne répond pas à quelle question ? celle ci --> Le numéro est-il attribué?

Bonjour,

1. C'est couper

2. J'aimerai bien que la ligne coupée se mette à partir de la ligne 2 et que la ligne coupée d'après se mette à la suite

3. Si le client n'a pas répondu à l'appel que la question "lancer le questionnaire" ne soit pas posée

voilà, j'espère que c'est mieux expliqué :)

Bonjour,

Si vous répondez Non à la question 1 et Oui à la question "Le numéro est-il attribué", on colorie la ligne.
Dans ce cas, est-ce que le message au sujet de la question 3 "Lancer le questionnaire" doit se faire. je suppose que oui car vous avec le choix du Oui ou Annuler

Cordialement

Bonjour ,

On colorie effectivement la ligne en orange si le client n'a pas répondu mais que le numéro est attribué.

En rouge et coupé dans une autre feuille à partir de la ligne 2 si le client n'a pas répondu et si le n° n'est pas attribué.

et en vert si on l'a eu et qu'on a lancé le questionnaire.

Il n'est pas utile de lancer le message "lancer le questionnaire" si non à la question 1 et oui à la question "le numéro est il attribué". (Nous devrons le rappeler, la ligne devra être coloriée en orange du coup)

J'ai laissé le annulé car cela permet de fermer le message si le client n'a pas le temps ou ne veut pas répondre.

Cordialement.

Je vous joint le fichier au cas où, c'est plus explicite :)

Je n'ai pas besoin du fichier... C'est le même code et j'ai celui que vous aviez déjà posté

Il n'est pas utile de lancer le message "lancer le questionnaire" si non à la question 1 et oui à la question "le numéro est il attribué". (Nous devrons le rappeler, la ligne devra être coloriée en orange du coup)

Et si vous répondez non aux deux questions ?

Si le client ne répond pas, et que le numéro n'est pas attribué, il faudrait couper - coller la ligne client dans une autre feuille excel

Que cela se fasse à chaque fois que ces deux réponses sont non à la suite de la ligne 2

Si le client ne répond pas, et que le numéro n'est pas attribué, il faudrait couper - coller la ligne client dans une autre feuille excel

Que cela se fasse à chaque fois que ces deux réponses sont non à la suite de la ligne 2

Cela ne répond pas à ma question de mon post précédent, on parle du message Lancer le questionnaire....

Ah oui d'accord bah si les deux réponses sont non, il est inutile de lancer le message du questionnaire

Dans le fichier posté vous utilisez le nom de feuille "Classeur".
C'est le nom exact de cette feuille dans votre vrai fichier ?

Et tant qu'à faire, quel est le nom exact de la feuil2 ?

Ouii c'est le nom exacte

Le nom qui se met est Feuil1 pour la seconde feuille mais je vais la renommer en "N° non attribué"

Rechercher des sujets similaires à "parametrage userform reference colonne"