VBA erreur 424 boject requis

colombe88 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   -  
colombe88 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Amateur en VBA je me heurte sans cesse a de nombreuse difficultés. Ainsi donc voici mon probleme actuel.
j'ai un fichier1 avec un formulaire USF1 qui applique un filtre sur la feuille1 du fichier2. le filtre permet de ne resortir qu'une ligne de la feuille1"ficher2". Ensuite en doublecliquant sur cette ligne j'ouvre le formulaire USF2 situé dans mon fichier1 jusqu'ici tout va bien.. le probleme est le suivant. j'aimerai remplir mon Formulaire USF2 avec les elements de la ligne selectionée. alors j'ai entre le code suivant: qui malheuresement apres "with USf2" m'affiche une erreur code 424 Object requis
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Range("U2").Value = Range("U2").Value + 1
If Target.Column = 1 Then
Cancel = True
Run "fichier1!USF2"
End If
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
With USF2
.TextBox1.Value = Cells(Target.Row, 1).Value
.ComboBox1.Value = Cells(Target.Row, 7).Value
.ComboBox2.Value = Cells(Target.Row, 8).Value
.TextBox5.Value = Cells(Target.Row, 2).Value
.TextBox2.Value = Range("U2").Value
.TextBox2.Value = Range("U2").Value
End With
End Sub

3 réponses

foo
 
Bonjour
Depose ton fichier xls (réduit si nécessaire et anonyme)sur http://www.cjoint.com/ et coller ici le lien fourni.
ca serat plus simple pour voir ton probleme
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

L'erreur vient de :
With USF2
qui n'existe pas dans le fichier 2.

A ma connaissance, il n'est pas possible de référencer un Userform situé dans un autre classeur (par exemple pour le remplir)

Tu dois intégrer la macro d'affichage et de remplissage du USF2 dans le classeur1, dans lequel il est possible de faire référence aux données du classeur 2

Le code du classeur 2 se limite à lancer la macro du classeur 1 qui devient le classeur actif :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
Cancel = True
Run "fichier1!USF2"
End If
End Sub 


PS : Run "fichier1!USF2" ne fonctionnera pas, il faut un module :
Run "fichier1!Module1.Macro1"


Cordialement
Patrice
0
colombe88 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour la precision.. !!!! je m'y remet et tiens le forumau courant..
0