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
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? -
Bonjour,
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
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 midifor 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