IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Compléter certaines cellules selon le choix fait dans une liste déroulante [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Compléter certaines cellules selon le choix fait dans une liste déroulante
    Bonjour tout le monde,
    je suis débutant alors excusez moi par avance pour mon vocabulaire approximatif.
    J'essaie de coder un UserForm pour obtenir un formulaire me permettant les choses suivantes :
    - je choisi un élève dans un menu déroulant (ça c'est bon)
    - je choisi l'exercice (parmis 5) pour compléter la bonne feuille (ça c'est bon)
    - je reporte dans la feuille la valeur attribué à chaque critère dans le formulaire (Critères COM, APP etc)
    mais surtout en face du nom préalablement sélectionné! (ça c'est plus bon du tout) ::o


    J'ai beaucoup cherché dans des tutos déjà existant mais il ne me reste plus que le dernier point à coder.
    - Comment attribuer une valeur au nom selectionner
    - Comment faire pour que selon cette valeur, les bonnes case se remplissent?

    Je remercie par avance toute personne qui voudrait bien m'aider

    PS : PS : voici le fichier sur lequel je travail
    Test - Copie.rar

  2. #2
    Membre éclairé Avatar de Nico Chg
    Homme Profil pro
    Apprenti ingénieur Business Development
    Inscrit en
    Juillet 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Apprenti ingénieur Business Development
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 352
    Points : 758
    Points
    758
    Par défaut
    Bonjour,

    Je n'ouvre pas les PJ, donc une petite image expliquant le tout ne serais pas mal.

    Sinon, ça dépend beaucoup de la construction de ton fichier, mais l'algorithme devrait ressembler à ça :

    - Récupérer la valeur de la liste déroulante (le nom de l'élève)
    - Je fais une recherche de ladite valeur dans la feuille qui va bien
    - Je récupère la ligne de la recherche
    - J'écris mes valeurs dans les colonnes qui vont bien.

    Je suppose ici que tu as le nom des élèves dans une colonne, chaque élève correspond donc à une ligne, et que les critères sont en lignes, donc chacun des critères correspond à une colonne.

    Voici des exemples de codes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Pour sélectionner la valeurs d'une Listbox en supposant que le nom se trouve dans la première colonne de la Listbox
    MaValeur = Listbox1.List(Listbox1.ListIndex, 0)
     
    'Rechercher la ligne d'une valeur dans une Feuille avec X le numéro de la colonne
    MaLigne = Worksheets("MaFeuille").Columns(X).Find(MaValeur, , , , xlByRows, xlPrevious).Row
     
    'Ecrire ensuite les bonnes valeurs aux bons endroits avec Y et Z les numéros de colonne correspondant à COM et APP
    Worksheets("MaFeuille").cells(MaLigne, Y) = "Critère COM"
    Worksheets("MaFeuille").cells(MaLigne, Z) = "Critère APP"
    Je te souhaite bon courage pour la suite !

  3. #3
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Salut

    Dans un premier temps, et finalement, ce que tu dois récupérer est la ligne du nom sélectionné. Pour cela, tu as 2 solutions :
    - Soit tu fais une fonction, qui fait une recherche sur ta première colonne, pour retrouver le nom sélectionné. Un truc de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function Ligne(NomP As String) As Long
    For i = 5 To 42
        If InStr(1, NomP, Cells(i, 1).Value, vbTextCompare) > 0 Then
            Ligne = i
            Exit For
        End If
    Next i
    End Function
    Que tu utilises après dans ton clic :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton14_Click()
    MsgBox Ligne(Me.ComboBox1.Value)
    End Sub
    - Soit tu utilises ListIndex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton14_Click()
    MsgBox Me.ComboBox1.ListIndex
    End Sub
    Qui te donnera l'index de ta liste déroulante sélectionné.
    Par exemple, pour le premier de ta liste, il te donnera 0 => il faut donc rajouter 5 pour avoir la ligne de l'agent sélectionné

    Une fois que tu as cette information, remplir les différentes colonnes devrait être un jeu d'enfant

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Bonjour messieurs,
    merci beaucoup beaucoup pour vos réponses si rapides.
    Je vais essayer de suivre vos conseils éclairés.
    Je ne manquerai pas de vous montrer le résultats et à cocher RÉSOLU
    (si j'y arrive)
    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Adapter l'adresse mail de reception d'un contact form à un choix fait dans une liste déroulante
    Par Stevie Janowski dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 20/04/2015, 13h56
  2. Réponses: 0
    Dernier message: 04/02/2015, 10h46
  3. Réponses: 0
    Dernier message: 24/09/2014, 22h58
  4. Réponses: 11
    Dernier message: 26/10/2009, 12h03
  5. Réponses: 27
    Dernier message: 12/04/2007, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo