Afficher une cellule avec un Inputbox
Bonjour,
J'ai besoin de votre aide.
Pour commencer je part d'un tableau excel avec différente colonne (nom, prénom, age, profession) :
Chaque ligne correspond à une personne et aucune information n'est en double dans mon tableau.
Du coup j'aimerais créer une macro qui dans un premier temps affiche un INputbox "Saisie le nom du candidat" afin que l'utilisateur puisse écrire par exemple "Cadet" et ainsi apparaît son âge.
C'est la que je bloque je n'arrive pas à afficher l'age du candidat en fonction du nom saisie.
Je suis débutante et pour l'instant voilà mon code :
Sub problème()
com = InputBox("Saisie du nom du candidat (en majuscule):", "NOM DU CANDIDAT")
Dim ligne As Integer
Dim x As Integer
ligne = Rows(1) + x
Dim nom As String
nom = Cells(ligne, 1)
Dim Age As Integer
Age = Cells(ligne, 3)
If TextBox = nom Then
MsgBox = Age
End If
End Sub
Merci d'avance pour votre aide
Bonjour,
Pour commencer sur l'écriture du code :
- Le site dispose d'un outil de mise en forme du code dans les messages :
</>
- On préfère la déclaration de l'ensemble des variables utilisées en début de macro, et pas au gré du code
- On utilise l'indentation (retrait plus ou moins prononcé) pour faciliter la lecture du code et identifier facilement l'imbrication des différentes structures
Concernant le cœur de votre demande :
x
n'est pas initialisée (aucune valeur affectée) et équivaut donc à0
par défautRows(1)
désigne une plage (la ligne 1), que vous essayez d'affecter à une variable censée recevoir un nombre entier (ligne As Integer
)- En l'absence d'utilisation d'une formule de RECHERCHE ou d'une boucle pour parcourir les éléments, votre code reste cantonné à la ligne 1
- Vous avez saisi le nom du candidat dans une variable
com
qui n’apparaît plus ensuite dans le code... - Il y a un
Textbox
qui apparaît comme par magie dans ce code !
S'agissant visiblement d'un travail scolaire, je vous laisse vous replonger dans vos cours et revenir avec vos essais (que nous pourrons commenter).
Bonjour Pedro22,
Merci beaucoup pour votre aide je vais essayer d'améliorer mon code.