Combobox et lancement macro

Résolu
GTA54 Messages postés 414 Date d'inscription   Statut Membre Dernière intervention   -  
GTA54 Messages postés 414 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai besoin de vos lumières sur l'utilisation d'une Combobox. En effet, j'ai créé un Userform avec une Combobox qui se remplit automatiquement en fonction du nom des onglets de mon fichier Excel (nb onglets et nom des onglets aléatoires !!!).

Voici ma macro :

ComboBox4.Clear
For i = 1 To Sheets.Count
ComboBox4.AddItem Sheets(i).Name
Next i

Maintenant j'aimerais qu'en choisissant un nom d'onglet avec mon Combobox, une macro se lance sur l'ONGLET avec le même nom d'onglet choisi.

Exemple :

J'ouvre mon fichier, il comporte 4 onglets nommés "A", "B", "C", "D". Mon Combobox se charge avec les valeurs "A", "B", "C", "D". Jusque là pas de soucis.
Maintenant je dois lancer une macro en fonction de la valeur du Combobox (pour la macro pas de soucis elle fonctionne) Cette macro copier et colle une plage de données, pour exemple on va dire qu'elle copie A1:B5 puis elle le colle dans un autre fichier en B1:C5.
Donc ce que je voudrais c'est que cette macro soit toujours la même mais qu'en fonction du nom de l'onglet, elle récupère les infos sur le même onglet !
Exemple:

Mes 4 onglets sont nommés "A", "B", "C", "D". Grâce au Combobox, je choisis "A", "B", "C"ou"D". Maintenant la macro se lance en fonction du choix. Si je choisis dans mon Combobox "B", le copier coller se fera de la plage A1:B5 de l'onglet B vers mon autre fichier.
Si je choisis "C", le copier coller se fera de la plage A1:B5 de l'onglet C vers mon autre fichier ... ET ainsi de suite.

Est ce que c'est possible ?

Merci d'avance.


A voir également:

1 réponse

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

j'ai compris que les valeurs A1:B5 étaient copiées dans un autre classeur toujours sur le m^me onglet (feuil1 dans l'exemple ci dessous) mais ton explication est ambigüe, donc

Private Sub ComboBox1_Change()
    Workbooks("classeur2").Sheets("feuil1").Range("b1:C5") = Sheets(Trim(ComboBox1)).Range("A1:B5").Value
End Sub

Private Sub UserForm_Initialize()
     'ComboBox1.Clear le contenu du combo se vide dès que l'on quitte l'userform
     For i = 1 To Sheets.Count
          ComboBox1.AddItem Sheets(i).Name
     Next i
End Sub


Michel
0
GTA54 Messages postés 414 Date d'inscription   Statut Membre Dernière intervention   29
 
C'est bon j'ai trouvé comment faire !

Merci de l'explication quand même. :)
0