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 :

Problème Listview classeur fermé


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien d'usinage
    Inscrit en
    Juillet 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien d'usinage

    Informations forums :
    Inscription : Juillet 2017
    Messages : 132
    Par défaut Problème Listview classeur fermé
    Bonjour à tous !
    tout d'abord je vous souhaite de bonne fête à tous !
    J'espère que le père noel va vous gâtez cette année

    Je vous explique mon problème, je travail dans une industrie ou on gère un planning, congé ...etc sur excel

    J'ai fait en VBA une listview qui fonctionne parfaitement !
    Je choisi le Mois dans un combobox et j'ai une listview qui apparait avec les congés des employés
    Je viens ouvrir un classeur d'une source autre que mon classeur actuel,
    Si je choisi le mois de Janvier, j'ai les congés de janvier, (c'est tout géré par page, une page janvier = 01 - 19 Février = 02 - 19 Etc)

    Donc je choisi ma combobox Janvier, TOUT FONCTIONNE,

    Juste le mois de Février qui ne fonctionne pas je ne sais pas pourquoi.

    Mon code pour alimenté ma Combobox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Initchoix()
    Me.Cbx_Mois.AddItem ("Janvier")
    Me.Cbx_Mois.AddItem ("Février")
    Me.Cbx_Mois.AddItem ("Mars")
    Me.Cbx_Mois.AddItem ("Avril")
    Me.Cbx_Mois.AddItem ("Mai")
    Me.Cbx_Mois.AddItem ("Juin")
    Me.Cbx_Mois.AddItem ("Juillet")
    Me.Cbx_Mois.AddItem ("Août")
    Me.Cbx_Mois.AddItem ("Septembre")
    Me.Cbx_Mois.AddItem ("Octobre")
    Me.Cbx_Mois.AddItem ("Novembre")
    Me.Cbx_Mois.AddItem ("Décembre")
    End Sub
    Une fois que je choisi le mois dans la combobox
    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
    Private Sub Cbx_Mois_Change()
    If Cbx_Mois = ("Décembre") Then
    Txt_Mois = ("12 - 19")
    Lbl_Mois = ("Décembre")
    End If
    If Cbx_Mois = ("Novembre") Then
    Txt_Mois = ("11 - 19")
    Lbl_Mois = ("Novembre")
    End If
    If Cbx_Mois = ("Octobre") Then
    Txt_Mois = ("10 - 19")
    Lbl_Mois = ("Octobre")
    End If
    If Cbx_Mois = ("Septembre") Then
    Txt_Mois = ("09 - 19")
    Lbl_Mois = ("Septembre")
    End If
    If Cbx_Mois = ("Août") Then
    Txt_Mois = ("08 - 19")
    Lbl_Mois = ("Août")
    End If
    If Cbx_Mois = ("Juillet") Then
    Txt_Mois = ("07 - 19")
    Lbl_Mois = ("Juillet")
    End If
    If Cbx_Mois = ("Juin") Then
    Txt_Mois = ("06 - 19")
    Lbl_Mois = ("Juin")
    End If
    If Cbx_Mois = ("Mai") Then
    Txt_Mois = ("05 - 19")
    Lbl_Mois = ("Mai")
    End If
    If Cbx_Mois = ("Avril") Then
    Txt_Mois = ("04 - 19")
    Lbl_Mois = ("Avril")
    End If
    If Cbx_Mois = ("Mars") Then
    Txt_Mois = ("03 - 19")
    Lbl_Mois = ("Mars")
    End If
    If Cbx_Mois = ("Février") Then
    Txt_Mois = ("02 - 19")
    Lbl_Mois = ("Février")
    End If
    If Cbx_Mois = ("Janvier") Then
    Txt_Mois = ("01 - 19")
    Lbl_Mois = ("Janvier")
    End If
    InitListView
    End Sub
    Suite a InitListView elle active ce code qui rempli ma listview
    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    Sub InitListView()
    '--Affiche quadrillage dans la ListView
    'ListView1.Gridlines = True
    'Gridlines.ForeColor = RGB(100, 0, 100)
    Dim m As Byte, i As Long, X As Long, k As Byte
    With ListView1
        '--Entête
        With .ColumnHeaders
           .Clear
           .Add , , "Nom", 70 'titre de la colonne et largeur et alignement
           .Add , , "Prénom", 70
           .Add , , "Poste", 65, lvwColumnCenter
           .Add , , "Equipes", 90
           .Add , , "1", 21
           .Add , , "2", 21
           .Add , , "3", 21
           .Add , , "4", 21
           .Add , , "5", 21
           .Add , , "6", 21
           .Add , , "7", 21
           .Add , , "8", 21
           .Add , , "9", 21
           .Add , , "10", 21
           .Add , , "11", 21
           .Add , , "12", 21
           .Add , , "13", 21
           .Add , , "14", 21
           .Add , , "15", 21
           .Add , , "16", 21
           .Add , , "17", 21
           .Add , , "18", 21
           .Add , , "19", 21
           .Add , , "20", 21
           .Add , , "21", 21
           .Add , , "22", 21
           .Add , , "23", 21
           .Add , , "24", 21
           .Add , , "25", 21
           .Add , , "26", 21
           .Add , , "27", 21
           .Add , , "28", 21
           .Add , , "29", 21
           .Add , , "30", 21
           .Add , , "31", 21
        End With
     .View = lvwReport
     .FullRowSelect = True
     .Gridlines = True
            ' Chargement des donn?es
     Dim Wb As Workbook
     Mois = Txt_Mois
    Chemin = "*:\*****\*******\********\********\*********\"
    fichier = "Tableau conges.xlsx" 'ici nom du fichier source
    Set Wb = GetObject(Chemin & fichier)
    For lig = 6 To Wb.Sheets(Mois).Range("B655").End(3).Row
    k = k + 1
        ListView1.ListItems.Add k, , Wb.Sheets(Mois).Cells(lig, 2)
        ListView1.ListItems(k).SubItems(1) = Wb.Sheets(Mois).Cells(lig, 3)
        ListView1.ListItems(k).SubItems(2) = Wb.Sheets(Mois).Cells(lig, 4)
        ListView1.ListItems(k).SubItems(3) = Wb.Sheets(Mois).Cells(lig, 5)
        ListView1.ListItems(k).SubItems(4) = Wb.Sheets(Mois).Cells(lig, 6)
        ListView1.ListItems(k).SubItems(5) = Wb.Sheets(Mois).Cells(lig, 7)
        ListView1.ListItems(k).SubItems(6) = Wb.Sheets(Mois).Cells(lig, 8)
        ListView1.ListItems(k).SubItems(7) = Wb.Sheets(Mois).Cells(lig, 9)
        ListView1.ListItems(k).SubItems(8) = Wb.Sheets(Mois).Cells(lig, 10)
        ListView1.ListItems(k).SubItems(9) = Wb.Sheets(Mois).Cells(lig, 11)
        ListView1.ListItems(k).SubItems(10) = Wb.Sheets(Mois).Cells(lig, 12)
        ListView1.ListItems(k).SubItems(11) = Wb.Sheets(Mois).Cells(lig, 13)
        ListView1.ListItems(k).SubItems(12) = Wb.Sheets(Mois).Cells(lig, 14)
        ListView1.ListItems(k).SubItems(13) = Wb.Sheets(Mois).Cells(lig, 15)
        ListView1.ListItems(k).SubItems(14) = Wb.Sheets(Mois).Cells(lig, 16)
        ListView1.ListItems(k).SubItems(15) = Wb.Sheets(Mois).Cells(lig, 17)
        ListView1.ListItems(k).SubItems(16) = Wb.Sheets(Mois).Cells(lig, 18)
        ListView1.ListItems(k).SubItems(17) = Wb.Sheets(Mois).Cells(lig, 19)
        ListView1.ListItems(k).SubItems(18) = Wb.Sheets(Mois).Cells(lig, 20)
        ListView1.ListItems(k).SubItems(19) = Wb.Sheets(Mois).Cells(lig, 21)
        ListView1.ListItems(k).SubItems(20) = Wb.Sheets(Mois).Cells(lig, 22)
        ListView1.ListItems(k).SubItems(21) = Wb.Sheets(Mois).Cells(lig, 23)
        ListView1.ListItems(k).SubItems(22) = Wb.Sheets(Mois).Cells(lig, 24)
        ListView1.ListItems(k).SubItems(23) = Wb.Sheets(Mois).Cells(lig, 25)
        ListView1.ListItems(k).SubItems(24) = Wb.Sheets(Mois).Cells(lig, 26)
        ListView1.ListItems(k).SubItems(25) = Wb.Sheets(Mois).Cells(lig, 27)
        ListView1.ListItems(k).SubItems(26) = Wb.Sheets(Mois).Cells(lig, 28)
        ListView1.ListItems(k).SubItems(27) = Wb.Sheets(Mois).Cells(lig, 29)
        ListView1.ListItems(k).SubItems(28) = Wb.Sheets(Mois).Cells(lig, 30)
        ListView1.ListItems(k).SubItems(29) = Wb.Sheets(Mois).Cells(lig, 31)
        ListView1.ListItems(k).SubItems(30) = Wb.Sheets(Mois).Cells(lig, 32)
        ListView1.ListItems(k).SubItems(31) = Wb.Sheets(Mois).Cells(lig, 33)
        ListView1.ListItems(k).SubItems(32) = Wb.Sheets(Mois).Cells(lig, 34)
        ListView1.ListItems(k).SubItems(33) = Wb.Sheets(Mois).Cells(lig, 35)
        ListView1.ListItems(k).SubItems(34) = Wb.Sheets(Mois).Cells(lig, 36)
    Next
    Wb.Close
    End With
    End Sub

    Quand je choisi Février, MA listview commence à s'alimenté et s'arrête en erreur "Erreur d'exécution 9, l'indice n'appartient pas à la sélection".
    sur cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For lig = 6 To Wb.Sheets(Mois).Range("B655").End(3).Row
    Si une personne a un avis

    Cordialement

  2. #2
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Bonjour

    As-tu remarqué que ton mois de "Février" est écrit "F?vrier" ? Il en va de même pour Décembre et Août.

    Bonne journée

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien d'usinage
    Inscrit en
    Juillet 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien d'usinage

    Informations forums :
    Inscription : Juillet 2017
    Messages : 132
    Par défaut
    Citation Envoyé par révèr Voir le message
    Bonjour

    As-tu remarqué que ton mois de "Février" est écrit "F?vrier" ? Il en va de même pour Décembre et Août.

    Bonne journée
    Je viens de voir c'est en collant les donnée sur le forum ca a enlever les accents je ne sais pas pourquoi, mais en soit il y a les accents je vais faire la modif

  4. #4
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Mon domaine de compréhension s'arrête ici ! J'avais juste remarqué cela... Bonne continuation à toi !

  5. #5
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 580
    Par défaut
    bonjour,
    tu confirme que tout fonctionne sauf le mois de février?

    janvier 31
    février 28/29
    mars 31
    avril 30

  6. #6
    Membre confirmé
    Homme Profil pro
    Technicien d'usinage
    Inscrit en
    Juillet 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien d'usinage

    Informations forums :
    Inscription : Juillet 2017
    Messages : 132
    Par défaut
    Citation Envoyé par Thumb down Voir le message
    bonjour,
    tu confirme que tout fonctionne sauf le mois de février?

    janvier 31
    février 28/29
    mars 31
    avril 30
    Oui absolument tout les mois qui vont en 30, 31 fonctionne

    Je sais absolument pas pourquoi

Discussions similaires

  1. [XL-2007] Problème fonction CountIfs sur plusieurs classeurs fermés
    Par Qril59 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/04/2013, 09h45
  2. [XL-2007] RechercheV sur classeur fermé - Problème de variable
    Par desv001a dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 28/03/2013, 13h16
  3. [XL-2010] Requete sur Classeur fermé, J’ai un problème avec un recordset
    Par Henri-gp dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/01/2013, 12h28
  4. [XL-2002] ListView et données dans Classeur fermé
    Par vaucluseimmo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/01/2010, 07h59
  5. [XL-2003] Problème Ecriture classeur fermé
    Par david_atx dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 31/07/2009, 17h37

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