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 -
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.
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:
- Combobox et lancement macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
1 réponse
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
Michel
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
Merci de l'explication quand même. :)