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 :

alimenter combobox avec l'en-tête de colonne


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 27
    Par défaut
    Bonjour une nouvelle fois à tout le forum,

    je continue mon projet de planning petit à petit.
    J'ai un planning dans une feuille excel avec les numéros de semaine en en-tête de colonne (1 par semaine), et par ligne j'ai mes différentes opérations représentées par couleur de plage. Pour la consultation de ce classeur, j'utilise un USF avec différents combobox et je voudrais rapatrier dans les combobox les numéros de semaine de début et de fin d'opération dans chaque combobox.
    Par exemple, opération1 de couleur jaune commencant en A5 et finissant en A12,opération2 de couleur rouge commençant en A15 et finissant en A36, etc...
    Si A5 correspond à l'en-tête de colonne semaine N°5, je voudrais alimenter le commbobox1 avec le N°5, etc...

    Est-ce possible?

    Merci beaucoup de votre aide

    je joins une partie de mon code pour la saisie:

    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
    96
    97
    98
    99
    100
    101
    102
    Private Sub CommandButton2_Click()
     
    Workbooks("Etudes.xls").Activate
     
    Dim Arr(), a As Integer, Arr1(), A1 As Integer
    Arr = Array("combobox25")
    For a = 0 To UBound(Arr)
    If Me.Controls(Arr(a)) = "" Then
    MsgBox "Année d'enregistrement 'Planning Etudes' non choisie", vbOKOnly + vbCritical, " OUBLI "
    Me.Controls(Arr(a)).SetFocus
    Exit Sub
    End If
    Next
     
    Workbooks("Etudes.xls").Sheets(ComboBox25.Value).A ctivate
     
    Dim X As Long, Sem1 As Byte, Sem2 As Byte, Sem3 As Integer, Sem4 As Integer, Sem5 As Integer, Sem6 As Integer, _
    Sem7 As Integer, Sem8 As Integer, Sem9 As Integer, Sem10 As Integer, Sem11 As Integer, Sem12 As Integer, Sem13 As Integer, _
    Sem14 As Integer, Sem15 As Integer, Sem16 As Integer, Sem17 As Integer, Sem18 As Integer
     
    Sem1 = Me.ComboBox7
    Sem2 = Me.ComboBox8
    Sem3 = Me.ComboBox9
    Sem4 = Me.ComboBox10
    Sem5 = Me.ComboBox11
    Sem6 = Me.ComboBox12
    Sem7 = Me.ComboBox13
    Sem8 = Me.ComboBox14
    Sem9 = Me.ComboBox15
    Sem10 = Me.ComboBox16
    Sem11 = Me.ComboBox17
    Sem12 = Me.ComboBox18
    Sem13 = Me.ComboBox19
    Sem14 = Me.ComboBox20
    Sem15 = Me.ComboBox21
    Sem16 = Me.ComboBox22
     
    X = Range("A65536").End(xlUp).Row + 1
     
    Arr1 = Array("combobox1")
    For A1 = 0 To UBound(Arr1)
    If Me.Controls(Arr1(A1)) = "" Then
    MsgBox "Commune 'Planning Etudes' non spécifiée", vbOKOnly + vbExclamation, " ATTENTION "
    Me.Controls(Arr1(A1)).SetFocus
    Exit Sub
    End If
    Next
     
    Range("A" & X).Value = ComboBox1.Value
    Range("B" & X).Value = ComboBox2.Value
    Range("C" & X).Value = TextBox1.Value
    Range("D" & X).Value = ComboBox3.Value
    Range("E" & X).Value = ComboBox5.Value
    Range("F" & X).Value = ComboBox6.Value
    Range("G" & X).Value = TextBox2.Value
    Range("H" & X).Value = TextBox3.Value
    Range("I" & X).Value = ComboBox4.Value
     
    If (Sem1 + Sem2) = 0 Then
    GoTo c1
    Else
    Range(Cells(X, Sem1 + 9), Cells(X, Sem2 + 9)).Interior.ColorIndex = 4
    End If
    c1: If (Sem3 + Sem4) = 0 Then
    GoTo c2
    Else
    Range(Cells(X, Sem3 + 9), Cells(X, Sem4 + 9)).Interior.ColorIndex = 8
    End If
    c2: If (Sem5 + Sem6) = 0 Then
    GoTo c3
    Else
    Range(Cells(X, Sem5 + 9), Cells(X, Sem6 + 9)).Interior.ColorIndex = 43
    End If
    c3: If (Sem7 + Sem8) = 0 Then
    GoTo c4
    Else
    Range(Cells(X, Sem7 + 9), Cells(X, Sem8 + 9)).Interior.ColorIndex = 3
    End If
    c4: If (Sem9 + Sem10) = 0 Then
    GoTo c5
    Else
    Range(Cells(X, Sem9 + 9), Cells(X, Sem10 + 9)).Interior.ColorIndex = 38
    End If
    c5: If (Sem11 + Sem12) = 0 Then
    GoTo c6
    Else
    Range(Cells(X, Sem11 + 9), Cells(X, Sem12 + 9)).Interior.ColorIndex = 6
    End If
    c6: If (Sem13 + Sem14) = 0 Then
    GoTo c7
    Else
    Range(Cells(X, Sem13 + 9), Cells(X, Sem14 + 9)).Interior.ColorIndex = 7
    End If
    c7: If (Sem15 + Sem16) = 0 Then
    GoTo fin
    Else
    Range(Cells(X, Sem15 + 9), Cells(X, Sem16 + 9)).Interior.ColorIndex = 10
    End If
     
    fin: MsgBox " Enregistrement des données ETUDES effectué ", vbOKOnly + vbInformation, " Fin de la saisie affichée "
     
    End Sub
    Quelqu'un a-t-il une idée à me proposer, merci

  2. #2
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    est ce que tu pourrais joindre ton projet stp pour plus de clareté ?

    Sinon, je pense pas que le switch case avec 52 cases et autant de variable soit la bonne méthode.
    Je m'orienterai plus vers une boucle qui parcourre toute les cellules d'en tete de ta feuille.

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 27
    Par défaut Bonjour Nako Lito
    La partie de mon projet jointe au-dessus correspond à la saisie des infos pour remplir un classeur de planning, et cette partie fonctionne sans problème.
    Comme c'est un planning pour mon boulot qui concerne pas mal de monde, au fur et à mesure de l'avancé on me demande des modifications ou des ajouts. Donc actuellement, c'est plutôt brouillon dans l'écriture avec toutes les modifs.
    Mon classeur avec mes données et mon USF fait 900Ko et mes classeurs de planning 4.5 Mo.
    Que voudrais-tu pour mieux comprendre ce que je fait?
    J'ai un USF avec un onglet saisie dans lequel on rentre toutes les données avec différents contrôles (listbox, combobox, textbox, dtpicker) qui fonctionne, et un autre onglet qui va me permettre de rapatrier les données des classeurs dans d'autres contrôles pour consulter ces plannings et éventuellemnt les modifier.
    Il ne me manque plus que l'information de plage à ramener dans des combobox.
    Chaque planning par activité est représenté par ligne et plage de couleur. Il peut y avoir plusieurs plage de couleurs correspondant à plusieurs activités.
    Comment faire pour remplir un combobox avec l'en-tête de colonne correspondant au début de la 1° plage de couleur, un autre combobox rempli lui par l'autre en-tête correspondant à la fin de la plage de couleur, et ainsi de suite.
    Merci de ton aide.

  4. #4
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    justement pour savoir comment la feuille ou tu veux récup les infos est harchitecturée et mieux comprendre ou est ce que tu veux allé pecher les infos.

    Ensuite pour ce qui est du code... bah vu ce que tu as posté, on est en droit de demander le projet pour voir si y'a pas possibilité de reprendre certain trucs, par ce que c'est pas vraiment optimisé.

  5. #5
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 27
    Par défaut Bonjour Nako Lito
    j'ai réduit le plus que je pouvais mes classeurs et mon code pour l'envoyer et qu'il soit utilisable.
    Je suis novice et il y a certainement des erreurs, mais ça fonctionne et je suis bloqué pour le rapatriement des numéros de semaine pour consultation.
    Mon usf se lance avec le classeur planning.
    je l'ai divisé en 2 usf alors que j'avais 2 onglets pour pouvoir le joindre.
    merci beaucoup pour ton aide.
    Fichiers attachés Fichiers attachés

  6. #6
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 27
    Par défaut remplir combobox avec le nom de la colonne
    Bonjour,
    j'ai modifié mes fichiers joints où j'avais supprimer trop de choses, si bien que j'avais des erreurs au lancement, c'est rétabli.
    Mais je bloque toujours sur ce problème de colonne et de couleurs.
    Quelqu'un a-t-il une idée à me donner?
    Merci d'avance
    Fichiers attachés Fichiers attachés

  7. #7
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 27
    Par défaut déterminer l'en-tête de colonne d'une plage de couleur
    Bonjour à tout le forum,

    Je ne trouve toujours pas le moyen de faire avancer mon projet, si quelqu'un a une idée je suis preneur.

    Merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/05/2012, 19h14
  2. [XL-2010] Alimenter un ComboBox avec le contenu d'une colonne d'un fichier xls externe
    Par cryptoboss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/05/2012, 15h56
  3. Réponses: 11
    Dernier message: 18/12/2009, 14h46
  4. [XL-2003] Alimenter Combobox avec résultat recherche
    Par lafafmentvotre dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 15/11/2009, 17h52
  5. Alimenter combobox avec un noeud de fichier XML
    Par skunkies dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/03/2009, 12h16

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