utiliser un userform dans un autre onglet du même classeur

fabancel

XLDnaute Junior
Bonjour le forum.

J'utilise un userform (grâce à vous... merci :)) sur l'onglet "facture fournisseur" de mon projet. je souhaite l'utiliser aussi sur un autre onglet appelé "bon de travail" du même classeur.

Ce userform comporte des filtres qui me permettent de sélectionner un article référencé dans mon "stock", et un bouton "valider" qui me permet de copier sur ma facture les données de l'article sélectionné.

N'arrivant pas à manipuler le bouton (bouton "recherche") lié au userform, j'ai copié et renommé l'onglet.

J'ai donc maintenant deux onglets qui comportent le bouton "recherche" qui active mon userform. Sauf que quand je l'utilise sur l'onglet "bon de travail", au moment de cliquer sur "valider", il copie quand même les données sur l'onglet "facture fournisseur".

J'ai cherché dans le code le nom de la feuille cible pour la modifier, mais je ne le trouve pas. J'ai aussi essayé de créer un deuxième userform mais je n'arrive pas à créer de 2eme bouton pour l'activer et cela ne règle pas le problème du nom de la feuille cible.

J'espère avoir été assez clair. Merci beaucoup de votre aide.

Bonne journée.
 

Pièces jointes

  • userform.xlsm
    53.8 KB · Affichages: 73
  • userform.xlsm
    53.8 KB · Affichages: 45
  • userform.xlsm
    53.8 KB · Affichages: 49

Jacou

XLDnaute Impliqué
Re : utiliser un userform dans un autre onglet du même classeur

Bonjour à tous,
dans le code correspondant à la macro mise en oeuvre quand on clique sur le bouton "Valider", le nom générique Feuil1 correspond à la feuille "facture fournisseur" d'où l'écriture sur cette feuille.

Private Sub CommandButton1_Click()
Dim L As Long, c As Byte

With Feuil1

L = .Range("A30").End(xlUp).Row + 1
For c = 1 To 6
Select Case c
Case 7, 8, 9
.Cells(L, c) = CDbl(Me("Textbox" & c))
Case Else
.Cells(L, c) = Me("Textbox" & c)
End Select
Next c
End With


End Sub

Il faudrait remplacer "Feuil1" par Feuil5 correspondant à la feuille "Stock"

Jacou
 

fabancel

XLDnaute Junior
Re : utiliser un userform dans un autre onglet du même classeur

Re-bonjour.

OK, merci pour cette info.

J'imagine donc qu'il faut créer un deuxième userform avec cette modif.

Sauf que je ne sais pas comment créer ce 2ème userform.

J'ai vu une astuce sur le forum qui consiste a créer un deuxième classeur, à y copier le userform, à le renommer, et à ensuite le copier à nouveau sur le classeur initial. Pouvez-vous me confirmer que c'est la bonne méthode.

Ensuite, je ne sais pas comment créer /gérer le bouton qui appelle ce 2ème userform. Car le bouton "recherche" sur mon onglet "bon de travail", appelle toujours le premier userform.

Merci de votre aide
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : utiliser un userform dans un autre onglet du même classeur

Bonsoir fabancel,

En rajoutant un module Appel avec une variable Public FeuilleAppelante As Worksheet (on aurait pu utiliser un module déjà existant)

En rajoutant dans le code de chaque bouton "rechercher" des feuilles "facture fournisseur" et "bon de travail" l'instruction Set FeuilleAppelante = ActiveSheet

En remplaçant With Feuil1 par With FeuilleAppelante dans le code de bouton "Valider" de l'USF,

ça devrait le faire...
 

Pièces jointes

  • userform v1 .xlsm
    59.6 KB · Affichages: 49

Discussions similaires

Réponses
2
Affichages
299

Statistiques des forums

Discussions
311 721
Messages
2 081 928
Membres
101 842
dernier inscrit
seb0390