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 :

Zone de liste deroulante et bouton radio


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut Zone de liste deroulante et bouton radio
    Bonjour, j'aimerais que lorsque je click sur un bouton radio, celui-ci remplisse une zone de liste deroulante avec les informations d'un fichier texte. Par exemple, que lorsque je click sur le bouton radio 'Journal' la zone de liste se remplisse avec les valeurs du code des différents journaux présent dans un fichier texte.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    bonjour,

    et en quoi peut-on te venir en aide ? Qu'as-tu déjà fait ?
    Tu souhaiterais des pistes ? des idées de code ?

    Le principe du forum étant de "t'apprendre à pêcher" et non de "pêcher à ta place", dis nous un peu où tu en es
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    Ben je suis stagiaire et j'ai dut recuperer un programme d'un ancien stagiaire, c'est un logiciel de comptable. Sur une feuille excel j'ai mit 5boutons radios et un bouton OK et une zone de liste deroulante. Lorsque je click sur un bouton radio, puis sur OK, on me demande de choisir un fichier texte a importer, puis je le trie en fonction du bouton radio choisit. Par exemple, j'ai un fichier texte avec des comptes généraux, auxiliaires, des journaux et des ecritures. j'arrive a ouvrir mon fichier texte, selectionner les lignes concerner puis les copier dans une nouvelle fenetre. Mais pour les Journaux, comme il y en a enormement et de type différents, j'aimerais que lorsque je click sur mon bouton radio 'Journal', la liste derouloante se remplisse avec les codes des journaux de mon fichier texte selectionner.
    Voici le code mon mon import de journal a l'heure actuel, il import tout les journaux sans distinction :
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Public Sub OuvrirJournaux()
    Dim nomfeuille As String, Ligne As String, fichier1 As String, texte As String, _
    tableau() As String, i As Long, n As Long, compteur As Long, a As Range, x As Long, dl As Long, ir As Integer, _
    firstaddress As String, nomfeuille1 As String, nomfeuille2 As String, irow As Integer, nomfichier As String
        'On Error GoTo GestionErreur1
    ouvert = 0
       Workbooks.OpenText Filename:=LeFichierAOuvrir, Origin:=xlWindows, StartRow _
            :=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 2), Array(3, 2), Array( _
            6, 2), Array(9, 2), Array(44, 2), Array(47, 2), Array(50, 2), Array(53, 2), Array(70, 2), _
            Array(73, 2), Array(76, 2), Array(276, 2), Array(476, 2), Array(493, 2), Array(494, 2), _
            Array(495, 2), Array(512, 2), Array(513, 2), Array(514, 2))
    ouvert = 1  'si le fichier est ouvert sous forme de classeur XLS
        Set NomDuFichierOuvert = ActiveWorkbook
        nomfichier = ActiveWorkbook.Name
        'enregistrement du nom de la feuille active dans une variable
        nomfeuille = ActiveSheet.Name
        'recherche de la valeur 'CAE' dans la colonne 'b'
        With Sheets(nomfeuille)
        dl = .Range("b" & Rows.Count).End(xlUp).Row
        Set a = .Range("B1:B" & dl).Find("JAL")
        'Emepeche le rafraichissement de l'écran, pour ne pas voir le traitement
        Application.ScreenUpdating = False
        If Not a Is Nothing Then
        'création d'une nouvelle feuille et on l'a renomme
        Sheets.Add After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = "Journaux"
        Sheets(nomfeuille).Select
        firstaddress = a.Address
        irow = 0
        'copie des lignes concerner
        Do While Not a Is Nothing
            irow = irow + 1
            Sheets("Journaux").Cells(irow, 1).Columns("A:BP").Value = a.EntireRow.Value
            Set a = .Range("B" & a.Row, "B" & dl).Find("JAL")
            If a.Address = firstaddress Then
              Exit Do
            End If
            If a Is Nothing Then
                Exit Do
            End If
            firstaddress = a.Address
         Loop
        End If
        Sheets("Journaux").Select
        Call LigneChampsJnal
        End With
        'copie de la feuille du nouveau classeur dans l'ancien et suppresion du nouveau
        Application.DisplayAlerts = False
        Sheets("Journaux").Select
        Sheets("Journaux").Copy After:=Workbooks("Essai.xls").Sheets(1)
        Windows(nomfichier).Close
        Windows("Essai.xls").Activate
        Application.DisplayAlerts = True
        Exit Sub
    End Sub

Discussions similaires

  1. Réponses: 13
    Dernier message: 28/11/2015, 13h39
  2. erreur avec une zone de liste deroulante
    Par MCarole dans le forum Access
    Réponses: 9
    Dernier message: 18/07/2006, 11h45
  3. [Javascript] liste deroulante sans bouton
    Par hi_vivie dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 14/06/2006, 17h53
  4. Zone de liste deroulante avec preselection précise
    Par dynexd dans le forum Access
    Réponses: 7
    Dernier message: 20/02/2006, 17h25
  5. modification contenu zone de liste deroulante
    Par Tierisa dans le forum Access
    Réponses: 12
    Dernier message: 23/09/2005, 00h06

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