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 -
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
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:
- Macro excell afficahge d'une valeur
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
2 réponses
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
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
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
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
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.
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
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
Je te tiens au courant. En tous cas c'est super sympa de prendre du temps pour les novices comme moi
Cordialement Eric
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
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
je vais essayer ton code et comprendre sa structure
Merci pour tout c'est sympa.
cordialement Eric
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