Bonjour,
Je m'initie à la programmation VBA alors j'ai créé une petite macro qui copie la feuille d'un classeur fermé et la colle dans autre classeur ouvert( où est exécuter la macro). Jusqu'ici tout va bien et tout marche bien.
Voilà où commence les problèmes, je voulu améliorer cette macro en affichant une fenêtre au debut qui permettrait de choisir quel feuille du classeur à copier.
Mon problème actuel est que je n'arrive pas à récupérer la sélection de la ListBox pour ainsi la stocker dans une variable.
Quelqu'un peut-il m'aider ?
Voici ma macro
Voici mon le code mon Userform
Je m'initie à la programmation VBA alors j'ai créé une petite macro qui copie la feuille d'un classeur fermé et la colle dans autre classeur ouvert( où est exécuter la macro). Jusqu'ici tout va bien et tout marche bien.
Voilà où commence les problèmes, je voulu améliorer cette macro en affichant une fenêtre au debut qui permettrait de choisir quel feuille du classeur à copier.
Mon problème actuel est que je n'arrive pas à récupérer la sélection de la ListBox pour ainsi la stocker dans une variable.
Quelqu'un peut-il m'aider ?
Voici ma macro
VB:
Public Sub MiseàJour()
'Prépare 2 objets
Dim ClasseurFerme As Object
Dim FeuilleFermee As Object
Dim nom_feuilleFermee As String
Dim ws As Worksheet
'Affecte le classeur à l'objet
Set ClasseurFerme = GetObject("F:\TAFF du 04_12_2017\Recurring info.xlsx")
UserForm1.Show
Do While rep_ok = False
nom_feuilleFerme = ListBox1.SelectedItem.ToString()
'Parcours l'ensemble des feuilles du classeur
For Each ws In ClasseurFerme.Worksheets
If ws.Name = nom_feuilleFerme Then
Set FeuilleFermee = ws
rep_ok = True
End If
Next
If rep_ok = False Then
MsgBox "Nom de feuille introuvable", vbInformation, "Oupss!"
End If
Loop
'puis la feuille
'Set FeuilleFermee = ClasseurFerme.Worksheets("nom_feuilleFerme")
'Copie une plage
FeuilleFermee.Range("A2:AA500").Copy
'et la colle dans la feuille active (Classeur contenant la macro)
ActiveSheet.Range("A2:AA500").Select
ActiveSheet.Paste
'Libère les variables
Set FeuilleFermee = Nothing
Set ClasseurFerme = Nothing
End Sub
Voici mon le code mon Userform
VB:
Private Sub UserForm_Initialize()
With Me.ListBox1
.AddItem "Table Operateurs"
.AddItem "Country"
.AddItem "Operateur Simplifie"
.AddItem "Bioss Rate Plan"
.AddItem "Table OPE Interco DF"
End With
End Sub
Private Sub OKButton_Click()
Dim SelectedItems As String
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
SelectedItems = SelectedItems & ListBox1.List(i) & vbNewLine
End If
Next i
If SelectedItems = "" Then
MsgBox "Nothing selected"
Else
MsgBox "Selected Items: " & vbNewLine & SelectedItems
End If
Unload UserForm1
End Sub