OVH Cloud OVH Cloud

Userform

17 réponses
Avatar
Fabieg
Bonjour,
j'ai crée un masque de saisie sous vba (pour l'instant sans les codes justes
les boites) et je voulais savoir pour que les résultats s'affichent dans une
nouvelle page organisé comment je fais, je dois créer une nouvelle feuille
sous vba?
J'ai dans mon fichier source une colonne qui s'appelle action avec plusieurs
types d'actions qui reviennent (coktail, soirée...), j'ai crée sous vba une
liste modifiable (cboType) comment je fais pour remplir ma liste quel est le
code vba?
Merci d'avance pour votre aide.
Cordialement

10 réponses

1 2
Avatar
Daniel
Bonjour.
Si j'ai bien compris, pour remplir ta liste d'après une plage de cellules :
ComboBox1.RowSource = "Feuil1!A1:A10"
Pour afficher le résultat de la zone de liste :
Range("Feuil2!A1") = ComboBox1.Value
dans le code d'un bouton, par exemple.
Cordialement.
Daniel
"Fabieg" a écrit dans le message de news:

Bonjour,
j'ai crée un masque de saisie sous vba (pour l'instant sans les codes
justes
les boites) et je voulais savoir pour que les résultats s'affichent dans
une
nouvelle page organisé comment je fais, je dois créer une nouvelle feuille
sous vba?
J'ai dans mon fichier source une colonne qui s'appelle action avec
plusieurs
types d'actions qui reviennent (coktail, soirée...), j'ai crée sous vba
une
liste modifiable (cboType) comment je fais pour remplir ma liste quel est
le
code vba?
Merci d'avance pour votre aide.
Cordialement


Avatar
fabieg
Merci, par contre il y a des valeurs qui reviennent plusieurs fois, comment
éviter les doublons dans la liste déroulante?
"Daniel" a écrit dans le message de news:
u8cIn%
Bonjour.
Si j'ai bien compris, pour remplir ta liste d'après une plage de cellules
:
ComboBox1.RowSource = "Feuil1!A1:A10"
Pour afficher le résultat de la zone de liste :
Range("Feuil2!A1") = ComboBox1.Value
dans le code d'un bouton, par exemple.
Cordialement.
Daniel
"Fabieg" a écrit dans le message de
news:
Bonjour,
j'ai crée un masque de saisie sous vba (pour l'instant sans les codes
justes
les boites) et je voulais savoir pour que les résultats s'affichent dans
une
nouvelle page organisé comment je fais, je dois créer une nouvelle
feuille
sous vba?
J'ai dans mon fichier source une colonne qui s'appelle action avec
plusieurs
types d'actions qui reviennent (coktail, soirée...), j'ai crée sous vba
une
liste modifiable (cboType) comment je fais pour remplir ma liste quel est
le
code vba?
Merci d'avance pour votre aide.
Cordialement






Avatar
Daniel
Dans ce cas, utilise la méthode "additem" pour remplir la liste :
Private Sub UserForm_Initialize()
Dim c As Range
Range("A1:A10").Select
For Each c In Selection
If WorksheetFunction.CountIf(Selection, c.Value) = 1 Then
ComboBox1.AddItem c.Value
End If
Next c
End Sub

"fabieg" a écrit dans le message de news:
%23Fx8%
Merci, par contre il y a des valeurs qui reviennent plusieurs fois,
comment éviter les doublons dans la liste déroulante?
"Daniel" a écrit dans le message de news:
u8cIn%
Bonjour.
Si j'ai bien compris, pour remplir ta liste d'après une plage de cellules
:
ComboBox1.RowSource = "Feuil1!A1:A10"
Pour afficher le résultat de la zone de liste :
Range("Feuil2!A1") = ComboBox1.Value
dans le code d'un bouton, par exemple.
Cordialement.
Daniel
"Fabieg" a écrit dans le message de
news:
Bonjour,
j'ai crée un masque de saisie sous vba (pour l'instant sans les codes
justes
les boites) et je voulais savoir pour que les résultats s'affichent dans
une
nouvelle page organisé comment je fais, je dois créer une nouvelle
feuille
sous vba?
J'ai dans mon fichier source une colonne qui s'appelle action avec
plusieurs
types d'actions qui reviennent (coktail, soirée...), j'ai crée sous vba
une
liste modifiable (cboType) comment je fais pour remplir ma liste quel
est le
code vba?
Merci d'avance pour votre aide.
Cordialement










Avatar
fabieg
Merci par contre juste un détail je marque ou le nom de la page sur laquelle
ça se réfère car la ça fonctionne que si c'est la bonne feuille qui est
ouverte...
"Daniel" a écrit dans le message de news:
uJYW$
Dans ce cas, utilise la méthode "additem" pour remplir la liste :
Private Sub UserForm_Initialize()
Dim c As Range
Range("A1:A10").Select
For Each c In Selection
If WorksheetFunction.CountIf(Selection, c.Value) = 1 Then
ComboBox1.AddItem c.Value
End If
Next c
End Sub

"fabieg" a écrit dans le message de news:
%23Fx8%
Merci, par contre il y a des valeurs qui reviennent plusieurs fois,
comment éviter les doublons dans la liste déroulante?
"Daniel" a écrit dans le message de news:
u8cIn%
Bonjour.
Si j'ai bien compris, pour remplir ta liste d'après une plage de
cellules :
ComboBox1.RowSource = "Feuil1!A1:A10"
Pour afficher le résultat de la zone de liste :
Range("Feuil2!A1") = ComboBox1.Value
dans le code d'un bouton, par exemple.
Cordialement.
Daniel
"Fabieg" a écrit dans le message de
news:
Bonjour,
j'ai crée un masque de saisie sous vba (pour l'instant sans les codes
justes
les boites) et je voulais savoir pour que les résultats s'affichent
dans une
nouvelle page organisé comment je fais, je dois créer une nouvelle
feuille
sous vba?
J'ai dans mon fichier source une colonne qui s'appelle action avec
plusieurs
types d'actions qui reviennent (coktail, soirée...), j'ai crée sous vba
une
liste modifiable (cboType) comment je fais pour remplir ma liste quel
est le
code vba?
Merci d'avance pour votre aide.
Cordialement














Avatar
Daniel
Sheets("Feuil1").Range("A1:A10").Select
au lieu de Range("A1:A10").Select
Cordialement.
Daniel
"fabieg" a écrit dans le message de news:

Merci par contre juste un détail je marque ou le nom de la page sur
laquelle ça se réfère car la ça fonctionne que si c'est la bonne feuille
qui est ouverte...
"Daniel" a écrit dans le message de news:
uJYW$
Dans ce cas, utilise la méthode "additem" pour remplir la liste :
Private Sub UserForm_Initialize()
Dim c As Range
Range("A1:A10").Select
For Each c In Selection
If WorksheetFunction.CountIf(Selection, c.Value) = 1 Then
ComboBox1.AddItem c.Value
End If
Next c
End Sub

"fabieg" a écrit dans le message de news:
%23Fx8%
Merci, par contre il y a des valeurs qui reviennent plusieurs fois,
comment éviter les doublons dans la liste déroulante?
"Daniel" a écrit dans le message de news:
u8cIn%
Bonjour.
Si j'ai bien compris, pour remplir ta liste d'après une plage de
cellules :
ComboBox1.RowSource = "Feuil1!A1:A10"
Pour afficher le résultat de la zone de liste :
Range("Feuil2!A1") = ComboBox1.Value
dans le code d'un bouton, par exemple.
Cordialement.
Daniel
"Fabieg" a écrit dans le message de
news:
Bonjour,
j'ai crée un masque de saisie sous vba (pour l'instant sans les codes
justes
les boites) et je voulais savoir pour que les résultats s'affichent
dans une
nouvelle page organisé comment je fais, je dois créer une nouvelle
feuille
sous vba?
J'ai dans mon fichier source une colonne qui s'appelle action avec
plusieurs
types d'actions qui reviennent (coktail, soirée...), j'ai crée sous
vba une
liste modifiable (cboType) comment je fais pour remplir ma liste quel
est le
code vba?
Merci d'avance pour votre aide.
Cordialement


















Avatar
fabieg
Est-ce que je peux utiliser ce code pour une liste?
"Daniel" a écrit dans le message de news:
Oj%
Sheets("Feuil1").Range("A1:A10").Select
au lieu de Range("A1:A10").Select
Cordialement.
Daniel
"fabieg" a écrit dans le message de news:

Merci par contre juste un détail je marque ou le nom de la page sur
laquelle ça se réfère car la ça fonctionne que si c'est la bonne feuille
qui est ouverte...
"Daniel" a écrit dans le message de news:
uJYW$
Dans ce cas, utilise la méthode "additem" pour remplir la liste :
Private Sub UserForm_Initialize()
Dim c As Range
Range("A1:A10").Select
For Each c In Selection
If WorksheetFunction.CountIf(Selection, c.Value) = 1 Then
ComboBox1.AddItem c.Value
End If
Next c
End Sub

"fabieg" a écrit dans le message de news:
%23Fx8%
Merci, par contre il y a des valeurs qui reviennent plusieurs fois,
comment éviter les doublons dans la liste déroulante?
"Daniel" a écrit dans le message de news:
u8cIn%
Bonjour.
Si j'ai bien compris, pour remplir ta liste d'après une plage de
cellules :
ComboBox1.RowSource = "Feuil1!A1:A10"
Pour afficher le résultat de la zone de liste :
Range("Feuil2!A1") = ComboBox1.Value
dans le code d'un bouton, par exemple.
Cordialement.
Daniel
"Fabieg" a écrit dans le message de
news:
Bonjour,
j'ai crée un masque de saisie sous vba (pour l'instant sans les codes
justes
les boites) et je voulais savoir pour que les résultats s'affichent
dans une
nouvelle page organisé comment je fais, je dois créer une nouvelle
feuille
sous vba?
J'ai dans mon fichier source une colonne qui s'appelle action avec
plusieurs
types d'actions qui reviennent (coktail, soirée...), j'ai crée sous
vba une
liste modifiable (cboType) comment je fais pour remplir ma liste quel
est le
code vba?
Merci d'avance pour votre aide.
Cordialement






















Avatar
anonymousA
bonsoir,

pas besoin de selectionner.Ralentit inutilement et permet d'ailleurs de
rentrer les bonnes valeurs tout en restant sur la feuille active

Private Sub UserForm_Initialize()

Dim c As Range,plagesource as range

set plagesource=sheets("toto").Range("A1:A10")
For Each c In plagesource
If WorksheetFunction.CountIf(plagesource, c.Value) = 1 Then
me.ComboBox1.AddItem c.Value
Next c

End Sub

enifn, n'assure pas non pus le tri ce qui est souvent recommandé lors de
la cosntitution de listes.

A+

Dans ce cas, utilise la méthode "additem" pour remplir la liste :
Private Sub UserForm_Initialize()
Dim c As Range
Range("A1:A10").Select
For Each c In Selection
If WorksheetFunction.CountIf(Selection, c.Value) = 1 Then
ComboBox1.AddItem c.Value
End If
Next c
End Sub

"fabieg" a écrit dans le message de news:
%23Fx8%

Merci, par contre il y a des valeurs qui reviennent plusieurs fois,
comment éviter les doublons dans la liste déroulante?
"Daniel" a écrit dans le message de news:
u8cIn%

Bonjour.
Si j'ai bien compris, pour remplir ta liste d'après une plage de cellules
:
ComboBox1.RowSource = "Feuil1!A1:A10"
Pour afficher le résultat de la zone de liste :
Range("Feuil2!A1") = ComboBox1.Value
dans le code d'un bouton, par exemple.
Cordialement.
Daniel
"Fabieg" a écrit dans le message de
news:

Bonjour,
j'ai crée un masque de saisie sous vba (pour l'instant sans les codes
justes
les boites) et je voulais savoir pour que les résultats s'affichent dans
une
nouvelle page organisé comment je fais, je dois créer une nouvelle
feuille
sous vba?
J'ai dans mon fichier source une colonne qui s'appelle action avec
plusieurs
types d'actions qui reviennent (coktail, soirée...), j'ai crée sous vba
une
liste modifiable (cboType) comment je fais pour remplir ma liste quel
est le
code vba?
Merci d'avance pour votre aide.
Cordialement













Avatar
fabieg
Et pour afficher le résultat dans un txtbox d'un autre useform comment
puis-je faire?
Merci de votre aide
"Daniel" a écrit dans le message de news:
u8cIn%
Bonjour.
Si j'ai bien compris, pour remplir ta liste d'après une plage de cellules
:
ComboBox1.RowSource = "Feuil1!A1:A10"
Pour afficher le résultat de la zone de liste :
Range("Feuil2!A1") = ComboBox1.Value
dans le code d'un bouton, par exemple.
Cordialement.
Daniel
"Fabieg" a écrit dans le message de
news:
Bonjour,
j'ai crée un masque de saisie sous vba (pour l'instant sans les codes
justes
les boites) et je voulais savoir pour que les résultats s'affichent dans
une
nouvelle page organisé comment je fais, je dois créer une nouvelle
feuille
sous vba?
J'ai dans mon fichier source une colonne qui s'appelle action avec
plusieurs
types d'actions qui reviennent (coktail, soirée...), j'ai crée sous vba
une
liste modifiable (cboType) comment je fais pour remplir ma liste quel est
le
code vba?
Merci d'avance pour votre aide.
Cordialement






Avatar
Daniel
Oui.
Daniel
"fabieg" a écrit dans le message de news:

Est-ce que je peux utiliser ce code pour une liste?
"Daniel" a écrit dans le message de news:
Oj%
Sheets("Feuil1").Range("A1:A10").Select
au lieu de Range("A1:A10").Select
Cordialement.
Daniel
"fabieg" a écrit dans le message de news:

Merci par contre juste un détail je marque ou le nom de la page sur
laquelle ça se réfère car la ça fonctionne que si c'est la bonne feuille
qui est ouverte...
"Daniel" a écrit dans le message de news:
uJYW$
Dans ce cas, utilise la méthode "additem" pour remplir la liste :
Private Sub UserForm_Initialize()
Dim c As Range
Range("A1:A10").Select
For Each c In Selection
If WorksheetFunction.CountIf(Selection, c.Value) = 1 Then
ComboBox1.AddItem c.Value
End If
Next c
End Sub

"fabieg" a écrit dans le message de news:
%23Fx8%
Merci, par contre il y a des valeurs qui reviennent plusieurs fois,
comment éviter les doublons dans la liste déroulante?
"Daniel" a écrit dans le message de news:
u8cIn%
Bonjour.
Si j'ai bien compris, pour remplir ta liste d'après une plage de
cellules :
ComboBox1.RowSource = "Feuil1!A1:A10"
Pour afficher le résultat de la zone de liste :
Range("Feuil2!A1") = ComboBox1.Value
dans le code d'un bouton, par exemple.
Cordialement.
Daniel
"Fabieg" a écrit dans le message
de news:
Bonjour,
j'ai crée un masque de saisie sous vba (pour l'instant sans les
codes justes
les boites) et je voulais savoir pour que les résultats s'affichent
dans une
nouvelle page organisé comment je fais, je dois créer une nouvelle
feuille
sous vba?
J'ai dans mon fichier source une colonne qui s'appelle action avec
plusieurs
types d'actions qui reviennent (coktail, soirée...), j'ai crée sous
vba une
liste modifiable (cboType) comment je fais pour remplir ma liste
quel est le
code vba?
Merci d'avance pour votre aide.
Cordialement


























Avatar
fabieg
ah mince j'ai essayé ça m'affiche erreur d'éxécution 438: Propriété ou
méthode non gérée par cet objet.
Voilà le code que j'ai mis:

Dim d As Range
Sheets("action").Range ("A2:A11")
For Each d In Selection
If WorksheetFunction.CountIf(Selection, d.Value) = 1 Then
ListAction.AddItem d.Value
End If
Next d
1 2