Remplir ligne par ligne selon choix dans une liste déroulante

Résolu/Fermé
Sof2015 Messages postés 7 Date d'inscription lundi 2 février 2015 Statut Membre Dernière intervention 9 juillet 2016 - Modifié par Sof2015 le 6/07/2016 à 22:20
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 9 juil. 2016 à 07:47
Bonjour forum

Je souhaite après avoir choisi un élément dans un Combobox d'un formulaire, d'insérer l'élément choisi par un clic sur le commandbutton vers une cellule d'une feuille, cela je sais le faire. Le problème je n'arrive pas à insérer l'élément disant dans la cellule "C2" qui est une cellule vide et la référence de départ. puis après insertion de la valeur, si je refais un autre choix dans la combo cette fois-ci c'est la cellule "C3" qui doit prendre la valeur de mon choix, et ainsi de suite ... Donc : 1ère cellule rempli = 1er choix + 1er clic, 2ème cellule rempli = 2ème choix + 2ème clic et ainsi de suite pour les autres cellule...

J'espère d'avoir été assez clair !

Merci d'avance de votre précieuse aide

une vision sans action n'est qu'une illusion, une action sans une vision n'est qu'une pure folie 
A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
7 juil. 2016 à 08:58
Bonjour

pour trouver la 1° ligne vide sous C1 qui ne doit pas ^tre vide:

Ligvide=Columns("C").find("",range("C1")).row
cells(ligvid,"C")=lecombo
0
Sof2015 Messages postés 7 Date d'inscription lundi 2 février 2015 Statut Membre Dernière intervention 9 juillet 2016
9 juil. 2016 à 06:54
Salut michel
Merci beaucoup pour ton aide. J'ai mis un intitulé dans la cellule "C1" de ma feuille active, donc je voulais que dès que je fais un choix dans ma combo de mon Formulaire, après un clic sur un commandbutton; l'élément choisi soit inséré à partir de la cellule "C2", bis, ter répitita, lorsque je change de choix et que l'élément suivant soit inséré dans la cellule "C3" et ainsi de suite. Très bien ! Je vais faire un test et je te ferai un signe.

Merci beaucoup pour ton aide, respect !

@+
0
Sof2015 Messages postés 7 Date d'inscription lundi 2 février 2015 Statut Membre Dernière intervention 9 juillet 2016
9 juil. 2016 à 07:20
Resalut michel

Super c'est ce que je cherchais ... Merci infiniment !

Juste une autre question Michel, concernant l'utilisation des méthode ou fonction VBA. Dis-moi, la méthode "Offset" est-ce-qu'elle permet de se déplacer d'une ligne à plusieurs lignes à la fois d'une part et peut-on faire déplacer l'encadrer de " l'ActiveCell " d'autre part; Et pour la méthode " Selection " peut-elle avoir une fonction d'objet.

En tout cas Merci beaucoup pour ton aide ... Gloire à ceux qui partagent les valeurs d'humanité et le savoir...

@+
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
9 juil. 2016 à 07:47
Bonjour
Gloire à ceux qui partagent les valeurs d'humanité et le savoir...

N'exagérons pas quand m^me§.... :o)

offset ne déplace pas cellule mais donne la valeur donnée par les arguments de l'offset

en C2 j'ai "zaza"
Si la cellule active est A1
xxx=activecell.offset(1,2)
msgbox xxx indique "zaza"
la cellule active reste A1

"Selection" est une propriété qui renvoie l'objet sélectionné par "select":
Select-Selection est à éviter en VBA car particulèrement lourd et lent

Tiré de l'aide en ligne
Sub Macro1()
Sheets("Sheet1").Select
Range("A1").Select
ActiveCell.FormulaR1C1 = "Name"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Address"
Range("A1:B1").Select
Selection.Font.Bold = True
End Sub

L'exemple suivant accomplit la même tâche sans activer ni sélectionner la feuille de calcul ou les cellules.

Sub Labels()
With Worksheets("Sheet1")
.Range("A1") = "Name"
.Range("B1") = "Address"
.Range("A1:B1").Font.Bold = True
End With
End Sub
0