lancer une procedure située dans usf1 a partir d'un bouton dans usf2

didierschmit

XLDnaute Nouveau
bonsoir
tout est dit dans l'intitule

je cherche la syntaxe
j'ai essayé userform1.maprocedure mais cela ne marche pas ?

:confused:

merci
 

skoobi

XLDnaute Barbatruc
Re : lancer une procedure située dans usf1 a partir d'un bouton dans usf2

Bonsoir,
as-tu essayé simplement:

maprocedure

sinon déplace (si ça ne perturbe pas) la macro dans un module et là ça doit marcher.

Edit: bonsoir excalibur, ce n'est pas ce qu'il demande si j'ai bien compris.
 

Spitnolan08

XLDnaute Barbatruc
Re : lancer une procedure située dans usf1 a partir d'un bouton dans usf2

Bonsoir le fil,

Malheureusement tout est loin d'être dit dans ton titre... Pour preuve :
Voir la réponse de Excalibur et la mienne

Tout simplement avec
Code:
maprocedure
Cordialement

Edit : Pas vu Skoobi. En tout cas il n'y a que 2 avis pour l'instant...
 

Spitnolan08

XLDnaute Barbatruc
Re : lancer une procedure située dans usf1 a partir d'un bouton dans usf2

Re,

Je ne pense pas qu'avec les informations lapidaires que tu consens à nous donner on puisse t'aider.
Je pensais pourtant t'avoir prévenu dans mon précédent post...

Il faudrait déjà que tu fasses un effort sur la syntaxe de ta demande:rolleyes:

Cordialement
 

skoobi

XLDnaute Barbatruc
Re : lancer une procedure située dans usf1 a partir d'un bouton dans usf2

Re, salut Spitnolan08,
A mon avis tu devrais t'arranger pour mettre maprocedure dans un module.

Edit: tu me le sort de la bouche Spit (si tu permet le diminutif :D)
 

didierschmit

XLDnaute Nouveau
Re : lancer une procedure située dans usf1 a partir d'un bouton dans usf2

bon
A partir du USF1 , via un bouton , j'ouvre le USF2 et je saisie des infos dans les textbox que contient le usf2.
dans le USF2 , j'ai un bouton, qui ferme le usf2 et lance la procedure "MAPROCEDURE" qui se trouve dans le usf1 qui à besoir des valeurs qui ont ete saisies dans les textbox du USF2.

c'est donc à l'appel de MAPROCEDURE que cela coince .
:confused:
 

excalibur

XLDnaute Impliqué
Re : lancer une procedure située dans usf1 a partir d'un bouton dans usf2

re le fil comme le dit l ami Spitnolan08 il faut etre tres explicite
peut etre comme cela .hide pas obligatoire
a+
 

Pièces jointes

  • Classeur1.zip
    11.6 KB · Affichages: 57
  • Classeur1.zip
    11.6 KB · Affichages: 57
  • Classeur1.zip
    11.6 KB · Affichages: 58

skoobi

XLDnaute Barbatruc
Re : lancer une procedure située dans usf1 a partir d'un bouton dans usf2

Test ceci:

Dans "MAPROCEDURE" (que tu auras mis dans un module) tu y mets:

variable = usf2.textbox1.value
variable2 = usf2.textbox2.value


Dans ton bouton de usf2:

blablabla
maprocedure
unload usf2

maprocedure doit absolument ce trouver avant de fermer usf2 (ça je pense que tu le sais).
 

Spitnolan08

XLDnaute Barbatruc
Re : lancer une procedure située dans usf1 a partir d'un bouton dans usf2

Re,
le fichier n'est tout à fait representatif du probleme.
Personnellement, j'ai passé l'age de jouer aux devinettes... Alors si tu voulais bien nous joindre ton fichier...Avant d'aller te coucher!

Cordialement

Edit : Tiens salut Carcharodon!:) Tu lui as fait peur: il est parti se coucher;)
 
Dernière édition:

Excel_lent

XLDnaute Impliqué
Re : lancer une procedure située dans usf1 a partir d'un bouton dans usf2

Bonsoir Didier, à tous et aux autres,

Et ainsi (sachant que pour conserver les saisies de l'USF2 il ne faut pas le fermer mais le cacher) ?

 

Pièces jointes

  • USFliés.zip
    11.1 KB · Affichages: 52

didierschmit

XLDnaute Nouveau
Re : lancer une procedure située dans usf1 a partir d'un bouton dans usf2

bonjour à tous
voila le code de MAPROCEDURE
ELLE se trouve dans le USERFORM1
Code:
Sub MAPROCEDURE(valeurs) 
'on affecte une valeur de point venant des textbox du userform2 
Dim fligne, n, m, x, temp1, temp2, temp3, temp4
Dim liste As Collection
'Dim Valeurs(1 To 10)
'Dim iiii As Integer
'fligne = Range("B6").End(xlDown).Row + 1 'lit les pronos
'Range("B" & fligne & ":IV" & fligne + 6).ClearContents
'les valeurs sont à recuperer dans le userform2 à partir des textbox

'valeurs = Sheets("liste").Range("G2:G11") 'les valeurs des points affdecte aux  positions a faire le transfert des textboxe



Set liste = New Collection
For n = 6 To Sheets("synthese").Range("B65536").End(xlUp).Row
 For m = 2 To Cells(n, 256).End(xlToLeft).Column
   On Error Resume Next
     liste.Add Cells(n, m), CStr(Cells(n, m))
   On Error GoTo 0
 Next m
Next n
'ligne = Range("B65536").End(xlUp).Row + 3
Dim tablo()
ReDim tablo(liste.Count, 4)
For n = 1 To liste.Count
 tablo(n, 1) = liste(n)
Next n
For n = 6 To Sheets("synthese").Range("B65536").End(xlUp).Row
 For m = 2 To Cells(n, 256).End(xlToLeft).Column
   For x = 1 To liste.Count
     If tablo(x, 1) = Cells(n, m) Then
       tablo(x, 2) = tablo(x, 2) + 1
       tablo(x, 3) = tablo(x, 3) & CStr(m - 1) & " "
       tablo(x, 4) = tablo(x, 4) + valeurs(m - 1) 'valeurs(m - 1, 1)
     End If
   Next x
 Next m
Next n

For n = 1 To liste.Count
 For m = n + 1 To liste.Count
   If tablo(n, 4) < tablo(m, 4) Then
     temp1 = tablo(n, 1)
     temp2 = tablo(n, 2)
     temp3 = tablo(n, 3)
     temp4 = tablo(n, 4)
     tablo(n, 2) = tablo(m, 2)
     tablo(n, 1) = tablo(m, 1)
     tablo(n, 3) = tablo(m, 3)
     tablo(n, 4) = tablo(m, 4)
     tablo(m, 2) = temp2
     tablo(m, 1) = temp1
     tablo(m, 3) = temp3
     tablo(m, 4) = temp4
   End If
 Next m
Next n
'ligne = Range("B65536").End(xlUp).Row + 3
For n = 1 To liste.Count
 Sheets("synthese").Cells(2, 1 + n) = tablo(n, 1) 'affiche les chx retenus par la sythese dans la feuille synthese
 'Cells(ligne + 1, 1 + n) = tablo(n, 2)
 'Cells(ligne + 2, 1 + n) = tablo(n, 3)
 'Cells(ligne + 3, 1 + n) = tablo(n, 4) 'affiche les point obtenus par les chx

Next n
'recopie le resultat de la synthese de la feuille "synthese" dans la feuille resultat à partie de F à U , nombre classe du plus petit au plus grand

Sheets("résultat").Range("F" & ir & ":U" & ir).Value = Sheets("synthese").Range("B2:T2").Value
Sheets("résultat").Range("A" & ir).Value = indexcourse '

End Sub



Le code qui ouvre le userform2 a partir du bouton qui se trouve dans le USERFORM1
Code:
Private Sub OptionButton5_Click()
Load UserForm2 
UserForm2.Show 
End Sub


le code envoyé par un COmmandbutton situe dans le USERFOM2 qui renvoi vers le userform1 en appelant MAPROCEDURE sans fermer le USERFORM2.

Code:
Private Sub CommandButton1_Click()

Dim valeurs(1 To 10)
    Dim i As Integer
    
    For i = 1 To 10
        valeurs(i) = Controls("textbox" & i).Value
    Next i
    UserForm1.synthesetest (valeurs)

UserForm2.Hide '
End Sub



ET enfin les texbox qui se trouve dans le USERFORM2 dont je dois recuperer les valeurs dans MAPROCEDURE

Code:
Private Sub UserForm_Initialize() 'valeur par defaut
TextBox1.Value = 50
TextBox2.Value = 30
TextBox3.Value = 15
TextBox4.Value = 5
TextBox5.Value = 1
TextBox6.Value = 1
TextBox7.Value = 1
TextBox8.Value = 5
TextBox9.Value = 2
TextBox10.Value = 1
End Sub



:cool:
 

Discussions similaires

Réponses
21
Affichages
444

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22