VBA: Combobox coller valeur dans onglet sélectionné

Bonjour à tous,

J'espère que l'un d'entre vous pourra m'aider à résoudre ce problème:

Dans l'onglet "Feuil1", j'ai une combobox et le menu déroulant va de "Sem1" à "Sem52". Ces noms correspondent aussi aux nom des onglets suivants. Suivant la sélection de l'utilisateur, je voudrais copier coller des valeurs de l'onglet "Feuil1" vers l'onglet sélectionné dans le menu déroulant. J'ai drafté un début de code mais l'idée serait bien entendu de ne pas répéter ma IF condition 52 fois ! J'imagine que je devrais déterminer une variable de type "dim i as integer" avec "for i = 1 to 52" mais je ne sais pas vraiment comment faire.

Merci pour votre aide.

Dim cmbx As ComboBox

Set cmbx = Sheets("Sheet1").ComboBox1

If cmbx.Text = "Sem1" Then

Sheets("Sheet1").Select

Range("c41:c42").Select

Selection.Copy

Sheets("Sem1").Select

Range("p34").Select

Selection.PasteSpecial Paste:=xlPasteValues

salut

Sheets(ComboBox1.Value).Select

Bonjour Amir,

Bonne idée mais la condition If cmbx.text=combox.value n'est pas reconnue et c'est elle qui détermine dans quel onglet coller les données. Peux-tu affiner le code stp.

un grand merci

Dim cmbx As ComboBox

Set cmbx = Sheets("Sheet1").ComboBox1

If cmbx.Text = ComboBox.Value Then

Sheets("Sheet1").Select

Range("c41:c42").Select

Selection.Copy

Sheets(ComboBox.Value).Select

Range("u34").Select

Selection.PasteSpecial Paste:=xlPasteValues

Else

Dim cmbx As ComboBox

Set cmbx = Sheets("Sheet1").ComboBox1

Sheets("Sheet1").Select

Range("c41:c42").Select

Selection.Copy

Sheets(ComboBox.Value).Select

Range("u34").Select

Selection.PasteSpecial Paste:=xlPasteValues

vous n avez pas besoin d un condition le code va aller directement et sellectionner la feuille

VBA signale alors une erreur d'exécution 424 : objet requis sur la ligne Sheets(ComboBox.Value).Select

J'ai également essayé avec Sheets(ComboBox1.Value).Select mais rien n'y fait

Merci d'avance pour des pistes de réflexion

SALUT

JE NE SAI PAS SI TU A BIEN INSÉRER LA LISTE DÉROULANTE ET QUE TU A BIEN LIER AVEC LE CODE MAIS SUIVRE CE EXEMPLE

VOUS DEVEZ CHOISIR UN NOM QUI EXISTE ET CORRECT

VOUS POUVEZ RÉSOUDRE LE PROBLÈME DE NOM APRÈS

44classeur2.xlsm (15.48 Ko)

Bonjour Amir,

Dans mon fichier excel, la combobox est un bouton déroulant ActiveX et n'est donc pas lié à une cellule. Je ne peux donc pas déterminer gf= sheets("A").Range("E15").value car aucune cellule n'est lié à la liste déroulante.

Merci pour tes conseils.

SALUT

NORMALEMENT TU PEUX LE LIER VOIR ===> propreités des bouton je pense double clic sur le boutons

oubien avec une macros ou vous m'envoyer ton fichier ou un extrait de ton fichier

Salut Amir

J'ai eu la solution qui est la suivante

Merci d'avoir pris le temps de m'aider la-dessus;)

Dim cmbx As ComboBox

Set cmbx = Sheets("sheet1").ComboBox1

Sheets("sheet1").Range("c41:c42").Copy

Sheets(cmbx.Text).Range("u34").PasteSpecial Paste:=xlPasteValues

Bonjour

ce code devrait suffire pour ce que tu veux faire.

With ActiveSheet: .Range("c41:c42").Copy Sheets(.ComboBox1.Value).Range("p34:p35"): End With
Rechercher des sujets similaires à "vba combobox coller valeur onglet selectionne"