VBA Selection feuille à partir d'une combobox
dedemx
Messages postés
8
Statut
Membre
-
Submin Messages postés 463 Statut Membre -
Submin Messages postés 463 Statut Membre -
Bonjour le forum, Bonjour aux gentils bienfaiteurs qui pourront m'aider.
Ceci est mon 1er post (excuser mes erreurs de syntaxes ou autres).
Je vous explique la situation, cela fait maintenant 1mois - 1 mois et demis que je me suis mis au VBA, en autodidacte, à base de longue lecture de forum, mais là, je suis face à un cas délicat (ou pas...) enfin quoi qu'il en soit je ne trouve pas de solution d'ou mon post.
Alors voilà, j'ai créé un petit formulaire afin de rentrer des données dans une feuille..jusqu'à là rien d'extraordinaire.
Dans ce formulaire il y a une ComboBox, et je voudrai qu'en fonction de la selection de cette ComboBox VBA copie les données dans telle ou telle feuille.
ex:
-combobox 1 = tralala qd je clique sur valider (apres avoir remplie toute les autres données du formulaire) les données seront copiées sur la feuille tralala
-combobox 1 = popol qd je clique sur valider (apres avoir remplie toute les autres données du formulaire) les données seront copiées sur la feuille popol
Etc...
Merci de vos réponses
Ceci est mon 1er post (excuser mes erreurs de syntaxes ou autres).
Je vous explique la situation, cela fait maintenant 1mois - 1 mois et demis que je me suis mis au VBA, en autodidacte, à base de longue lecture de forum, mais là, je suis face à un cas délicat (ou pas...) enfin quoi qu'il en soit je ne trouve pas de solution d'ou mon post.
Alors voilà, j'ai créé un petit formulaire afin de rentrer des données dans une feuille..jusqu'à là rien d'extraordinaire.
Dans ce formulaire il y a une ComboBox, et je voudrai qu'en fonction de la selection de cette ComboBox VBA copie les données dans telle ou telle feuille.
ex:
-combobox 1 = tralala qd je clique sur valider (apres avoir remplie toute les autres données du formulaire) les données seront copiées sur la feuille tralala
-combobox 1 = popol qd je clique sur valider (apres avoir remplie toute les autres données du formulaire) les données seront copiées sur la feuille popol
Etc...
Merci de vos réponses
A voir également:
- VBA Selection feuille à partir d'une combobox
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
- Créer une icone à partir d'une image - Guide
- Feuille de score belote excel - Forum Excel
4 réponses
Bonjour,
J'ai peut etre pas compris exactement la question.
Voici ce que je te propose et tu me donnerais plus d'indication
Sheets(1).Cells(1,1) = ComboBox1.Value
Cela ne fonctionne pas?
il va de sois qu'il faut rajouter toutes les autres cases de ton formulaire et tu met une condition If qui vérifie si tous les champs de ton formulaire sont rempli avant de copier ça dans le tableau ou sinon un petit Msgbox pour dire que les champs ne sont pas remplis...
Veux tu que je te donne un exemple complet? ou c'était seulement la synthaxe pour le combobox que tu souhaitais?
J'ai peut etre pas compris exactement la question.
Voici ce que je te propose et tu me donnerais plus d'indication
Sheets(1).Cells(1,1) = ComboBox1.Value
Cela ne fonctionne pas?
il va de sois qu'il faut rajouter toutes les autres cases de ton formulaire et tu met une condition If qui vérifie si tous les champs de ton formulaire sont rempli avant de copier ça dans le tableau ou sinon un petit Msgbox pour dire que les champs ne sont pas remplis...
Veux tu que je te donne un exemple complet? ou c'était seulement la synthaxe pour le combobox que tu souhaitais?
Bonjour,
Serait-ce plutôt ça ton besoin ?
Cdt
Lupin
Serait-ce plutôt ça ton besoin ?
Option Explicit
Private Sub cmd_Quitter_Click()
Unload Me
End Sub
Private Sub ComboBox1_Change()
Dim NomFle As String
NomFle = ComboBox1.Text
Sheets(NomFle).Range("A1").Value = TextBox1.Text
End Sub
Private Sub UserForm_Activate()
InitCombo
End Sub
Public Sub InitCombo()
UserForm1.ComboBox1.AddItem ("tralala")
UserForm1.ComboBox1.AddItem ("popol")
End Sub
'
Cdt
Lupin
@ submin
ton idée de: Sheets("1").Cells(1,1) = ComboBox1.Value
ne marchait pas, j'ai remplacé par sheets().range()=CBox.value
et c'était bon
du coup j'ai quelque chose comme ca
est il possible de lié les "if" ou je serai obliger de répéter l'operation pour le nombre de feuille que je dois lier ?
ton idée de: Sheets("1").Cells(1,1) = ComboBox1.Value
ne marchait pas, j'ai remplacé par sheets().range()=CBox.value
et c'était bon
du coup j'ai quelque chose comme ca
if sheets("Code").range("A2")= ComboBox1.value then
Sheets("bd1").Select
Rows("4:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'navire
Range("bd1!a4").Value = ComboBox1.Value
ComboBox1 = Application.CutCopyMode
ComboBox1 = ""
end if
if sheets("Code").range("A3")= ComboBox1.value then
Sheets("bd2").Select
Rows("4:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'navire
Range("bd2!a4").Value = ComboBox1.Value
ComboBox1 = Application.CutCopyMode
ComboBox1 = ""
end if
est il possible de lié les "if" ou je serai obliger de répéter l'operation pour le nombre de feuille que je dois lier ?
Essai cela avec les déclaration de variable qui vont bien...
Je ne suis pas du tout certain que ça marche pour le : Range("bd" & i & "!a4"). mais pour le reste ça devrait marcher sans problème... du moins j'espère, je ne suis pas chez moi pour tester donc possible qu'il y ai quelque erreur que je vais regarder plus profondement cette après midi
Je ne suis pas du tout certain que ça marche pour le : Range("bd" & i & "!a4"). mais pour le reste ça devrait marcher sans problème... du moins j'espère, je ne suis pas chez moi pour tester donc possible qu'il y ai quelque erreur que je vais regarder plus profondement cette après midi
for i=1 to sheets.Count - 1
'alors petite explication, j'ai mis -1 car je suppose que tu ne veux pas sélectionner ta feuille "code"
if sheets("Code").range("A" & i + 1 & "")= ComboBox1.value then
Sheets("bd" & i & "").Select
Rows("4:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'navire
Range("bd" & i & "!a4").Value = ComboBox1.Value
ComboBox1 = Application.CutCopyMode
ComboBox1 = ""
end if
next i