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 :

Envoyer les données d'une listbox multisélection dans une cellule excel et format date [XL-365]


Sujet :

Macros et VBA Excel

  1. #21
    Membre averti
    Homme Profil pro
    Formateur et Consultant Moodle et Excel
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Formateur et Consultant Moodle et Excel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut
    Bonjour.
    J'ai modifié en utilisant type_financement1_Change.
    la messagebox apparaît mais n'affiche rien d'autre que ><. En cliquant sur OK apparait le message erreur 94 utilisation incorrecte de null

  2. #22
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 104
    Par défaut
    Hello,

    ce qui veut dire que "Me.type_financement1" ne contient rien car il devrait afficher
    > qqchose <
    avec le code de Philippe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ">" & Me.type_financement1 & "<"
    A mon humble avis, si vous voulez que l'on vous aide à déboguer votre code il faudrait poster le classeur complet avec des données anonymisées

  3. #23
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 134
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    la messagebox apparaît mais n'affiche rien d'autre que ><. En cliquant sur OK apparait le message erreur 94 utilisation incorrecte de null
    C'est la raison pour laquelle cela ne fonctionne pas correctement puisque pour que le Frame soit visible, il faut qu'il y ait comme valeur "Financement France VAE".
    Soit la propriété de l'objet n'est pas la bonne soit il y a une autre problème de conception. Personnellement, je n'ai pas le temps de regarder tout votre code
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #24
    Membre averti
    Homme Profil pro
    Formateur et Consultant Moodle et Excel
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Formateur et Consultant Moodle et Excel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut
    Citation Envoyé par Nain porte koi Voir le message
    Hello,


    A mon humble avis, si vous voulez que l'on vous aide à déboguer votre code il faudrait poster le classeur complet avec des données anonymisées
    Voici le fichier
    Fichiers attachés Fichiers attachés

  5. #25
    Membre averti
    Homme Profil pro
    Formateur et Consultant Moodle et Excel
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Formateur et Consultant Moodle et Excel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    C'est la raison pour laquelle cela ne fonctionne pas correctement puisque pour que le Frame soit visible, il faut qu'il y ait comme valeur "Financement France VAE".
    Soit la propriété de l'objet n'est pas la bonne soit il y a une autre problème de conception. Personnellement, je n'ai pas le temps de regarder tout votre code
    Bonjour.
    Merci du temps que vous avez pris

  6. #26
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 486
    Par défaut
    Bonjour,
    le résultat attendu n'est pas correct puisque le frame finacemnt n'est jamais invisible. type_financement1 est une listbox.
    Il faut apprendre à être précis dans vos commentaires. En fait c'est une zone de liste modifiable.
    La frame financemnt n'apparaît pas plus.
    Pour que'elle apparaisse vous devez modifier la procédure ReadRecord comme suit :
    Code : 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
    Private Sub ReadRecord(ByVal RecordNumber As Long)
        ' Lecture de l'enregistrement
        RecordNumber = RecordNumber + 1
        With rng
     
            Me.Ref = Format(.Cells(RecordNumber, 1), "R000")
            Me.Nom1 = .Cells(RecordNumber, 2)
            Me.prenom1 = .Cells(RecordNumber, 3)
            Me.email1 = .Cells(RecordNumber, 4)
            Me.adresse1 = .Cells(RecordNumber, 5)
            Me.code1 = Format(.Cells(RecordNumber, 6), "00 000")
            Me.statut1 = .Cells(RecordNumber, 7)
            Me.num_demandeur_emploi1 = Format(.Cells(RecordNumber, 8), "0000000@")
            'Me.type_financement1.Value = getFinancement(.Cells(RecordNumber, 9))
            Me.type_financement1.Value = .Cells(RecordNumber, 9)
            Me.suivi_etape1 = .Cells(RecordNumber, 10)
            Me.remarque1 = .Cells(RecordNumber, 11)
            Me.diplome1 = .Cells(RecordNumber, 12)
            Me.date_contact1 = Format(.Cells(RecordNumber, 13), "dd/mm/yyyy")
            Me.date_faisabilite1 = Format(.Cells(RecordNumber, 14), "dd/mm/yyyy")
            Me.accord_faisabilite1 = Format(.Cells(RecordNumber, 15), "dd/mm/yyyy")
            Me.kairos1 = Format(.Cells(RecordNumber, 16), "dd/mm/yyyy")
            Me.demande_afgsu1 = Format(.Cells(RecordNumber, 17), "dd/mm/yyyy")
            Me.date_session_afgsu1 = Format(.Cells(RecordNumber, 18), "dd/mm/yyyy")
            Me.demande_financement1 = Format(.Cells(RecordNumber, 19), "dd/mm/yyyy")
            Me.financement1 = Format(.Cells(RecordNumber, 20), "dd/mm/yyyy")
            Me.date_RDV1 = Format(.Cells(RecordNumber, 21), "dd/mm/yyyy")
            Me.date_prev_depot1 = Format(.Cells(RecordNumber, 22), "dd/mm/yyyy")
            Me.date_RDV2 = Format(.Cells(RecordNumber, 23), "dd/mm/yyyy")
            Me.date_RDV3 = Format(.Cells(RecordNumber, 24), "dd/mm/yyyy")
            Me.date_RDV4 = Format(.Cells(RecordNumber, 25), "dd/mm/yyyy")
            Me.date_RDV5 = Format(.Cells(RecordNumber, 26), "dd/mm/yyyy")
            Me.date_RDV6 = Format(.Cells(RecordNumber, 27), "dd/mm/yyyy")
            Me.date_RDV7 = Format(.Cells(RecordNumber, 28), "dd/mm/yyyy")
            Me.date_RDV8 = Format(.Cells(RecordNumber, 29), "dd/mm/yyyy")
            Me.date_RDV9 = Format(.Cells(RecordNumber, 30), "dd/mm/yyyy")
            Me.date_RDV10 = Format(.Cells(RecordNumber, 31), "dd/mm/yyyy")
            Me.date_RDV11 = Format(.Cells(RecordNumber, 32), "dd/mm/yyyy")
            Me.date_RDV12 = Format(.Cells(RecordNumber, 33), "dd/mm/yyyy")
            Me.date_RDV13 = Format(.Cells(RecordNumber, 34), "dd/mm/yyyy")
            Me.date_RDV14 = Format(.Cells(RecordNumber, 35), "dd/mm/yyyy")
            Me.date_RDV15 = Format(.Cells(RecordNumber, 36), "dd/mm/yyyy")
            Me.date_RDV16 = Format(.Cells(RecordNumber, 37), "dd/mm/yyyy")
            Me.date_RDV17 = Format(.Cells(RecordNumber, 38), "dd/mm/yyyy")
            Me.date_RDV18 = Format(.Cells(RecordNumber, 39), "dd/mm/yyyy")
            Me.date_depot1 = Format(.Cells(RecordNumber, 40), "dd/mm/yyyy")
            Me.date_facture1 = Format(.Cells(RecordNumber, 41), "dd/mm/yyyy")
            Me.date_jury1 = Format(.Cells(RecordNumber, 42), "dd/mm/yyyy")
            Me.post_jury1 = Format(.Cells(RecordNumber, 43), "dd/mm/yyyy")
     
     
            Me.frmMember.Caption = "Fiche " & Format(RecordNumber, "R000")
            finacemnt.Visible = (type_financement1.Value = "Financement France VAE") Or (UserFormStatus = Status.Modify)
        End With
    End Sub
    Et dans la procédure OpositeStatus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub OppositeStatus()
        ' Inverse la valeur booléenne des boutons d'action
        ' Modifie la propriété Caption du UserForm
        With Me
            .cboCandidat.Enabled = Not .cboCandidat.Enabled
            .frmMember.Enabled = Not .frmMember.Enabled
            .frmAction.Visible = Not .frmAction.Visible
            .frmConfirm.Visible = Not .frmConfirm.Visible
            .cmdExit.Visible = Not .cmdExit.Visible
            .frmNavigation.Visible = Not .frmNavigation.Visible
            If .cboCandidat.Enabled = True Then UserFormStatus = Status.Consultation ' Consultation
            usfTitle                                 ' Titre du UserForm
            finacemnt.Visible = (type_financement1.Value = "Financement France VAE") Or (UserFormStatus = Status.Modify)
        End With
    End Sub

  7. #27
    Membre averti
    Homme Profil pro
    Formateur et Consultant Moodle et Excel
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Formateur et Consultant Moodle et Excel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut
    [QUOTE=Valtrase;12055773]Bonjour,

    Il faut apprendre à être précis dans vos commentaires. En fait c'est une zone de liste modifiable.

    En fait, il y a deux choses :
    - type_financement1 est une zone de liste modifiable, qui doit toujours apparaître
    - la frame finacemnt contient deux champs de date (demande et accord) mais elle ne doit apparaître que pour un seul type de financement, le financement par France VAE, pour les autres types de financement, elle n'est pas pertinente

  8. #28
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 486
    Par défaut
    Re,
    Bon nous ne devons pas avoir le même fichier alors.
    Sur celui fournis type_financement1 fait parti du cadre finacemnt,(qui pourrait être nommée explicitement).
    Pièce jointe 661796

    Donc, si vous voulez que la zone de liste déroulante soit toujours visible :
    • Soit elle ne fait pas partie de ce cadre (Si vous cacher le cadre les contrôles contenus seront cachés aussi).
    • Soit vous devez agir sur la visibilité des contrôles demande_financement1, financement1 et leurs étiquettes respectives.

    Bonne programmation.

  9. #29
    Membre averti
    Homme Profil pro
    Formateur et Consultant Moodle et Excel
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Formateur et Consultant Moodle et Excel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut
    J'ai enfin réussi quelque chose, en utilisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub type_financement1_change()
    If Me.type_financement1.Selected(3) Then Me.finacemnt.Visible = True
    End Sub
    et dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub OppositeStatus()
     ' Inverse la valeur booléenne des boutons d'action
     ' Modifie la propriété Caption du UserForm
     With Me
     .cboCandidat.Enabled = Not .cboCandidat.Enabled
     .frmMember.Enabled = Not .frmMember.Enabled
     .frmAction.Visible = Not .frmAction.Visible
     .frmConfirm.Visible = Not .frmConfirm.Visible
      .cmdExit.Visible = Not .cmdExit.Visible
     .frmNavigation.Visible = Not .frmNavigation.Visible
      If .cboCandidat.Enabled = True Then UserFormStatus = Status.Consultation ' Consultation
      usfTitle ' Titre du UserForm
      .finacemnt.Visible = Me.type_financement1.Selected(3)
     End With
    End Sub
    Il reste une imperfection : lorsque je modifie le type de financement, alors que celui précédemment sélectionné était le troisième de la liste (Financement France VAE), cela ne fait pas disparaître le frame finacemnt

  10. #30
    Membre averti
    Homme Profil pro
    Formateur et Consultant Moodle et Excel
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Formateur et Consultant Moodle et Excel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 25

  11. #31
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 486
    Par défaut
    Re, Je vous ai donné les réponse dans le post #26, vous ne lisez pas ?
    Private Sub type_financement1_change()
    If Me.type_financement1.Selected(3) Then Me.finacemnt.Visible = True
    End Sub
    Ceci ne peut fonctionner qu'a moitié. Lisez les posts de Philippe Tulliez à se sujet.
    Si vous voulez utiliser l'index plutôt que la valeur, la bonne syntaxe devrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub type_financement1_change()
        finacemnt.Visible = (type_financement1.ListIndex = 3)
    End Sub
    De même :
    Code : 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
    Sub OppositeStatus()
     ' Inverse la valeur booléenne des boutons d'action
     ' Modifie la propriété Caption du UserForm
     With Me
     .cboCandidat.Enabled = Not .cboCandidat.Enabled
     .frmMember.Enabled = Not .frmMember.Enabled
     .frmAction.Visible = Not .frmAction.Visible
     .frmConfirm.Visible = Not .frmConfirm.Visible
      .cmdExit.Visible = Not .cmdExit.Visible
     .frmNavigation.Visible = Not .frmNavigation.Visible
      If .cboCandidat.Enabled = True Then UserFormStatus = Status.Consultation ' Consultation
      usfTitle ' Titre du UserForm
      finacemnt.Visible = (type_financement1.ListIndex = 3)
     End With
    End Sub

  12. #32
    Membre averti
    Homme Profil pro
    Formateur et Consultant Moodle et Excel
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Formateur et Consultant Moodle et Excel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut Problème de date
    Bonjour.
    Merci pour la solution précedente.
    J'ai un nouveau problème, lié au format des dates. C'est visiblement un problème classique mais je n'ai pas réussi. en effet lorsque le jour est égal ou inférieur à 12 cela me met la date américaine et non la date française, ainsi le 09/10/24 deviens 10/09/24, ce qui est un vrai problème.
    Deuxième problème, certaines dates sont transférer dans la feuille sous forme de texte et excel ne les reconnait pas comme des nombres.
    Pour essayer de résoudre ces problèmes j'ai essayé de faire apparaître un calendrier à chaque clic pour ajouter une date dans le formulaire (le seul essai est sur date premier contact) mais je ne parviens pas à le faire fonctionner...

    Voici le fichier actuelsuivi candidats avec financement - Copie.xlsm

  13. #33
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 486
    Par défaut
    Bonjour,
    Cela vous arrive t-il de compiler le projet ?
    J'ai abandonné au bout de la quatrième correction.

    La moindre des chose c'est de fournir un classeur opérationnel, je pense. Sinon comment voulez-vous que l'on vous aide.

  14. #34
    Membre averti
    Homme Profil pro
    Formateur et Consultant Moodle et Excel
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Formateur et Consultant Moodle et Excel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut
    Citation Envoyé par Valtrase Voir le message
    Bonjour,
    Cela vous arrive t-il de compiler le projet ?
    Bonjour
    Je ne vois pas ce que signifie compiler, dans ce cadre.
    Je partage régulièrement le fichier pour tenir compte des différentes corrections apportées au fur et à mesure mais j'ai l'impression que les fichiers attachés ne s'affichent pas ou ne sont pas proposés.
    Je fais un nouvel essai de partage de fichier à jour.suivi candidats avec financement - Copie.xlsm

  15. #35
    Membre averti
    Homme Profil pro
    Formateur et Consultant Moodle et Excel
    Inscrit en
    Juin 2019
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Formateur et Consultant Moodle et Excel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 25
    Par défaut Problèmes résolus
    Bonjour
    J'ai enfin réglé tous les problèmes : dates, affichage de la frame finacemnt. Concernant les dates, j'utilise désormais un calendrier.

    Voici le fichier, pour ceux qui veulent le récupérer suivi candidats avec financement - Copie.xlsm

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Envoyer les valeurs d'une LISTBOX dans une feuille excel
    Par pavlina13 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 30/01/2017, 16h43
  2. Réponses: 14
    Dernier message: 11/07/2015, 17h12
  3. Faire clignoter les textes d'une cellule Excel avec Perl
    Par lauvydream dans le forum Langage
    Réponses: 4
    Dernier message: 11/06/2014, 14h06
  4. Retourner les coordonnées d'une cellule excel
    Par boboch dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 23/11/2011, 19h53
  5. Envoyer les résultats d'une requête dans un DBCombobox
    Par alphonse62 dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/02/2008, 09h42

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