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