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 -
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
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
A voir également:
- VBA erreur 424 boject requis
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur t32 ✓ - Forum Livebox
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
3 réponses
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
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
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 :
PS : Run "fichier1!USF2" ne fonctionnera pas, il faut un module :
Run "fichier1!Module1.Macro1"
Cordialement
Patrice
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