Macro excell afficahge d'une valeur

Résolu
Eric34370 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
Eric34370 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je débute en VBA excel et j'ai une feuille excel avec 2 Colonne trés longues.
l'une indique un code et l'autre une valeure correspondant au code
je voudrais savoir comment peut on faire pour afficher une boite qui demande à l'utilisateur de rentrer le code et une autre qui affiche la valeur du code en fonction du code rentré par l'utilisateur

Ex A1=100814 (code) B2 = 1561 (valeur du code)
A2=125685 (code) B2 = 1589 (valeur du code)
et ainsi de suite

Je vous remercie par avance de l'interet que vous porterez à ma demande
Trés cordialement Eric
A voir également:

2 réponses

my_name Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   1
 
salut je peut t'aider. il faut que tu fasse une boucle qui te permet de visualiser l'ensemble de t valeur ( while, wend) ensuite soit tu passe par un user form soit un input box qui va permettre d'entrer le code de l'utilisateur ensuite tu fais un test conditionnel (if) exemple :
sub recherche ()

dim i as integer
dim code as variant
dim vcode as double

code = inputbox("taper un code")
i = 4
while range("a"& i) <> ""
if range("a"& i ) = code then
vcode = range("b"& i )
end if
i = i + 1
wend
msgbox("la valeur du code est:"& vcode)

end sub
0
Eric34370 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour tes infos je vais les tester ,
Je te tiens au courant. En tous cas c'est super sympa de prendre du temps pour les novices comme moi

Cordialement Eric
0
Eric34370 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
j'ai essayer le code et rechercher partout pour le faire fonctionner mais je n'y suis pas parvenue
la msg box me renvoie tour la valeur "0"
peut etre me suisje mal exprimé dans ma demande

j'ai 2 colonne dans ma feuille excel
une avec les codes" code SAP"
une autre à coté avec la valeur"NB col" affecté à chaque codeSAP

l'input box permet à l'utilisateur de rentrer le Code SAP
et la messageBox lui donnera le NBcol affecté à ce code Sap
j'espére avoir été un peu plus clair dans ma demande je peux envoyer le fichier excell au cas ou

Merci d'avance

cordialement Eric
0
didier09 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   36 > Eric34370 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour

tu doit créer un formulaire(propriété Caption=Recherche valeur du code) qui contient

*Une zone de texte (propriété Name=code)

*Un bouton de commande (propriété Name=cmdok,propriété Caption=OK)

Le code correspondant au bouton de commande cmdok est

Private Sub Cmdok_Click()
Dim compteur As Long
Dim valeurcode As Long
Dim rep As Byte

For compteur = 1 To Sheets("Liste").Range("A1").End.xlDown).Row
If TextBox1.Value = Sheets("Liste").Cells(compteur, 1).Value Then
valeurcode = Sheets("Liste").Cells(compteur, 2).Value
rep = MsgBox("La valeur du code correspondant est " & valeurcode, vbOKOnly, "Recherche code")

End If
Next compteur
End Sub

Note: Liste correspond au nom de la feuille contenant ton tableau
0
Eric34370 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   > didier09 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour didier,

je vais essayer ton code et comprendre sa structure
Merci pour tout c'est sympa.

cordialement Eric
0
Eric34370 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   > didier09 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Re bonjour,

Désolé didier mais cela ne fonctionne pas.
j'ai recopier ton code(corrigé une parenthése qui manquait(détail), fait le User form avec tout et les propriété (Name) et tout et tout.
j'obtiends bien la boite de Dial et quand je rentre une valeur de mon tableau et je clique sur ok rien ne se passe
j'ai fait une feuille excel nommé Liste pour que tout soit comme dans la demarche que tu me proposé.
J'en perd mon latin
j'ai un bouquin Escel VBA mais cela ne m'a plus avancé.

cordialement Eric
0
didier09 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   36
 
Il faut que la feuille Liste soit sélectionnée.

Rajoute dans le code sur une auter ligne après Dim rep As Byte
Sheets("Liste").Select

j'ai essayé le code complet et sa marche.

Si tu as un livre VBA tu doit y arriver
Bon courrage
j'attends de tes nouvelles
0
Eric34370 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Salut didier,

j'ai essayer le code mais toujour pas mieux
peut tu m'envoyer le fichier que tu as essayé ou je t'envoie le mien
mon mail ericdelwal@neuf.fr
merci beaucoup pour ton aide j'apprécie beaucoup

cordialement eric
0
Eric34370 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour didier,

meric pour le fichier que tu m'as envoyeé
il marche impect et tes explications sont limpides
je mets le code que tu m'as envoyer il peut servir à d'autres.

Private Sub cmdok_Click()

'Déclaration des variables utilisées
Dim ligne As Long
Dim valeursaisie As String
Dim valeurcherchée As String
Dim Message As Byte


'Boucle permettant de chercher la valeur saisie
For ligne = 2 To Sheets("Liste").Range("A1").End(xlDown).Row
    valeursaisie = Sheets("Liste").Range("A" & ligne).Value
        If valeursaisie = code.Value Then
            valeurcherchée = Sheets("Liste").Range("B" & ligne).Value
            Message = MsgBox("La valeur cherchée est " & valeurcherchée, vbOKOnly, "Valeur cherchée")
        End If
Next ligne
End Sub


Explication

La boucle For To s'éxécute jusqu'à la dernière ligne non vite
A chaque passage, on mémorise la valeur de la cellule de la colonne A dans la variable valeursaisie
Une condition If…End If vérifie si cette valeur est égale à la valeur saisie par la personne dans le formulaire (code.Value)
Si c'est le cas, on mémorise dans la variable valeurcherchée, la valeur qui se trouve dans la colonne B et sur la même ligne
puis on ouvre la boîte de dialogue affichant la valeur du code correspondant
Si non, on passe à la ligne suivante jusqu'à la fin de la boucle



cordialement Eric
0