OVH Cloud OVH Cloud

Copier le contenu d'un combo

8 réponses
Avatar
Linebaker
Bonsoir à vous tous,

J'ai un combo dont je voudrais copier pour être en mesure de coller dans une
celulle. J'ai essayé cela :

If ActiveCell = "" Then
Cbo1.Copy
Range("A1").Select
Cbo1.Paste
...

mais sans succès.

Est-ce que quelqu'un serait capable de m'aider ?

Merci

8 réponses

Avatar
michdenis
Bonsoir LineBaker,

Si je comprends bien ta question, tu voudrais copier le contenu d'un combobox dans une feuille de calcul.

Dans cet exemple,
dans un formulaire (userform), il y a un combobox dont le nom est Combobox1
la propriété RowSource du combobox est définie comme suit : Feuil1!A1:A10

un bouton de commande sur le formulaire pour afficher le résultat.

'----------------------------
Private Sub CommandButton1_Click()

Dim Nb As Long

'Détermine le nombre d'item du combobox
Nb = Me.ComboBox1.ListCount + 1

'Pour copier le contenu du combobox dans la colonne C1:C10
With worksheets("Feuil1")
.Range("C1").Resize(10) = (Me.ComboBox1.List)
End With

'Pour copier le conteu du combobox dans la ligne A15:J15
With worksheets("Feuil1")
.Range("A15").Resize(, 10) = WorksheetFunction.Transpose(Me.ComboBox1.List)
End With

'La fonction Resize permet de redimensionner la plage de cellules
'qui accueillera les données du combobox

'La propriété "List" d'un combobox retourne un tableau(array)
'des données du combobox.

End Sub
'----------------------------


Salutations!


"Linebaker" a écrit dans le message de news: tYbIe.73394$
Bonsoir à vous tous,

J'ai un combo dont je voudrais copier pour être en mesure de coller dans une
celulle. J'ai essayé cela :

If ActiveCell = "" Then
Cbo1.Copy
Range("A1").Select
Cbo1.Paste
...

mais sans succès.

Est-ce que quelqu'un serait capable de m'aider ?

Merci
Avatar
Linebaker
Bonsoir Michdenis,

J'ai modifié ton code pour qu'il fonctionne selon mes données mais sans
succès :

If Cbo1.Value = "165" Then
Nb = Me.Cbo2.ListCount + 1
With Worksheets("Presses")
.Range("c1") = (Me.Cbo2.List)
End With
Workbooks("Test.xls").Activate
Sheets("feuil1").Select
Range("c1").Select
Selection.Cut
Sheets("Feuil2").slect
Range("A1").Select
Descends:
If ActiveCell = "" Then
Selection.Paste
Else
ActiveCell.Offset(7, 0).Select
GoTo Descends
End If
End If

En passant, seule la valeur dans Cbo2 doit être copié dans la Feuil2.

Merci pour ton aide.


"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Si je comprends bien ta question, tu voudrais copier le contenu d'un
combobox dans une feuille de calcul.

Dans cet exemple,
dans un formulaire (userform), il y a un combobox dont le nom est
Combobox1
la propriété RowSource du combobox est définie comme suit : Feuil1!A1:A10

un bouton de commande sur le formulaire pour afficher le résultat.

'----------------------------
Private Sub CommandButton1_Click()

Dim Nb As Long

'Détermine le nombre d'item du combobox
Nb = Me.ComboBox1.ListCount + 1

'Pour copier le contenu du combobox dans la colonne C1:C10
With worksheets("Feuil1")
.Range("C1").Resize(10) = (Me.ComboBox1.List)
End With

'Pour copier le conteu du combobox dans la ligne A15:J15
With worksheets("Feuil1")
.Range("A15").Resize(, 10) =
WorksheetFunction.Transpose(Me.ComboBox1.List)
End With

'La fonction Resize permet de redimensionner la plage de cellules
'qui accueillera les données du combobox

'La propriété "List" d'un combobox retourne un tableau(array)
'des données du combobox.

End Sub
'----------------------------


Salutations!


"Linebaker" a écrit dans le message de news:
tYbIe.73394$
Bonsoir à vous tous,

J'ai un combo dont je voudrais copier pour être en mesure de coller dans
une
celulle. J'ai essayé cela :

If ActiveCell = "" Then
Cbo1.Copy
Range("A1").Select
Cbo1.Paste
...

mais sans succès.

Est-ce que quelqu'un serait capable de m'aider ?

Merci





Avatar
michdenis
Bonsoir LineBaker,

Et si tu m'expliquais ce que tu veux réaliser ...

Est-ce que ton combobox est dans un userform ? sur une feuille de calcul ?

Qu'est-ce que tu veux copier et où ?


Salutations!


"Linebaker" a écrit dans le message de news: CxdIe.73612$
Bonsoir Michdenis,

J'ai modifié ton code pour qu'il fonctionne selon mes données mais sans
succès :

If Cbo1.Value = "165" Then
Nb = Me.Cbo2.ListCount + 1
With Worksheets("Presses")
.Range("c1") = (Me.Cbo2.List)
End With
Workbooks("Test.xls").Activate
Sheets("feuil1").Select
Range("c1").Select
Selection.Cut
Sheets("Feuil2").slect
Range("A1").Select
Descends:
If ActiveCell = "" Then
Selection.Paste
Else
ActiveCell.Offset(7, 0).Select
GoTo Descends
End If
End If

En passant, seule la valeur dans Cbo2 doit être copié dans la Feuil2.

Merci pour ton aide.


"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Si je comprends bien ta question, tu voudrais copier le contenu d'un
combobox dans une feuille de calcul.

Dans cet exemple,
dans un formulaire (userform), il y a un combobox dont le nom est
Combobox1
la propriété RowSource du combobox est définie comme suit : Feuil1!A1:A10

un bouton de commande sur le formulaire pour afficher le résultat.

'----------------------------
Private Sub CommandButton1_Click()

Dim Nb As Long

'Détermine le nombre d'item du combobox
Nb = Me.ComboBox1.ListCount + 1

'Pour copier le contenu du combobox dans la colonne C1:C10
With worksheets("Feuil1")
.Range("C1").Resize(10) = (Me.ComboBox1.List)
End With

'Pour copier le conteu du combobox dans la ligne A15:J15
With worksheets("Feuil1")
.Range("A15").Resize(, 10) > WorksheetFunction.Transpose(Me.ComboBox1.List)
End With

'La fonction Resize permet de redimensionner la plage de cellules
'qui accueillera les données du combobox

'La propriété "List" d'un combobox retourne un tableau(array)
'des données du combobox.

End Sub
'----------------------------


Salutations!


"Linebaker" a écrit dans le message de news:
tYbIe.73394$
Bonsoir à vous tous,

J'ai un combo dont je voudrais copier pour être en mesure de coller dans
une
celulle. J'ai essayé cela :

If ActiveCell = "" Then
Cbo1.Copy
Range("A1").Select
Cbo1.Paste
...

mais sans succès.

Est-ce que quelqu'un serait capable de m'aider ?

Merci





Avatar
Linebaker
Bonsoir Michdenis,

Le tout se trouve dans un userform qui sert à planifier un engin. Je veux
donc utiliser la donnée qui se trouve dans le Cbo2 et l'inscrire dans
l'onglet correspondant au Cbo1. Suite à la copie de la Cbo1 dans la bonne
feuille et la bonne cellule, j'importe les forecast des clients pour
connaître la quantité à produire à tel ou tel date.

"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Et si tu m'expliquais ce que tu veux réaliser ...

Est-ce que ton combobox est dans un userform ? sur une feuille de calcul ?

Qu'est-ce que tu veux copier et où ?


Salutations!


"Linebaker" a écrit dans le message de news:
CxdIe.73612$
Bonsoir Michdenis,

J'ai modifié ton code pour qu'il fonctionne selon mes données mais sans
succès :

If Cbo1.Value = "165" Then
Nb = Me.Cbo2.ListCount + 1
With Worksheets("Presses")
.Range("c1") = (Me.Cbo2.List)
End With
Workbooks("Test.xls").Activate
Sheets("feuil1").Select
Range("c1").Select
Selection.Cut
Sheets("Feuil2").slect
Range("A1").Select
Descends:
If ActiveCell = "" Then
Selection.Paste
Else
ActiveCell.Offset(7, 0).Select
GoTo Descends
End If
End If

En passant, seule la valeur dans Cbo2 doit être copié dans la Feuil2.

Merci pour ton aide.


"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Si je comprends bien ta question, tu voudrais copier le contenu d'un
combobox dans une feuille de calcul.

Dans cet exemple,
dans un formulaire (userform), il y a un combobox dont le nom est
Combobox1
la propriété RowSource du combobox est définie comme suit : Feuil1!A1:A10

un bouton de commande sur le formulaire pour afficher le résultat.

'----------------------------
Private Sub CommandButton1_Click()

Dim Nb As Long

'Détermine le nombre d'item du combobox
Nb = Me.ComboBox1.ListCount + 1

'Pour copier le contenu du combobox dans la colonne C1:C10
With worksheets("Feuil1")
.Range("C1").Resize(10) = (Me.ComboBox1.List)
End With

'Pour copier le conteu du combobox dans la ligne A15:J15
With worksheets("Feuil1")
.Range("A15").Resize(, 10) >> WorksheetFunction.Transpose(Me.ComboBox1.List)
End With

'La fonction Resize permet de redimensionner la plage de cellules
'qui accueillera les données du combobox

'La propriété "List" d'un combobox retourne un tableau(array)
'des données du combobox.

End Sub
'----------------------------


Salutations!


"Linebaker" a écrit dans le message de news:
tYbIe.73394$
Bonsoir à vous tous,

J'ai un combo dont je voudrais copier pour être en mesure de coller dans
une
celulle. J'ai essayé cela :

If ActiveCell = "" Then
Cbo1.Copy
Range("A1").Select
Cbo1.Paste
...

mais sans succès.

Est-ce que quelqu'un serait capable de m'aider ?

Merci










Avatar
michdenis
Bonjour LineBaker,

Désolé, comme je n'ai pas ton application devant les yeux, j'ai de la difficulté à saisir ce que tu veux faire.

Mais le principe est celui-ci pour copier le contenu d'un combobox vers un fichier déjà OUVERT sur une feuille donnée de celui-ci
même si ce fichier n'est pas celui qui contient le formulaire.

Si tu écris ta ligne de code dans le formulaire(userform)
En supposant que ce soit dans un classeur différent.
Workbooks("NomDuClasseur.xls").worksheets("NomDeLaFeuille").Range("AdresseDeLaCellule") = Me.Combobox1.Value

Si c'est dans le même classeur, tu n'as pas à définir le nom du classeur :
worksheets("NomDeLaFeuille").Range("AdresseDeLaCellule") = Me.Combobox1.Value

Tu n'as pas à sélectionner quoi que ce soit pour effectuer la copie ! Est-ce un peu plus clair ?


Salutations!



"Linebaker" a écrit dans le message de news: u0eIe.73618$
Bonsoir Michdenis,

Le tout se trouve dans un userform qui sert à planifier un engin. Je veux
donc utiliser la donnée qui se trouve dans le Cbo2 et l'inscrire dans
l'onglet correspondant au Cbo1. Suite à la copie de la Cbo1 dans la bonne
feuille et la bonne cellule, j'importe les forecast des clients pour
connaître la quantité à produire à tel ou tel date.

"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Et si tu m'expliquais ce que tu veux réaliser ...

Est-ce que ton combobox est dans un userform ? sur une feuille de calcul ?

Qu'est-ce que tu veux copier et où ?


Salutations!


"Linebaker" a écrit dans le message de news:
CxdIe.73612$
Bonsoir Michdenis,

J'ai modifié ton code pour qu'il fonctionne selon mes données mais sans
succès :

If Cbo1.Value = "165" Then
Nb = Me.Cbo2.ListCount + 1
With Worksheets("Presses")
.Range("c1") = (Me.Cbo2.List)
End With
Workbooks("Test.xls").Activate
Sheets("feuil1").Select
Range("c1").Select
Selection.Cut
Sheets("Feuil2").slect
Range("A1").Select
Descends:
If ActiveCell = "" Then
Selection.Paste
Else
ActiveCell.Offset(7, 0).Select
GoTo Descends
End If
End If

En passant, seule la valeur dans Cbo2 doit être copié dans la Feuil2.

Merci pour ton aide.


"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Si je comprends bien ta question, tu voudrais copier le contenu d'un
combobox dans une feuille de calcul.

Dans cet exemple,
dans un formulaire (userform), il y a un combobox dont le nom est
Combobox1
la propriété RowSource du combobox est définie comme suit : Feuil1!A1:A10

un bouton de commande sur le formulaire pour afficher le résultat.

'----------------------------
Private Sub CommandButton1_Click()

Dim Nb As Long

'Détermine le nombre d'item du combobox
Nb = Me.ComboBox1.ListCount + 1

'Pour copier le contenu du combobox dans la colonne C1:C10
With worksheets("Feuil1")
.Range("C1").Resize(10) = (Me.ComboBox1.List)
End With

'Pour copier le conteu du combobox dans la ligne A15:J15
With worksheets("Feuil1")
.Range("A15").Resize(, 10) >> WorksheetFunction.Transpose(Me.ComboBox1.List)
End With

'La fonction Resize permet de redimensionner la plage de cellules
'qui accueillera les données du combobox

'La propriété "List" d'un combobox retourne un tableau(array)
'des données du combobox.

End Sub
'----------------------------


Salutations!


"Linebaker" a écrit dans le message de news:
tYbIe.73394$
Bonsoir à vous tous,

J'ai un combo dont je voudrais copier pour être en mesure de coller dans
une
celulle. J'ai essayé cela :

If ActiveCell = "" Then
Cbo1.Copy
Range("A1").Select
Cbo1.Paste
...

mais sans succès.

Est-ce que quelqu'un serait capable de m'aider ?

Merci










Avatar
Linebaker
Bonjour LineBaker,

Oui, je dois copier la valeur du combobox dans le même classeur que mon
userform dans la Feuil1 cellule A1 si elle est vide. Si non je descends à A8
(activecell.offset(1 ,0).select) pour copier la valeur.

Je travail sur ce petit problème aujourd'hui et je te donne des nouvelles.

Voici le code complet pour cette application :

Public L As Integer

Private Sub ComboBox1_Change()
Dim tabtemp As Variant
Dim L As Integer
With Worksheets("Données")
L = .Range("a5000").End(xlUp).Row
tabtemp = .Range("A2:F" & L).Value
End With
ListBox1.Clear
ListBox2.Clear
ListBox3.Clear
ListBox4.Clear
ListBox5.Clear
If ComboBox1.Value = "" Then Exit Sub

For L = 1 To UBound(tabtemp, 1)
If tabtemp(L, 1) = CLng(ComboBox1.Value) Then
ListBox1.AddItem tabtemp(L, 2)
ListBox2.AddItem tabtemp(L, 5)
ListBox3.AddItem tabtemp(L, 6)
ListBox4.AddItem tabtemp(L, 3)
ListBox5.AddItem tabtemp(L, 4)
End If
Next L
End Sub


Private Sub CmdQuitter_Click()
Unload UsfChercher
UsfMenu.Show
End Sub


Private Sub CmdNvlRech_Click()
ComboBox1.ListIndex = -1

ListBox1.Clear
ListBox2.Clear
ListBox3.Clear
ListBox4.Clear
ListBox5.Clear
End Sub

Private Sub UserForm_Initialize()
Dim nom As New Collection
Dim item
Dim c As Range
Dim L, i As Integer

Workbooks("Planification aux presses.xls").Activate
With Worksheets("Données")
L = .Range("a5000").End(xlUp).Row
On Error Resume Next
For Each c In .Range("a2:a" & L)
nom.Add c.Value, CStr(c.Value)
Next c
On Error GoTo 0
End With

For i = 1 To nom.Count
ComboBox1.AddItem nom.item(i)
Next i
End Sub

Merci pour le temps que tu m'accorde.


"michdenis" a écrit dans le message de news:

Bonjour LineBaker,

Désolé, comme je n'ai pas ton application devant les yeux, j'ai de la
difficulté à saisir ce que tu veux faire.

Mais le principe est celui-ci pour copier le contenu d'un combobox vers un
fichier déjà OUVERT sur une feuille donnée de celui-ci
même si ce fichier n'est pas celui qui contient le formulaire.

Si tu écris ta ligne de code dans le formulaire(userform)
En supposant que ce soit dans un classeur différent.
Workbooks("NomDuClasseur.xls").worksheets("NomDeLaFeuille").Range("AdresseDeLaCellule")
= Me.Combobox1.Value

Si c'est dans le même classeur, tu n'as pas à définir le nom du classeur :
worksheets("NomDeLaFeuille").Range("AdresseDeLaCellule") =
Me.Combobox1.Value

Tu n'as pas à sélectionner quoi que ce soit pour effectuer la copie !
Est-ce un peu plus clair ?


Salutations!



"Linebaker" a écrit dans le message de news:
u0eIe.73618$
Bonsoir Michdenis,

Le tout se trouve dans un userform qui sert à planifier un engin. Je veux
donc utiliser la donnée qui se trouve dans le Cbo2 et l'inscrire dans
l'onglet correspondant au Cbo1. Suite à la copie de la Cbo1 dans la bonne
feuille et la bonne cellule, j'importe les forecast des clients pour
connaître la quantité à produire à tel ou tel date.

"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Et si tu m'expliquais ce que tu veux réaliser ...

Est-ce que ton combobox est dans un userform ? sur une feuille de calcul
?

Qu'est-ce que tu veux copier et où ?


Salutations!


"Linebaker" a écrit dans le message de news:
CxdIe.73612$
Bonsoir Michdenis,

J'ai modifié ton code pour qu'il fonctionne selon mes données mais sans
succès :

If Cbo1.Value = "165" Then
Nb = Me.Cbo2.ListCount + 1
With Worksheets("Presses")
.Range("c1") = (Me.Cbo2.List)
End With
Workbooks("Test.xls").Activate
Sheets("feuil1").Select
Range("c1").Select
Selection.Cut
Sheets("Feuil2").slect
Range("A1").Select
Descends:
If ActiveCell = "" Then
Selection.Paste
Else
ActiveCell.Offset(7, 0).Select
GoTo Descends
End If
End If

En passant, seule la valeur dans Cbo2 doit être copié dans la Feuil2.

Merci pour ton aide.


"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Si je comprends bien ta question, tu voudrais copier le contenu d'un
combobox dans une feuille de calcul.

Dans cet exemple,
dans un formulaire (userform), il y a un combobox dont le nom est
Combobox1
la propriété RowSource du combobox est définie comme suit :
Feuil1!A1:A10

un bouton de commande sur le formulaire pour afficher le résultat.

'----------------------------
Private Sub CommandButton1_Click()

Dim Nb As Long

'Détermine le nombre d'item du combobox
Nb = Me.ComboBox1.ListCount + 1

'Pour copier le contenu du combobox dans la colonne C1:C10
With worksheets("Feuil1")
.Range("C1").Resize(10) = (Me.ComboBox1.List)
End With

'Pour copier le conteu du combobox dans la ligne A15:J15
With worksheets("Feuil1")
.Range("A15").Resize(, 10) >>> WorksheetFunction.Transpose(Me.ComboBox1.List)
End With

'La fonction Resize permet de redimensionner la plage de cellules
'qui accueillera les données du combobox

'La propriété "List" d'un combobox retourne un tableau(array)
'des données du combobox.

End Sub
'----------------------------


Salutations!


"Linebaker" a écrit dans le message de news:
tYbIe.73394$
Bonsoir à vous tous,

J'ai un combo dont je voudrais copier pour être en mesure de coller dans
une
celulle. J'ai essayé cela :

If ActiveCell = "" Then
Cbo1.Copy
Range("A1").Select
Cbo1.Paste
...

mais sans succès.

Est-ce que quelqu'un serait capable de m'aider ?

Merci















Avatar
michdenis
Bonjour LineBaker,

Je n'ai pas vraiment saisi toute la portée de ta question Mais :

With worksheets("Feuil1").
If .range("A1") = "" then
.Range("A1") = Me.Combobox1.Value
Else
.Range("A8") = Me.Combobox1.Value
end if
End With


Cherches-tu autre chose ?


Salutations!


"Linebaker" a écrit dans le message de news: tYlIe.1738$
Bonjour LineBaker,

Oui, je dois copier la valeur du combobox dans le même classeur que mon
userform dans la Feuil1 cellule A1 si elle est vide. Si non je descends à A8
(activecell.offset(1 ,0).select) pour copier la valeur.

Je travail sur ce petit problème aujourd'hui et je te donne des nouvelles.

Voici le code complet pour cette application :

Public L As Integer

Private Sub ComboBox1_Change()
Dim tabtemp As Variant
Dim L As Integer
With Worksheets("Données")
L = .Range("a5000").End(xlUp).Row
tabtemp = .Range("A2:F" & L).Value
End With
ListBox1.Clear
ListBox2.Clear
ListBox3.Clear
ListBox4.Clear
ListBox5.Clear
If ComboBox1.Value = "" Then Exit Sub

For L = 1 To UBound(tabtemp, 1)
If tabtemp(L, 1) = CLng(ComboBox1.Value) Then
ListBox1.AddItem tabtemp(L, 2)
ListBox2.AddItem tabtemp(L, 5)
ListBox3.AddItem tabtemp(L, 6)
ListBox4.AddItem tabtemp(L, 3)
ListBox5.AddItem tabtemp(L, 4)
End If
Next L
End Sub


Private Sub CmdQuitter_Click()
Unload UsfChercher
UsfMenu.Show
End Sub


Private Sub CmdNvlRech_Click()
ComboBox1.ListIndex = -1

ListBox1.Clear
ListBox2.Clear
ListBox3.Clear
ListBox4.Clear
ListBox5.Clear
End Sub

Private Sub UserForm_Initialize()
Dim nom As New Collection
Dim item
Dim c As Range
Dim L, i As Integer

Workbooks("Planification aux presses.xls").Activate
With Worksheets("Données")
L = .Range("a5000").End(xlUp).Row
On Error Resume Next
For Each c In .Range("a2:a" & L)
nom.Add c.Value, CStr(c.Value)
Next c
On Error GoTo 0
End With

For i = 1 To nom.Count
ComboBox1.AddItem nom.item(i)
Next i
End Sub

Merci pour le temps que tu m'accorde.


"michdenis" a écrit dans le message de news:

Bonjour LineBaker,

Désolé, comme je n'ai pas ton application devant les yeux, j'ai de la
difficulté à saisir ce que tu veux faire.

Mais le principe est celui-ci pour copier le contenu d'un combobox vers un
fichier déjà OUVERT sur une feuille donnée de celui-ci
même si ce fichier n'est pas celui qui contient le formulaire.

Si tu écris ta ligne de code dans le formulaire(userform)
En supposant que ce soit dans un classeur différent.
Workbooks("NomDuClasseur.xls").worksheets("NomDeLaFeuille").Range("AdresseDeLaCellule")
= Me.Combobox1.Value

Si c'est dans le même classeur, tu n'as pas à définir le nom du classeur :
worksheets("NomDeLaFeuille").Range("AdresseDeLaCellule") > Me.Combobox1.Value

Tu n'as pas à sélectionner quoi que ce soit pour effectuer la copie !
Est-ce un peu plus clair ?


Salutations!



"Linebaker" a écrit dans le message de news:
u0eIe.73618$
Bonsoir Michdenis,

Le tout se trouve dans un userform qui sert à planifier un engin. Je veux
donc utiliser la donnée qui se trouve dans le Cbo2 et l'inscrire dans
l'onglet correspondant au Cbo1. Suite à la copie de la Cbo1 dans la bonne
feuille et la bonne cellule, j'importe les forecast des clients pour
connaître la quantité à produire à tel ou tel date.

"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Et si tu m'expliquais ce que tu veux réaliser ...

Est-ce que ton combobox est dans un userform ? sur une feuille de calcul
?

Qu'est-ce que tu veux copier et où ?


Salutations!


"Linebaker" a écrit dans le message de news:
CxdIe.73612$
Bonsoir Michdenis,

J'ai modifié ton code pour qu'il fonctionne selon mes données mais sans
succès :

If Cbo1.Value = "165" Then
Nb = Me.Cbo2.ListCount + 1
With Worksheets("Presses")
.Range("c1") = (Me.Cbo2.List)
End With
Workbooks("Test.xls").Activate
Sheets("feuil1").Select
Range("c1").Select
Selection.Cut
Sheets("Feuil2").slect
Range("A1").Select
Descends:
If ActiveCell = "" Then
Selection.Paste
Else
ActiveCell.Offset(7, 0).Select
GoTo Descends
End If
End If

En passant, seule la valeur dans Cbo2 doit être copié dans la Feuil2.

Merci pour ton aide.


"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Si je comprends bien ta question, tu voudrais copier le contenu d'un
combobox dans une feuille de calcul.

Dans cet exemple,
dans un formulaire (userform), il y a un combobox dont le nom est
Combobox1
la propriété RowSource du combobox est définie comme suit :
Feuil1!A1:A10

un bouton de commande sur le formulaire pour afficher le résultat.

'----------------------------
Private Sub CommandButton1_Click()

Dim Nb As Long

'Détermine le nombre d'item du combobox
Nb = Me.ComboBox1.ListCount + 1

'Pour copier le contenu du combobox dans la colonne C1:C10
With worksheets("Feuil1")
.Range("C1").Resize(10) = (Me.ComboBox1.List)
End With

'Pour copier le conteu du combobox dans la ligne A15:J15
With worksheets("Feuil1")
.Range("A15").Resize(, 10) >>> WorksheetFunction.Transpose(Me.ComboBox1.List)
End With

'La fonction Resize permet de redimensionner la plage de cellules
'qui accueillera les données du combobox

'La propriété "List" d'un combobox retourne un tableau(array)
'des données du combobox.

End Sub
'----------------------------


Salutations!


"Linebaker" a écrit dans le message de news:
tYbIe.73394$
Bonsoir à vous tous,

J'ai un combo dont je voudrais copier pour être en mesure de coller dans
une
celulle. J'ai essayé cela :

If ActiveCell = "" Then
Cbo1.Copy
Range("A1").Select
Cbo1.Paste
...

mais sans succès.

Est-ce que quelqu'un serait capable de m'aider ?

Merci















Avatar
Linebaker
Bonjour Michdenis,

C'est exactement cela : comment copier le contenu d'un combo dans une
cellule particulière.

MERCI.


"michdenis" a écrit dans le message de news:
%
Bonjour LineBaker,

Je n'ai pas vraiment saisi toute la portée de ta question Mais :

With worksheets("Feuil1").
If .range("A1") = "" then
.Range("A1") = Me.Combobox1.Value
Else
.Range("A8") = Me.Combobox1.Value
end if
End With


Cherches-tu autre chose ?


Salutations!


"Linebaker" a écrit dans le message de news:
tYlIe.1738$
Bonjour LineBaker,

Oui, je dois copier la valeur du combobox dans le même classeur que mon
userform dans la Feuil1 cellule A1 si elle est vide. Si non je descends à
A8
(activecell.offset(1 ,0).select) pour copier la valeur.

Je travail sur ce petit problème aujourd'hui et je te donne des nouvelles.

Voici le code complet pour cette application :

Public L As Integer

Private Sub ComboBox1_Change()
Dim tabtemp As Variant
Dim L As Integer
With Worksheets("Données")
L = .Range("a5000").End(xlUp).Row
tabtemp = .Range("A2:F" & L).Value
End With
ListBox1.Clear
ListBox2.Clear
ListBox3.Clear
ListBox4.Clear
ListBox5.Clear
If ComboBox1.Value = "" Then Exit Sub

For L = 1 To UBound(tabtemp, 1)
If tabtemp(L, 1) = CLng(ComboBox1.Value) Then
ListBox1.AddItem tabtemp(L, 2)
ListBox2.AddItem tabtemp(L, 5)
ListBox3.AddItem tabtemp(L, 6)
ListBox4.AddItem tabtemp(L, 3)
ListBox5.AddItem tabtemp(L, 4)
End If
Next L
End Sub


Private Sub CmdQuitter_Click()
Unload UsfChercher
UsfMenu.Show
End Sub


Private Sub CmdNvlRech_Click()
ComboBox1.ListIndex = -1

ListBox1.Clear
ListBox2.Clear
ListBox3.Clear
ListBox4.Clear
ListBox5.Clear
End Sub

Private Sub UserForm_Initialize()
Dim nom As New Collection
Dim item
Dim c As Range
Dim L, i As Integer

Workbooks("Planification aux presses.xls").Activate
With Worksheets("Données")
L = .Range("a5000").End(xlUp).Row
On Error Resume Next
For Each c In .Range("a2:a" & L)
nom.Add c.Value, CStr(c.Value)
Next c
On Error GoTo 0
End With

For i = 1 To nom.Count
ComboBox1.AddItem nom.item(i)
Next i
End Sub

Merci pour le temps que tu m'accorde.


"michdenis" a écrit dans le message de news:

Bonjour LineBaker,

Désolé, comme je n'ai pas ton application devant les yeux, j'ai de la
difficulté à saisir ce que tu veux faire.

Mais le principe est celui-ci pour copier le contenu d'un combobox vers
un
fichier déjà OUVERT sur une feuille donnée de celui-ci
même si ce fichier n'est pas celui qui contient le formulaire.

Si tu écris ta ligne de code dans le formulaire(userform)
En supposant que ce soit dans un classeur différent.
Workbooks("NomDuClasseur.xls").worksheets("NomDeLaFeuille").Range("AdresseDeLaCellule")
= Me.Combobox1.Value

Si c'est dans le même classeur, tu n'as pas à définir le nom du classeur
:
worksheets("NomDeLaFeuille").Range("AdresseDeLaCellule") >> Me.Combobox1.Value

Tu n'as pas à sélectionner quoi que ce soit pour effectuer la copie !
Est-ce un peu plus clair ?


Salutations!



"Linebaker" a écrit dans le message de news:
u0eIe.73618$
Bonsoir Michdenis,

Le tout se trouve dans un userform qui sert à planifier un engin. Je veux
donc utiliser la donnée qui se trouve dans le Cbo2 et l'inscrire dans
l'onglet correspondant au Cbo1. Suite à la copie de la Cbo1 dans la bonne
feuille et la bonne cellule, j'importe les forecast des clients pour
connaître la quantité à produire à tel ou tel date.

"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Et si tu m'expliquais ce que tu veux réaliser ...

Est-ce que ton combobox est dans un userform ? sur une feuille de calcul
?

Qu'est-ce que tu veux copier et où ?


Salutations!


"Linebaker" a écrit dans le message de news:
CxdIe.73612$
Bonsoir Michdenis,

J'ai modifié ton code pour qu'il fonctionne selon mes données mais sans
succès :

If Cbo1.Value = "165" Then
Nb = Me.Cbo2.ListCount + 1
With Worksheets("Presses")
.Range("c1") = (Me.Cbo2.List)
End With
Workbooks("Test.xls").Activate
Sheets("feuil1").Select
Range("c1").Select
Selection.Cut
Sheets("Feuil2").slect
Range("A1").Select
Descends:
If ActiveCell = "" Then
Selection.Paste
Else
ActiveCell.Offset(7, 0).Select
GoTo Descends
End If
End If

En passant, seule la valeur dans Cbo2 doit être copié dans la Feuil2.

Merci pour ton aide.


"michdenis" a écrit dans le message de news:

Bonsoir LineBaker,

Si je comprends bien ta question, tu voudrais copier le contenu d'un
combobox dans une feuille de calcul.

Dans cet exemple,
dans un formulaire (userform), il y a un combobox dont le nom est
Combobox1
la propriété RowSource du combobox est définie comme suit :
Feuil1!A1:A10

un bouton de commande sur le formulaire pour afficher le résultat.

'----------------------------
Private Sub CommandButton1_Click()

Dim Nb As Long

'Détermine le nombre d'item du combobox
Nb = Me.ComboBox1.ListCount + 1

'Pour copier le contenu du combobox dans la colonne C1:C10
With worksheets("Feuil1")
.Range("C1").Resize(10) = (Me.ComboBox1.List)
End With

'Pour copier le conteu du combobox dans la ligne A15:J15
With worksheets("Feuil1")
.Range("A15").Resize(, 10) >>>> WorksheetFunction.Transpose(Me.ComboBox1.List)
End With

'La fonction Resize permet de redimensionner la plage de cellules
'qui accueillera les données du combobox

'La propriété "List" d'un combobox retourne un tableau(array)
'des données du combobox.

End Sub
'----------------------------


Salutations!


"Linebaker" a écrit dans le message de news:
tYbIe.73394$
Bonsoir à vous tous,

J'ai un combo dont je voudrais copier pour être en mesure de coller
dans
une
celulle. J'ai essayé cela :

If ActiveCell = "" Then
Cbo1.Copy
Range("A1").Select
Cbo1.Paste
...

mais sans succès.

Est-ce que quelqu'un serait capable de m'aider ?

Merci