Combobox et lancement macro

Résolu/Fermé
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 - 5 juin 2013 à 09:30
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 - 5 juin 2013 à 11:50
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 5/06/2013 à 10:38
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 jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
5 juin 2013 à 11:50
C'est bon j'ai trouvé comment faire !

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