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

Résolu/Fermé
Signaler
Messages postés
7
Date d'inscription
lundi 2 février 2015
Statut
Membre
Dernière intervention
9 juillet 2016
-
Messages postés
16537
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 novembre 2021
-
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 

1 réponse

Messages postés
16537
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 novembre 2021
3 249
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
Messages postés
7
Date d'inscription
lundi 2 février 2015
Statut
Membre
Dernière intervention
9 juillet 2016

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 !

@+
Messages postés
7
Date d'inscription
lundi 2 février 2015
Statut
Membre
Dernière intervention
9 juillet 2016

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...

@+
Messages postés
16537
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 novembre 2021
3 249
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