XL 2013 Afficher valeurs jusqu'à la dernière cellule d'une colonne dans ComboBox

Claggan

XLDnaute Nouveau
Bonjour,

J'aurais besoin de vos lumières pour mon problème, j'ai un fichier dans lequel une personne demande, à l'aide d'un formulaire, une intervention pour tel ou tel problème qu'il rencontre dans son travail.
Les interventions sont alors renseignées automatiquement, après envoi du formulaire, dans le fichier et un numéro d'intervention se créé en fonction de l'indice de la ligne créée.

J'aimerais, au travers d'un deuxième formulaire appelé "envoyer", permettre à une personne de sélectionner le n° d'intervention de son choix dans un Combobox1 et le destinataire dans le Combobox2 (pour cette partie j'ai déjà un module avec envoi de mail donc pas de soucis).

Le principal obstacle est d'arriver à afficher dans la liste du Combobox1, les numéros des interventions déjà renseignées. Je voudrais donc arriver à écrire Combobox1.List () = Feuil1.[A5: dernière ligne non vide de la colonne A].

Voici le code que j'ai tapé mais qui visiblement bloque au niveau de la ligne 6 :
VB:
Sub envoi()

With envoyer
Dim lig As Long
      lig = Range("A" & Rows.Count).End(xlUp).Row
.ComboBox1.List() = Feuil1.[A5:lig].Value
.ComboBox2.List() = Feuil3.[H2:H11].Value
.Show
End With
End Sub

Si vous avez des pistes je suis preneur !

Merci d'avance
 

Claggan

XLDnaute Nouveau
Bonjour à vous,

Malheureusement aucune de vos deux propositions ne fonctionne :/

En cliquant sur le bouton d’exécution de la macro, j'ai le message "Erreur d'exécution '9' : L'indice n'appartient pas à la sélection"
Et en passant sur la ligne en surbrillance, j'ai le message ".Combobox1.list()=Null"

Le fait que les sources de la combobox1 et de la combobox2 soient sur deux feuilles différentes ne change rien ?

Cordialement
 

Claggan

XLDnaute Nouveau
En effet c'est là qu'il y avait le problème ... la Feuil1 s'appelle "Liste", j'ai donc remplacé et la macro fonctionne, merci ! Par contre dans la Combobox1 il y a des cellules vides, comment faire pour n'afficher que les numéros ?
Je pense qu'il peut y avoir un souci avec la façon dont les lignes s'incrémentent et la façon dont la macro vérifie la dernière ligne :
Dans ma Feuil1 ("Liste"), j'ai une formule dans les cellules en colonne A : "=SI(ESTVIDE(B5);"";LIGNE(B5)-4)".

Est-ce que la macro considère "" comme étant une valeur ? Dans ce cas il va falloir que je trouve un moyen d'incrémenter autrement.

Cordialement
 

patricktoulon

XLDnaute Barbatruc
bonjour a tous
ComboBox1.RowSource = "Feuil1!A5:A" & lig NO, NINE, NON,pas du tout,rien, absolument pas ,etc.....

ComboBox1.list = sheets("Liste").range("A5:A" & lig ).value

burk rowsource burk !!!

rows source on l'utilise pour une plage fixe!!!, pour une plage dynamique ou dimentionnée on utilise ".list=laPlageDeCellule.value"
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Moi, s'il ne peut pas y avoir de tableau à références structurées couvrant la plage, j'aurais mis :
VB:
Me.ComboBox1.List = Feuil1.[A5].Resize(Feuil1.[A1000000].End(xlUp).Row - 4).Value
Feuil1 étant supposé le nom de l'objet Worksheet représentant la feuille concernée, quel que soit son nom Excel.
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 870
dernier inscrit
Dethomas